[gelöst] Heating Control mit Devolo/Danfoss Thermostaten?

Begonnen von Ronaldo, 01 Dezember 2016, 21:50:10

Vorheriges Thema - Nächstes Thema

Dietmar63

Kannst du den Code posten, wie du Heating_Control_SetTemp (... ) aufrufst
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Ronaldo

Einmal aus dem HeatingControl.Aktivator([HeizungsAutomatik] eq "on") (Heating_Control_SetAllTemps(),set teleBot message Heizungsautomatik aktiv!) DOELSE (set Heizungsventile thermostatSetpointSet 17.0,set teleBot message Heizungsautomatik deaktiviert!)
dann einmal aus dem Eco-Mode.Aktivator ([HeizungsAbsenkung] eq "on") ({ecomode}) DOELSE ({Heating_Control_SetAllTemps()})
und aus dem Fensterstatus ([Terrassentuer] eq "open") (set Thermostat_WZ thermostatSetpointSet 11) DOELSE (Heating_Control_SetTemp("Heizung_WZ")).
Getestet habe ich bisher aber immer nur mit dem HeatingControl.Aktivator und Fensterstatus.

Dietmar63

Heating_Control_SetTemp("Heizung_WZ") ist Perlcode.
Der muss in DOIF bestimmt immer in {} geschrieben werden, so wie du es im Eco-Mode.Aktivator  gemacht hast.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Ronaldo

Wohoo, Dietmar, ich danke dir, genaus so ist es.
Nun tuts genau wie es soll. :)

Dietmar63

Durch die Diskussion über schalten vergangener Definitionen bin ich auf eine neue Idee gebracht worden Heizungen/Thermostate einfacher und universeller  zu erkennen.

Die Änderung läuft bei mir und ich checke in Kürze ein.
Für ZWAVE benötige ich nur das auszuführende Kommando.

Es scheint mehrere Möglichkeiten zu geben :

setpointHeating ...

Bitte Möglichkeiten posten

Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Ronaldo

Sorry, habe seit dem es gelöst war nicht mehr reingeschaut...

Es gibt "setpointHeating", "setpointCooling" und "thermostatSetpointSet" (welches ich ausschließlich benutze).
setpointHeating und thermostatSetpointSet scheinen das gleiche zu bewirken. Vermutlich weil das Thermostat (Danfoss devolo Thermostat MT2650) als thermostatSetpointSupported ein "heating" ausgibt. Ich weiß nicht, ob es noch spezielle Kühlthermostaten gibt, bei denen dann analog zu diesem der Parameter setpointCooling greift (der scheint bei mir nichts zu bewirken).

Dietmar63

Kannst du mir Beispiele für die jeweiligen Aufrufe schicken
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Ronaldo

Ja, aber leider erst ab dem 29.12., vorher bin ich nicht mehr zu hause.
Ein schönes Weihnachtsfest wünsche ich bis dahin. :)

Ronaldo

Ging doch schon eher... :)

Also, wie gesagt diese drei Befehle gibt es:
set Thermostat_WZ setpointCooling 23
set Thermostat_WZ setpointHeating 21
set Thermostat_WZ thermostatSetpointSet 18.0

Wobei setpointHeating und setpointCooling nur als ganze Zahlen gehen, thermostatSetpointSet auch mit Nachkommastellen.
Allerdings führen nur setpointHeating und thermostatSetpointSet bei mir auch zum Setzen der Solltemperatur, setpointCooling tut das nicht; vermutlich weil es das Reading thermostatSetpointSupported, welches mir ausschließlich ein "heating" liefert, gibt; weswegen ich vermute, dass es da u.U. auch Thermostate speziell fürs Kühlen geben könnte.

Dietmar63

bitte mal probieren ob zwave jetzt erkannt wird.
Übrigens zwave wird über desired-temp geschaltet.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Ronaldo

#25
Zitat von: Dietmar63 am 27 Dezember 2016, 23:35:34
bitte mal probieren ob zwave jetzt erkannt wird.
Übrigens zwave wird über desired-temp geschaltet.
Sorry, dass ich mich erst jetzt melde...
Meinst du jetzt das Schalten der Z-wave-Komponenten via Heating_Control_SetTemp("HC-Device") bzw. Heating_Control_SetAllTemps()?
Das funktioniert nun (zumindest letzteres (das Aus- und wieder Einschalten via AutomatikAktivator und Ecomode funzt), wenn ich im HC statt des "{fhem("set $NAME thermostatSetpointSet $EVENT")} ein {Heating_Control_SetTemp("Thermostat_Bad")} eintrage scheint es nicht zu klappen)...

Beim Testen des Eco-Modes ist mir allerdings was aufgefallen...
Es gibt wohl doch einen Unterschied zwischen SetpointHeating und ThermostatSetpointSet.
Man kann im Thermostat selbst auch ein Zeitprogramm hinterlegen. Dieses Änderungen werden mit relativen Temparaturen zu dem offenbar dafür gesetzten SetpointHeating realisiert (also wenn der SetpointHeating z.B. bei 21° liegt und ich will über Nacht 18 haben, dann sage ich dem Zeitprogramm im Thermostat meinetwegen 22:00 Uhr: -3). ThermostatSetpointSet scheint höher priorisiert als SetpointHeating (der Wert bleibt nämlich trotzdem im Thermostat erhalten). Aufgefallen ist mir das ganze, weil der Eco-Mode sich nämlich auf den Wert von SetpointHeating bezieht.

Was mir im Zuge dessen aufgefallen ist: Kann man nur einen Fensterkontakt pro HC definieren?
Denn wenn ich dort zwei, mit Komma oder Semikolon getrennt eintrage, dann verlinkt er mir nur den ersten zum entsprechenden Device...

Dietmar63

Zitat
Was mir im Zuge dessen aufgefallen ist: Kann man nur einen Fensterkontakt pro HC definieren?
Denn wenn ich dort zwei, mit Komma oder Semikolon getrennt eintrage, dann verlinkt er mir nur den ersten zum entsprechenden Device...

Ich meine es funktioniert eine Liste.

HC sollte ZWAVE automatisch erkennen. Ich musste die Änderung aber wieder zurückziehen - ist noch nicht in Ordnung.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Ronaldo

#27
Zitat von: Ronaldo am 31 Dezember 2016, 11:07:34
Meinst du jetzt das Schalten der Z-wave-Komponenten via Heating_Control_SetTemp("HC-Device") bzw. Heating_Control_SetAllTemps()?
Das funktioniert nun (zumindest letzteres (das Aus- und wieder Einschalten via AutomatikAktivator und Ecomode funzt), wenn ich im HC statt des "{fhem("set $NAME thermostatSetpointSet $EVENT")} ein {Heating_Control_SetTemp("Thermostat_Bad")} eintrage scheint es nicht zu klappen)...
Muss mich diesbezüglich übrigens korrigieren, habe ja in dem DOIF vom Fensterstatus auch das "Heating_Control_SetTemp("Heizung_Bad")" drin und dort schaltet es sauber zurück.

//Edit: im DOIF des Fensterkontaktes funktionierts im HC nicht... :/
Hattes du es deswegen zurückgezogen?

Zitat von: Dietmar63 am 27 Dezember 2016, 23:35:34
Übrigens zwave wird über desired-temp geschaltet.
Woher hast du die Info (rein interessehalber)?

Zitat von: Dietmar63 am 31 Dezember 2016, 12:57:59
Ich meine es funktioniert eine Liste.
Wenn ich beide mit Komma trenne, dann erkennt er nur den ersten als vorhandenes Device (wird von FHEM dann ja verlinkt), wenn ich sie mit Leerzeichen oder Semikolon trenne, keines von beiden... :/

Dietmar63

Zurück gezogen, weil es Fehler verursacht hat.

Die Info kam von Rudi

Ich sehe nochmal nach wie die Trennung aussehen muss
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Dietmar63

Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm