Danfoss Thermostat Wochenplan

Begonnen von Lost144, 29 Oktober 2017, 14:00:40

Vorheriges Thema - Nächstes Thema

Lost144

Hallo,

ich hätte mal eine kleine Anfängerfrage, die bestimmt hier schon öfters diskutiert worden ist.
Ist es möglich, mit dem Heating Control ein Danfoss Thermostat per Wochenplan zu steuern?
Ich habe die Anleitung befolgt, aber leider schaltet das Thermostat nicht.
https://wiki.fhem.de/wiki/Heating_Control

Vielen Dank für eure Hilfe für ein Neuling.

Mit freundlichen Grüßen

amenomade

Was hast Du schon gemacht, und was funktioniert nicht?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Lost144

Hallo,

Ich habe wie auf der Seite beschrieben dort die Funktion für mein Thermostat angelegt:

define HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal("HCAutomatik", "state", "") eq "on")
attr HCB alias Bad
attr HCB group Heizplan
attr HCB room Heizung

Und anschließend ein Dummy zum ein- und ausschalten:

define HCAutomatik dummy
attr HCAutomatik alias Heizungsautomatik
attr HCAutomatik devStateIcon on:general_an off:general_aus
attr HCAutomatik group Automatik
attr HCAutomatik icon sani_heating_automatic
attr HCAutomatik room Heizung
attr HCAutomatik sortby 1
attr HCAutomatik webCmd on:off


Der Heizplan ist aktiv und die Uhrzeiten für die nächste Schaltung mit entsprechendem Value zeigt er auch richtig an.
Leider schaltet das Thermostat nicht. Daher die Frage, ob die Zeile hier  (ReadingsVal("HCAutomatik", "state", "") eq "on") bei einem Danfoss Thermostat funktioniert.

amenomade

ZitatDaher die Frage, ob die Zeile hier  (ReadingsVal("HCAutomatik", "state", "") eq "on") bei einem Danfoss Thermostat funktioniert.
Ja, das funktioniert auf jeden Fall, da nicht vom Thermostat abhängig. Damit wird nur das Modul Heating_Control abhängig vom Dummy in/ausser Kraft gesetzt. Das wäre die <condition>
Was dir aber fehlt ist evtl. die <command>. Mit welchen Befhele steuerst Du dein Danfoss Thermostat? "set <thermostat> 22"? "set <thermostat> desired-temp 22"?



Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Lost144

Vielen Dank für deine Hilfe und schnelle antwort!

Hier einmal AUszug von meinem Befehlen:

Dabei heißt mein Thermostat: ZWave_THERMOSTAT_3

define Wohnzimmer_plan Heating_Control ZWave_THERMOSTAT_3 0123456|16:00|22  0123456|22:30|17 (ReadingsVal("HCAutomatik ", "state", "off") eq "on")
attr Wohnzimmer_plan alias Wohnzimmer
attr Wohnzimmer_plan group Heizplan
attr Wohnzimmer_plan room Wohnzimmer


define HCAutomatikdummy
attr HCAutomatik  alias Heizungsautomatik
attr HCAutomatik  devStateIcon on:general_an off:general_aus
attr HCAutomatik  group Automatik
attr HCAutomatik  icon sani_heating_automatic
attr HCAutomatik  room Wohnzimmer
attr HCAutomatik  sortby 1
attr HCAutomatik  webCmd on:off

amenomade

Nochmal die Frage:
ZitatMit welchen Befhele steuerst Du dein Danfoss Thermostat? "set ZWave_THERMOSTAT_3 22"? "set ZWave_THERMOSTAT_3 desired-temp 22"?
Und funktioniert es? So lange nicht, bringt ein Heating_Control nichts. Das Modul Heating_Control macht nichts anderes als die Befehle mit entspr. Temperaturen bei den gewünschten Uhrzeiten zu senden.

Ein "list ZWave_THERMOSTAT_3" (im Kommandofeld) wäre vielleicht hilfreich.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Lost144

Hier die Ausgabe:
Internals:
   DEF        e085812e 3
   IODev      ZWDongle_0
   LASTInputDev ZWDongle_0
   MSGCNT     9431
   NAME       ZWave_THERMOSTAT_3
   NR         26
   STATE      wakeupInterval 86400 1
   STILLDONETIME 0
   TYPE       ZWave
   ZWDongle_0_MSGCNT 9431
   ZWDongle_0_RAWMSG 00040003028407
   ZWDongle_0_TIME 2017-11-02 11:35:12
   ZWaveSubDevice no
   homeId     e085812e
   isWakeUp   1
   lastMsgSent 1509618914.22535
   nodeIdHex  03
   READINGS:
     2017-10-26 17:53:24   CMD             ZW_APPLICATION_UPDATE
     2017-11-02 11:35:12   battery         66 %
     2017-11-02 11:35:12   ccsOverride     no, unused
     2017-09-15 10:20:17   model           Danfoss Z Thermostat 014G0013
     2017-09-15 10:20:17   modelConfig     danfoss/z.xml
     2017-09-15 10:20:17   modelId         0002-0005-0004
     2017-11-02 11:35:12   setpointTemp    16.50 C heating
     2017-09-15 10:20:14   state           wakeupInterval 86400 1
     2017-11-02 11:35:14   timeToAck       0.027
     2017-11-02 11:35:14   transmit        OK
     2017-11-02 11:35:12   wakeup          notification
     2017-09-19 18:51:44   wakeupReport    interval 300 target 1
Attributes:
   IODev      ZWDongle_0
   classes    BATTERY CLIMATE_CONTROL_SCHEDULE CLOCK MANUFACTURER_SPECIFIC MULTI_CMD PROTECTION THERMOSTAT_SETPOINT VERSION WAKE_UP MARK CLIMATE_CONTROL_SCHEDULE CLOCK MULTI_CMD
   icon       hc_wht_regler
   room       Wohnzimmer

Vielen Dank für deine Hilfe.

amenomade

Also... normalerweise kannst Du dein Thermostat mitset ZWave_THERMOSTAT_3 desired-temp 20steuern. Ist das richtig?

Wenn ja, brauchst Du tatsächlich kein "command" in der DEF. Allerdings... ich bin kein ZWave Spezialist, aber

ZitatSTATE      wakeupInterval 86400 1
Bedeutet es, dass dein Thermostat nur jede 24. Stunde "awake" wird? Damit wir Heating_Control nicht viel steuern können.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

tomspatz

so läuft das nicht

HC ist eigentlich relativ dumm es kann nur die Zahlen oder "spezielle Befehle" desired usw. ausführen und dieses kann das Danfoss nicht.
Nur mal als Beispiel:
Dummy zum Temperatur einstellen in der WEB:
defmod HeizungReglerKueche dummy
attr HeizungReglerKueche alias Heizung Küche
attr HeizungReglerKueche group Heizung & Temperatur
attr HeizungReglerKueche icon sani_heating_manual
attr HeizungReglerKueche room Küche,System
attr HeizungReglerKueche setList state:4.00,4.50,5.00,5.50,6.00,6.50,7.00,7.50,8.00,8.50,9.00,9.50,10.00,10.50,11.00,11.50,12.00,12.50,13.00,13.50,14.00,14.50,15.00,15.50,16.00,16.50,17.00,17.50,18.00,18.50,19.00,19.50,20.00,20.50,21.00,21.50,22.00,22.50,23.00,23.50,24.00,24.50,25.00,25.50,26.00,26.50,27.00,27.50,28
attr HeizungReglerKueche stateFormat {sprintf(" %.1f °C",(ReadingsNum("HeizungReglerKueche","state",0)))}
attr HeizungReglerKueche webCmd state


dieser wird mit einem DOIF abgefangen:
defmod HeizungReglerDOIFKueche DOIF ([ThermostatKueche:"wakeup"] and [HeizungReglerKueche:state] ne [ThermostatKueche:setpointTemp:d]) (set ThermostatKueche thermostatSetpointSet [HeizungReglerKueche]) DOELSE()
attr HeizungReglerDOIFKueche group Heizung Einstellungen
attr HeizungReglerDOIFKueche room Steuerung-Heizung


Mit deinem HC bedienst du NUR den Dummy.
Rest hast du ja schon.

LG
Tom

tomspatz

Zitat2017-09-19 18:51:44   wakeupReport    interval 300 target 1
Das ist ganz schön lang.
Damit reagiert das Danfoss ja ca. alle 5 Minuten. Ist allerdings auch ANsichtssache.

LG
Tom

amenomade

#10
Zitat von: tomspatz am 02 November 2017, 17:35:43
so läuft das nicht

HC ist eigentlich relativ dumm es kann nur die Zahlen oder "spezielle Befehle" desired usw. ausführen und dieses kann das Danfoss nicht.

Aber laut CommandRef:
ZitatThe new temperature is sent to the <device> automatically with

set <device> (desired-temp|desiredTemperature) <temp>

Because of the fhem-type of structures, a structures of heating sinks is sent "desired-temp":
und bei ZWave:
Zitatclass THERMOSTAT_SETPOINT
desired-temp value
same as thermostatSetpoint, used to make life easier for helper-modules
Sollte dann doch funktionieren oder? Mit den Klassen, die er hat, sollte set xxx desired-temp unterstützt sein. Bisher hat sich leider Lost144 verweigert, das Kommando zu verraten, womit er sein Thermostat steuert.

Na gut. Wenn aber das Thermostat nur auf set xxx thermostatSetpointSet reagiert, ist deine Lösung natürlich gut!
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

Zitat von: tomspatz am 02 November 2017, 17:38:54
Das ist ganz schön lang.
Damit reagiert das Danfoss ja ca. alle 5 Minuten. Ist allerdings auch ANsichtssache.

LG
Tom

Hast Recht. Das hatte ich nicht gesehen. Mich hat nur das "state" irritiert.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

@tomspatz: Man braucht übrigens kein Dummy. Man kann auch so machen:

defmod HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 {set $NAME thermostatSetpointSet $EVENT if (ReadingsVal("HCAutomatik", "state", "") eq "on")}

@Lost144: übrigens. Welchen Wert hat im Moment HCAutomatik? ;)

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

tomspatz

#13
@amenomade

den dummy nutze ich in der web zum manuellen Temperatur einstellen. "for WAF only", wurde allerdings seitdem auch nicht mehr benutzt, aber es ist immer ein manuelles Eingreifen möglich.

@Lost144
bitte code tags nutzen.  (das # im Editor über den Smilies)  ;)

LG
Tom

Lost144

#14
Zitat von: tomspatz am 02 November 2017, 17:38:54
Das ist ganz schön lang.
Damit reagiert das Danfoss ja ca. alle 5 Minuten. Ist allerdings auch ANsichtssache.

LG
Tom

Ich habe mal im Wiki gelesen, dass alle 5 Minuten sinnvoll wären bezüglich Batterie verbrauch.
Welches Intervall schlägst du mir denn vor?


Zitat von: amenomade am 02 November 2017, 17:43:43
Aber laut CommandRef:und bei ZWave:Sollte dann doch funktionieren oder? Mit den Klassen, die er hat, sollte set xxx desired-temp unterstützt sein. Bisher hat sich leider Lost144 verweigert, das Kommando zu verraten, womit er sein Thermostat steuert.

Na gut. Wenn aber das Thermostat nur auf set xxx thermostatSetpointSet reagiert, ist deine Lösung natürlich gut!

Ich glaube, hier ist mein Problem. Mehr habe ich nicht definiert. Welches Kommando benötige ich denn noch?