Hallo,
ich habe nun das Update von Homematic auf die Version 5 durchgeführt.
Die Geräte wurden bereits alle über createDev angelegt (Thermostate und Fenstersensoren)
Ich hatte dann ein paar Probleme mit dem rpcserver, der aber inzwischen wieder startet.
Nach einem FHEM Neustart oder Config Änderungen liefert get ccuDevices immer eine leere Liste zurück.
Ich muss also manuell get ccuConfig ausführen, damit ccuDevices was liefert.
Solange liefert der Thermostat keine Daten und kann auch nicht gesteuert werden - was auch logisch klingt.
Was muss ich tun, damit der Sync (get ccuConfig) beim Start automatisch ausgeführt wird?
Leider habe ich zusätzlich auch noch das Problem, dass ich weekprofile für die Wochenprofile im Thermostat nutze und das funktioniert nun nicht mehr, da die alten Devices vom Typ HMCCUDEV waren, was auch unterstützt wird. Die neuen Devices sind vom Typ HMCCUCHN und das ist in weekprofile nicht nutzbar :-(
Hierzu öffne ich einen eigenen Beitrag.
Hier noch das list ccu:
Internals:
CCUNum 1
Clients :HMCCUDEV:HMCCUCHN:HMCCURPCPROC:
DEF 192.168.1.98
FUUID 5c8537b1-f33f-d8f3-b11e-e2a9dd1a1c9c6db9
NAME ccu
NOTIFYDEV global
NR 30
NTFY_ORDER 50-ccu
RPCState running
STATE running/OK
TYPE HMCCU
ccuaddr BidCoS-RF
ccuchannels 71
ccudevices 6
ccuif BidCos-RF
ccuinterfaces VirtualDevices,BidCos-RF,HmIP-RF
ccuip 192.168.1.98
ccuname CCU2
ccustate active
ccutype CCU2/3
config 5.0
firmware 2.41.8
host 192.168.1.98
prot http
version 5.0 213301607
READINGS:
2021-12-02 15:20:24 count_channels 71
2021-12-02 15:20:24 count_devices 6
2021-12-02 15:20:24 count_groups 0
2021-12-02 15:20:24 count_interfaces 3
2021-12-02 15:20:24 count_programs 0
2021-12-02 15:20:12 rpcstate running
2021-12-02 15:20:12 state OK
hmccu:
ccuDevList CCU2,FensterDachHinten,FensterDachTreppe,Leon_Thermostat,Tuerschloss,Vincent_Thermostat
ccuSuppDevList FensterDachHinten,FensterDachTreppe,Leon_Thermostat,Tuerschloss,Vincent_Thermostat
defaults 0
evtime 0
evtimeout 0
rpccount 0
rpcports 2010,9292,2001
updatetime 1638454823
Danke & Grüße,
Roger
Meinst Du den Fall: in der CCU wird ein neues Gerät angelernt und es erscheint nicht automatisch in FHEM?
Das geht aktuell noch nicht. Wenn man ein neues Gerät in der CCU anlernt, muss man einmal get ccuConfig ausführen (oder FHEM neu starten).
Wochenprofile: möchtest Du das Wochenprofil ändern?
Hallo Zap!
Zitat
Meinst Du den Fall: in der CCU wird ein neues Gerät angelernt und es erscheint nicht automatisch in FHEM?
Nein, das ist für mich OK. Aber nach jedem Neustart liefert ccuDevices eine leere Liste. Und es läßt sich kein Gerät steuern. Im Log taucht dann immer auf, dass er das Gerät nicht kennt - was ja auch stimmt.
Wenn ich dann einmal ein get ccuConfig mache, dann ist die Liste gefüllt und die Geräte lassen sich steuern.
Zitat
Wochenprofile: möchtest Du das Wochenprofil ändern?
Ja! Mit dem Modul weekprofile. Die ganze Familie passt das regelmäßig für das jeweilige eigene Zimmer an. Das Modul ist super praktisch. Ich glaube User ,,Risiko" wäre für eine Kooperation sehr dankbar.
Ich habe das separat in folgendem Beitrag erläutert: https://forum.fhem.de/index.php/topic,46117.msg1190661.html#msg1190661
Danke & Grüße,
Roger
Hallo ZAP,
wie kann ich denn mit dem set Befehl Zeiten direkt im Device ändern?
Der alte Befehl, wie es früher ging funktioniert nicht mehr:
set Leon_Thermostat config TEMPERATURE_MONDAY_1=16.0
Finde in der commandref auch keinen Hinweis.
Fehlermeldung:
HMCCUCHN [Leon_Thermostat] HMCCUCHN: Leon_Thermostat Paramset MASTER not supported by device or channel
Danke & Grüße, Roger
Zitat von: rogerknop am 02 Dezember 2021, 19:51:36
Hallo Zap!
Nein, das ist für mich OK. Aber nach jedem Neustart liefert ccuDevices eine leere Liste. Und es läßt sich kein Gerät steuern. Im Log taucht dann immer auf, dass er das Gerät nicht kennt - was ja auch stimmt.
Wenn ich dann einmal ein get ccuConfig mache, dann ist die Liste gefüllt und die Geräte lassen sich steuern.
Ja! Mit dem Modul weekprofile. Die ganze Familie passt das regelmäßig für das jeweilige eigene Zimmer an. Das Modul ist super praktisch. Ich glaube User ,,Risiko" wäre für eine Kooperation sehr dankbar.
Ich habe das separat in folgendem Beitrag erläutert: https://forum.fhem.de/index.php/topic,46117.msg1190661.html#msg1190661
Danke & Grüße,
Roger
Hmm, vermutlich stimmt die Reihenfolge der Defintion in der fhem.cfg nicht. Mögliche Ursachen:
- Du hast das I/O Device mal gelöscht und später neu angelegt
- Du hast die fhem.cfg manuell editiert
Jedenfalls müsste es beim FHEM Start Fehlermeldungen im Log geben. Die wären hilfreich ...
Zu set config:
Bei HMCCUCHN Device beziehen sich die Befehle immer auf den Kanal. Um Device übergreifende Befehle zu verwenden, muss 'device' angegeben werden. Also:
set Leon_Thermostat config device TEMPERATURE_MONDAY_1=16.0
Steht auch so in der Commandref.
Und um den ganzen Kram auch als Readings bei einem "get config" zu bekommen:
attr ccuflags showDeviceReadings,showMasterReadings
Welches Device meinst Du? Die CCU selbst oder den Thermostat?
CCU ist seit Jahren nicht mehr geändert.
Die Thermostate sind alle neu über createDev angelegt.
Wie sollte man durch manuelles Editieren etwas beeinflussen?
Beziehungsweise was meinst Du mit Reihenfolge?
Zitat von: rogerknop am 03 Dezember 2021, 15:08:03
Welches Device meinst Du? Die CCU selbst oder den Thermostat?
CCU ist seit Jahren nicht mehr geändert.
Die Thermostate sind alle neu über createDev angelegt.
Wie sollte man durch manuelles Editieren etwas beeinflussen?
Beziehungsweise was meinst Du mit Reihenfolge?
Die Reihenfolge, in der die "defines" in der fhem.cfg stehen. Wie gesagt: schau mal nach Fehlermeldungen von HMCCU, HMCCUCHN und HMCCUDEV im Log. Das würde weiterhelfen.
Zu set config siehe meine Ergänzung im vorherigen Beitrag
Hallo zap,
also das mit dem "device" hinter "config" funktioniert!
Allerdings sendet weekprofile alle Wocheneinstellungen an das Device in einem Set.
Wenn ich:
set Leon_Thermostat config device TEMPERATURE_MONDAY_1=16.0 ENDTIME_MONDAY_1=540
sende, dann wird aber nur die Temperatur 16 in Homematic gesetzt. Nicht aber die Zeit angepaßt.
Wie kann ich nun mehrere Werte setzen?
Habe verbose mal hochgesetzt und es kommen keine Fehlermeldungen.
Allerdings läuft nun auch der Sync anscheinend.
Keine Ahnung was ich da gemacht habe, aber Hauptsache es geht. Seltsam...
Da melde ich mich nochmal, wenn ich was finde.
Danke & Grüße,
Roger
Hallo zap,
es sieht so aus, als wenn es am Uhrzeitformat liegt.
set Leon_Thermostat config device TEMPERATURE_MONDAY_1=11.0 TEMPERATURE_TUESDAY_1=12.0
geht!
Aber
set Leon_Thermostat config TEMPERATURE_MONDAY_1=16.0 ENDTIME_MONDAY_1=540
set Leon_Thermostat config TEMPERATURE_MONDAY_1=16.0 ENDTIME_MONDAY_1=0540
set Leon_Thermostat config TEMPERATURE_MONDAY_1=16.0 ENDTIME_MONDAY_1=05:40
funktionieren alle nicht.
Hast Du hier noch einen Tipp?
Danke, Roger
HMCCU unterstützt aktuell nicht die Definition von Wochenprofilen. In den 3 Befehlen in Deinem Beispiel fehlt wieder "device", aber es ist nicht gesagt, dass es damit funktioniert, denn normalerweise muss man einen Tag komplett an das Device übergeben. Zeit ist immer Minuten seit Mitternacht.
So ein Temperaturprofil stellt man ja auch nicht täglich um. Ich habe 2 Profile irgendwann vor 2 Jahren mal angelegt und seitdem nicht mehr geändert. Das ist im Webinterface der CCU eigentlich recht komfortabel abgebildet.
Hallo zap,
das wiederum fehlende "device" war ein copy&paste Fehler. War in meinen Tests schon drin, sonst hätte ich ja wieder ne Fehlermeldung bekommen.
Den Hinweis, dass sich in den Profilen nichts ändert kann ich so nicht unterschreiben. In Zeiten von Homeoffice und ständig sich ändernden Stundenplänen (Uni, Schule etc.) paßt die Familie ständig den Heizplan an.
Das hat ja auch bei mir bis zum Update letzte Woche wunderbar funktioniert.
Desweiteren gibt es extra das Modul weekprofile was ich genial finde und die Familie ebenso. Jetzt einen Schritt zurückgehen und jeder soll ins das WebUI der CCU mit Anmeldung User und Passwort finde ich nicht sehr reizvoll. Es ist definitiv ein Rückschritt.
Und auch aus Nutzbarkeit hat meiner Meinung nach weekprofile die Nase vorn.
Nach etlichen Tests habe ich nun herausgefunden, wie die Daten an die CCU gesendet werden müssen:
set Leon_Thermostat config device TEMPERATURE_MONDAY_1=16.0 ENDTIME_MONDAY_1=540: TEMPERATURE_MONDAY_2=19.0 ENDTIME_MONDAY_2=1140: TEMPERATURE_MONDAY_3=16.0 ENDTIME_MONDAY_3=1440:
Die Minuten benötigen zum Abschluss einen Doppelpunkt.
Übrigens dein Hinweis, dass immer der komplette Tag gesendet werden muss ist, nicht korrekt. Bei fehlerhaften oder fehlenden Zeiten geht die CCU von 00:00-24:00 aus.
Solltest Du noch einen Änderung bzgl. Doppelpunkt planen, dann wäre ich vorher für eine Info dankbar.
Grüße, Roger
Ich habe mir nochmal den Code angeschaut. Die Werte für Parameter im Format "ENDTIME_xxxxx" erwarten Uhrzeiten als Wert im Format HH:MM (daher die Geschichte mit dem Doppelpunkt). Ein Wert von 1000 wird also in 1000*60 = 60000 Minuten umgerechnet.
Ein korrekte Befehl wäre also
set Leon_Thermostat config device TEMPERATURE_MONDAY_1=16.0 ENDTIME_MONDAY_1=9:0 TEMPERATURE_MONDAY_2=19.0 ENDTIME_MONDAY_2=18:0
Ändert die Temperaturen um 9 und 18 Uhr
Solltest Du den Bug beheben, dann wäre eine Info hier sehr hilfreich.
Da das weekprofile Modul bereits darauf angepasst wurde und das muss dann wieder zurückgedreht werden.
Roger
Das ist kein Bug, sondern ein Feature, das ich nur vergessen habe zu dokumentieren.
HMCCU macht aus einem Wert 10:20 den Wert 620 (also Minuten seit Mitternacht), wenn der Parametername mit ENDTiME beginnt.
Wenn Du also 800: angibst, führt das zu einem falschen timestamp
Das verstehe ich nicht.
Wie vorher beschrieben, habe ich jede Menge Tests mit set <device> config device gemacht.
10:20 nimmt er nicht
620 oder 800 nimmt er ebenfalls nicht.
Aber 620: und 800: funktioniert
Also ein set P1_ENDTIME_FRIDAY_4=10:30 hat gerade funktioniert (beim Wandthermostaten heißen die Parameter so)
Aber lass mich nochmal ein paar Anpassungen und Syntax-Checks einbauen. Am Ende wird es zwei mögliche Formate für den Wert geben:
hh:[mm] => Umrechnung in Minuten: hh*60+mm, Default für mm=0
n => Übernahme 1:1