Thermostat HM-CC-RT-DN Wochenplan erstellen

Begonnen von Mundus, 27 Dezember 2016, 22:40:30

Vorheriges Thema - Nächstes Thema

Mundus

Guten Abend,

der Weihnachtsmann war sehr fleißig und hat mir eine CCU2 und ein Thermostat HM-CC-RT-DN gebracht.
Die CCU2 habe ich dank des Moduls HMCCU bereits eingebunden und das Thermostat als HMCCUDEV.

Das Thermostat lässt sich wie gewünscht über den Kanal 4 http://www.eq-3.de/Downloads/eq3/download%20bereich/hm_web_ui_doku/hm_devices_Endkunden.pdf einstellen. Ich kann u.a. die Modi tauschen.

Nunmehr möchte ich den Wochenplan über FHEM anpassen. Das gelingt mir nicht, da ich diese Parameter (wie beschrieben!) nicht über Kanal 4 und die aufgeführten DataPoints verändern kann.

Meine Hoffnung war es, über
set <thermostat> config ENDTIME_<WEEKDAY>_[1..13] 420
den Wochenplan anzupassen.
Leider klappt das nicht  :(.

Natürlich habe ich schon recherchiert und bin über verschiedene Einträge gestolpert, habe aber nicht die Lösung gefunden.

Sofern ich meine Ergebnisse richtig zusammenfasse, wird der obige Befehl set ... config in eine Warteschlange geschrieben. Damit die Warteschlange abgearbeitet wird, muss das Device in den Anlernmodus.

Geht das über FHEM oder nur direkt am Device? Über die CCU2 kann ich Einstellungen zwar vornehmen, aber das ist nicht meine Lösung. Mache ich einen Gedankenfehler?

Viele Grüße


Mundus

krikan

ZitatMeine Hoffnung war es, über
set <thermostat> control ENDTIME_<WEEKDAY>_[1..13] 420
den Wochenplan anzupassen.
Leider klappt das nicht  :(.
Hilfreich sind häufig weitere Infos wie Log, Fehlermeldungen,..

ZitatDie CCU2 habe ich dank des Moduls HMCCU bereits eingebunden und das Thermostat als HMCCUDEV.
Habe zwar keine Ahnung von CCU2, HMCCU und HMCCUDEV, aber beim kurzen Blick in die commandref (Anleitung) finde ich keinen (set-)Befehl "control":
https://fhem.de/commandref.html#HMCCU
https://fhem.de/commandref.html#HMCCUDEV
Auch im Wiki finde ich nichts zum Befehl "control":
https://wiki.fhem.de/wiki/HMCCU
https://wiki.fhem.de/wiki/HMCCU_Best_Practice
https://wiki.fhem.de/wiki/HMCCUDEV
Übersehe ich etwas oder hast Du eine andere Fassung im Einsatz?

Gruß, Christian

Steffen@Home

Hallo Mundus,

ich bin kein Profi aber ich wollte dir meine(auch kopierte) Funktion nicht vorenthalten, vielleicht hilft dir das was.

ich habe folgenden Code für meine Thermostate in der 99_myUtils.pm kopiert:

######## Wohnzimmer Thermostat Temperatur setzen ########
#Nach dem Speichern das Thermostat aktualisieren mit dem Kommando: --> {SetTempList_WZ_Thermostat}
########
sub
SetTempList_WZ_Thermostat()
{
{ fhem ("set WZ_Thermostat_Clima tempListMon prep 04:30 17.0 06:00 23.0 16:00 17.0 22:00 21.0 24:00 17.0")};
{ fhem ("set WZ_Thermostat_Clima tempListTue prep 04:30 17.0 06:00 23.0 16:00 17.0 22:00 21.0 24:00 17.0")};
{ fhem ("set WZ_Thermostat_Clima tempListWed prep 04:30 17.0 06:00 23.0 16:00 17.0 22:00 21.0 24:00 17.0")};
{ fhem ("set WZ_Thermostat_Clima tempListThu prep 04:30 17.0 06:00 23.0 16:00 17.0 22:00 21.0 24:00 17.0")};
{ fhem ("set WZ_Thermostat_Clima tempListFri prep 04:30 17.0 06:00 23.0 16:00 17.0 22:00 21.0 24:00 17.0")};
{ fhem ("set WZ_Thermostat_Clima tempListSat prep 08:00 17.0 11:30 21.0 18:00 17.0 22:00 21.0 24:00 17.0")};
{ fhem ("set WZ_Thermostat_Clima tempListSun exec 08:00 17.0 11:30 21.0 18:00 17.0 22:00 21.0 24:00 17.0")};
}


danach kann ich mit {SetTempList_WZ_Thermostat} es an den Thermostat senden der nach kurzer Zeit die Programmänderung speichert. Den Anlernmodus setze ich dabei nicht!
Pi 1 - FHEM, HM-MOD-RPI-PCB, HM-RT-CC-DN, HM-WDS10-TH-O, HM-Sec-SCo, HM-LC-Sw1PBU-FM, Relais Platine für ext. Ansteuerung, LD382 Wifi LED Controller, DHT
Pi 2 - Kamera, DHT
Pi 3 - FHEM2, Grafana, DHT, Magnet-Sensoren, Relais-Platine

Mundus

Zitat von: krikan am 28 Dezember 2016, 08:40:25
Habe zwar keine Ahnung von CCU2, HMCCU und HMCCUDEV, aber beim kurzen Blick in die commandref (Anleitung) finde ich keinen (set-)Befehl "control":
https://fhem.de/commandref.html#HMCCU
https://fhem.de/commandref.html#HMCCUDEV
Auch im Wiki finde ich nichts zum Befehl "control":
https://wiki.fhem.de/wiki/HMCCU
https://wiki.fhem.de/wiki/HMCCU_Best_Practice
https://wiki.fhem.de/wiki/HMCCUDEV
Übersehe ich etwas oder hast Du eine andere Fassung im Einsatz?

Gruß, Christian
Hallo Christian,
da hat sich de Fehlerteufel eingeschlichen... Ich meinte den Befehl "config".
Der Befehl "control" ist als webCmd bei mir eingefügt und steuert über das Attribut controldatapoint den Befehl "set <Thermostat> datapoint 4.SET_TEMPERATURE [3.5..30.5]".

Meinen ersten Beitrag editiere ich entsprechend.
Der (aus meiner Sicht entsprechende ) LOG sieht so aus:

2016.12.28 14:19:03 4: WEB_IP_40726 POST /fhem&detail=KuecheThermostat&dev.setKuecheThermostat=KuecheThermostat&cmd.setKuecheThermostat=set&arg.setKuecheThermostat=config&val.setKuecheThermostat=ENDTIME_FRIDAY_1+300; BUFLEN:0
2016.12.28 14:19:03 5: Cmd: >set KuecheThermostat config ENDTIME_FRIDAY_1 300<
2016.12.28 14:19:03 5: Triggering KuecheThermostat (1 changes)
2016.12.28 14:19:03 5: Starting notify loop for KuecheThermostat, 1 event(s), first is config ENDTIME_FRIDAY_1 300
2016.12.28 14:19:03 5: testBattStatus: not on any display, ignoring notify
2016.12.28 14:19:03 4: WEB_IP_40726 GET /fhem?detail=KuecheThermostat&fw_id=; BUFLEN:0
2016.12.28 14:19:03 4: name: /fhem?detail=KuecheThermostat&fw_id= / RL:15500 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2016.12.28 14:19:04 4: WEB_IP_40726 GET /fhem?cmd={ReadingsVal(%22KuecheThermostat%22,%22control%22,%22%22)}&XHR=1; BUFLEN:0
2016.12.28 14:19:04 5: Cmd: >{ReadingsVal("KuecheThermostat","control","")}<
2016.12.28 14:19:04 4: name: /fhem?cmd={ReadingsVal(%22KuecheThermostat%22,%22control%22,%22%22)}&XHR=1 / RL:25 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2016.12.28 14:19:04 4: Connection accepted from WEB_IP_40728
2016.12.28 14:19:04 4: WEB_IP_40728 GET /fhem?cmd={AttrVal(%22KuecheThermostat%22,%22room%22,%22%22)}&XHR=1; BUFLEN:0
2016.12.28 14:19:04 5: Cmd: >{AttrVal("KuecheThermostat","room","")}<
2016.12.28 14:19:04 4: name: /fhem?cmd={AttrVal(%22KuecheThermostat%22,%22room%22,%22%22)}&XHR=1 / RL:30 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2016.12.28 14:19:04 4: WEB_IP_40726 GET /fhem?XHR=1&inform=type=status;filter=KuecheThermostat;since=1482931142;fmt=JSON&fw_id=139×tamp=1482931144219; BUFLEN:0



ZitatSofern ich meine Ergebnisse richtig zusammenfasse, wird der obige Befehl set ... control in eine Warteschlange geschrieben. Damit die Warteschlange abgearbeitet wird, muss das Device in den Anlernmodus.
In dem LOG steht
Zitat2016.12.28 14:19:03 5: Triggering KuecheThermostat (1 changes)
, abgearbeitet wird der Befehl aber nicht.


Zitat von: Steffen@Home am 28 Dezember 2016, 09:19:02
danach kann ich mit {SetTempList_WZ_Thermostat} es an den Thermostat senden der nach kurzer Zeit die Programmänderung speichert. Den Anlernmodus setze ich dabei nicht!
Dieser Weg scheint bei mir nicht zu funktionieren, da die CCU2 bei mir das I/O-Device ist. Wie hast du dein HomematicDevice in FHEM eingebunden?

Deinen Weg mit der TempList kannst du evtl auch über HMInfo umsetzen
https://fhem.de/commandref.html#HMinfo
https://wiki.fhem.de/wiki/HomeMatic_HMInfo

Gruß

Mundus

pcbastler

#4
Ich mach das (per watchdog und HMInfo) mit einer Datei:
{fhem("set hm tempList restore WZ_abwesend.cfg");;}
Ist wahrscheinlich zuviel Datenverkehr, die Datei sieht dann so aus:

entities:WZ_heiz1_Clima
R_0_tempListSat> 06:00 17.0 24:00 17.0
R_1_tempListSun> 06:00 17.0 24:00 17.0
R_2_tempListMon> 05:00 17.0 24:00 17.0
R_3_tempListTue> 05:00 17.0 24:00 17.0
R_4_tempListWed> 05:00 17.0 24:00 17.0
R_5_tempListThu> 05:00 17.0 24:00 17.0
R_6_tempListFri> 05:00 17.0 24:00 17.0
entities:WZ_heiz2_Clima
R_0_tempListSat> 06:00 17.0 24:00 17.0
R_1_tempListSun> 06:00 17.0 24:00 17.0
R_2_tempListMon> 05:00 17.0 24:00 17.0
R_3_tempListTue> 05:00 17.0 24:00 17.0
R_4_tempListWed> 05:00 17.0 24:00 17.0
R_5_tempListThu> 05:00 17.0 24:00 17.0
R_6_tempListFri> 05:00 17.0 24:00 17.0

Wenn der Anwesenheits-Watchdog dann zuschlägt, gibt es die passende Datei auf dem gleichen Weg. Inzwischen gibt es da aber noch Verbesserungsansätze (nur hochregeln wenn Außentemperatur <21°C, Fenstersensor, Wunschtemperatur für einzelne Bewohner, ...)
EDIT sagt: Achso: 2 HM-CC-RT-DN über HMLAN angebunden.

Steffen@Home

Hallo Mundus,
Mit peerforseconds hieß es glaub. Dann am HM Gerät auch auf Anlernen. Fertig oder wie meinst du das?
Das HMInfo muss ich mir mal ansehen.
Pi 1 - FHEM, HM-MOD-RPI-PCB, HM-RT-CC-DN, HM-WDS10-TH-O, HM-Sec-SCo, HM-LC-Sw1PBU-FM, Relais Platine für ext. Ansteuerung, LD382 Wifi LED Controller, DHT
Pi 2 - Kamera, DHT
Pi 3 - FHEM2, Grafana, DHT, Magnet-Sensoren, Relais-Platine

Mundus

Guten Abend,

das Problem ist jetzt gelöst. Ich habe den Thread //forum.fhem.de/index.php/topic,40189.msg552192.html#msg552192 durchgelesen, was mich in Bezug auf Verständnis HMCCU ein Stück nach vorne gebracht hat  ;)

Die Einstellung erfolgt über
Zitatset KuecheThermostat config ENDTIME_FRIDAY_1=360
Diese führt zu dem Ergebnis, das am Freitag die erste Heizperiode um 06:00 Uhr endet. Es fehlte aus meinem ersten Beispiel nur das Zeichen =  ::)

Leider werden die Readings nicht sofort angepasst, sondern müssen über
Zitatget KuecheThermostat config
erneut eingelesen werden.