HMCCUDEV - Set Befehl bei Integer Datapoint

Begonnen von josch123, 11 März 2018, 08:36:18

Vorheriges Thema - Nächstes Thema

josch123

Ich habe aktuell das Problem bei einem HmIP-WTH-2, dass sich Integer Datapoints nicht über den Set Befehl setzen lassen. Bei allen Floating Datapoints funktioniert das super. Hat da jemand eine Idee woran das liegen könnte?

Deviceinfo siehe Anhang.

Ich versuche den Datapoint über den Befehl
set wc_Thermostat datapoint 1.SET_POINT_MODE 1
zu setzen, aber darauf reagiert das Thermostat nicht. Der gleiche Befehl funktioniert aber beim Floating Datapoint 1.SET_POINT_TEMPERATURE.

Ich bin über jegliche Unterstützung dankbar.

Grüße,
Joschka

zap

Kommt eine Fehlermeldung bei der Ausführung des Befehls oder passiert einfach gar nichts (bitte auch im FHEM Logfile nachschauen)?

Wenn Du direkt nach dem Set Befehl einmal get deviceinfo aufrufst, wird dann bei diesem Datenpunkt der neue Wert angezeigt?

Hat das in einer früheren Version von HMCCU schon mal funktioniert?
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

josch123

Es kommt keine Fehlermeldung, es passiert einfach gar nichts. Im FHEM Logfile gibt es auch keinen Eintrag.

Wenn ich direkt nach dem Set Befehl das get deviceinfo aufrufe, wird mir der alte Wert angezeigt. Der Befehl wird so wie ich das beurteilen kann nicht ausgeführt.

Ob das in früheren HMCCU Versionen schon einmal funktioniert hat, weiß ich nicht.

Grüße,
Joschka

zap

#3
Schalte mal das Tracing ein:


attr wc_Thermotat ccuflags trace


Nach dem Absetzen des set Befehls sollte etwas mehr Output im Log stehen.

Verbose sollte mindestens 2 sein
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

josch123

Habe das Tracing eingeschaltet. Anbei der Auszug aus dem LogFile:

2018.03.11 21:23:01 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.03.11 21:23:01 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=ON_TIME
2018.03.11 21:23:01 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.03.11 21:23:01 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=LEVEL
2018.03.11 21:23:01 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.03.11 21:23:01 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=ON_TIME
2018.03.11 21:23:01 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.03.11 21:23:01 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=LEVEL
2018.03.11 21:23:14 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.03.11 21:23:14 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=ON_TIME
2018.03.11 21:23:14 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.03.11 21:23:14 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=LEVEL
2018.03.11 21:23:14 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.03.11 21:23:14 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=ON_TIME
2018.03.11 21:23:14 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.03.11 21:23:14 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=LEVEL
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: 0 is not a valid channel address
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: SET_POINT_MODE contains channel number
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=SET_POINT_MODE
2018.03.11 21:23:58 2: HMCCUDEV: SetDatapoint: param=HmIP-RF.000A97098ED3B0:1.SET_POINT_MODE, value=1
2018.03.11 21:23:58 2: HMCCUDEV: SetDatapoint: Addr=000A97098ED3B0:1 Name=HmIP-WTH-2 000A97098ED3B0:1
2018.03.11 21:23:58 2: HMCCUDEV: SetDatapoint: Script response =
<xml><exec>/do.exe</exec><sessionId></sessionId><httpUserAgent>User-Agent: fhem</httpUserAgent><r1>false</r1></xml>
2018.03.11 21:23:58 2: HMCCUDEV: SetDatapoint: Script =
http://192.168.178.22:8181/do.exe?r1=dom.GetObject("HmIP-RF.000A97098ED3B0:1.SET_POINT_MODE").State(1)
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: 000A97098ED3B0:1 is a valid channel address
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=SET_POINT_MODE
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=ON_TIME
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=LEVEL
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=ON_TIME
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=LEVEL
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=ON_TIME
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.03.11 21:23:58 2: HMCCUDEV: IsValidDatapoint: devtype=HmIP-WTH-2, chnno=1, dpt=LEVEL
2018.03.11 21:24:12 2: HMCCUDEV: Device=000A97098ED3B0 Devname=wc_Thermostat
2018.03.11 21:24:12 2: HMCCUDEV: Script response =
C;000A97098ED3B0:0;wc_Thermostat:0;HmIP-RF.000A97098ED3B0:0.CONFIG_PENDING;2;false;RE
C;000A97098ED3B0:0;wc_Thermostat:0;HmIP-RF.000A97098ED3B0:0.DUTY_CYCLE;2;false;RE
C;000A97098ED3B0:0;wc_Thermostat:0;HmIP-RF.000A97098ED3B0:0.LOW_BAT;2;false;RE
C;000A97098ED3B0:0;wc_Thermostat:0;HmIP-RF.000A97098ED3B0:0.OPERATING_VOLTAGE;4;2.800000;RE
C;000A97098ED3B0:0;wc_Thermostat:0;HmIP-RF.000A97098ED3B0:0.RSSI_DEVICE;8;172;RE
C;000A97098ED3B0:0;wc_Thermostat:0;HmIP-RF.000A97098ED3B0:0.RSSI_PEER;8;172;RE
C;000A97098ED3B0:0;wc_Thermostat:0;HmIP-RF.000A97098ED3B0:0.UNREACH;2;false;RE
C;000A97098ED3B0:0;wc_Thermostat:0;HmIP-RF.000A97098ED3B0:0.UPDATE_PENDING;2;false;RE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.ACTIVE_PROFILE;16;1;WE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.ACTUAL_TEMPERATURE;4;19.400000;RE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.BOOST_MODE;2;false;WE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.BOOST_TIME;16;0;RE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.CONTROL_DIFFERENTIAL_TEMPERATURE;4;;WE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.CONTROL_MODE;16;;WE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.DURATION_UNIT;16;;W
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.DURATION_VALUE;16;;W
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.FROST_PROTECTION;2;false;RE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.HEATING_COOLING;16;1;RWE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.HUMIDITY;16;70;RE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.PARTY_MODE;2;false;RE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.PARTY_SET_POINT_TEMPERATURE;4;5.000000;RE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.PARTY_TIME_END;20;2018_03_13 06:15;RWE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.PARTY_TIME_START;20;2018_03_11 00:00;RWE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.SET_POINT_MODE;16;0;RWE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.SET_POINT_TEMPERATURE;4;21.000000;RWE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.SWITCH_POINT_OCCURED;2;false;RE
C;000A97098ED3B0:1;HmIP-WTH-2 000A97098ED3B0:1;HmIP-RF.000A97098ED3B0:1.WINDOW_STATE;16;0;WE


Grüße,
Joschka

zap

Um nun herauszufinden, ob das Problem bei HMCCU oder der CCU bzw. der Geräte Firmware liegt, mach bitte folgendes:

- In der CCU Oberfläche "Programme und Verknüpfungen" -> "Programme und Zentraleverknüpfungen" aufrufen.
- Unten auf der Seite den Button "Script testen" drücken
- Im Fenster unter Eingabe den Beispielcode durch folgende Zeile ersetzen:

dom.GetObject("HmIP-RF.000A97098ED3B0:1.SET_POINT_MODE").State(1);

- Dann in FHEM für das Gerät nochmal "get deviceinfo" aufrufen und prüfen, ob SET_POINT_MODE nun 1 ist.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

josch123

Ich habe deinen skizzierten Anweisungen mal ausprobiert. Der Datenpunkt ändert sich nicht. Liegt der Fehler nun an der CCU?

Danke für die Unterstützung.

zap

#7
ja, entweder an der CCU oder an der Firmware des Thermostaten.
gibt es für den ein Firmware Update?

Update: die neuste Firmwafe ist die 1.8 vom 19.2.2018

auch die CCU sollte natürlich die aktuelle Firmware haben.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

josch123

Ich habe die Firmware der CCU und des Thermostat aktualisiert und den Befehl noch einmal abgesetzt:
Zitat von: zap am 12 März 2018, 18:28:00
dom.GetObject("HmIP-RF.000A97098ED3B0:1.SET_POINT_MODE").State(1);

Leider ändert sich der Datenpunkt nach wie vor nicht. Über das HMWeb UI kann ich den Wert aber problemlos setzen und den veränderten Wert über FHEM auslesen. 

Grüße,
Joschka

zap

Versuch mal in der CCU das:


(datapoints.Get("HmIP-RF.000A97098ED3B0:1.SET_POINT_MODE")).State(1);

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Chris8888

#10
Hallo zusammen,
ich habe das gerade mal getestet und bei mir ist das genauso.
Der Set-Befehl über die FHEM-GUI reagiert nicht.

Aber:
Das setzen über die 99_MyUtils und auch per Homebridge klappen wie gewohnt.

Einen Eintrag im Log habe ich auch nicht. CCU ist aktuell, die Thermostate laufen noch auf 1.4 und 1.8.
Den gleichen Fehler bekomme ich allerdings auch auf einem HmIP-STHD mit 1.6.

VG
Christian

Update: "Das setzen über die 99_MyUtils und auch per Homebridge klappen wie gewohnt." arbeiten beide bei mir über den 1.CONTROL_MODE. der läuft tadellos. set xxx datapoint 1.CONTROL_MODE 1
Wenn ich das hier in meiner CCU aufrufe (natürlich mit meinem Devicenamen) passiert leider nichts: (datapoints.Get("HmIP-RF.000A97098ED3B0:1.SET_POINT_MODE")).State(1);
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

zap

Dann würde ich sagen, dass es ein Bug in der CCU oder. im Device ist, der sich nur auf SET_POINT_MODE auswirkt.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Chris8888

kann es sein das es schon immer so wahr? Ist länger her, aber ich nutze ja nicht umsonst ausschließlich den Control_Mode zum Setzen von Auto/Manuel.
Set_Point_Mode nutze ich nur zur Anzeige der Ist-Situation.
Ist mir vielleicht nie als Bug aufgefallen....
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

zap

Kann schon sein. Ich habe keine ip Thermostate. Aber ich stelle mal eine Frage im Homematic Forum.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

josch123

Control Mode klappt für meine Bedürfnisse. Danke für den Tipp.  :)

Vielleicht ist der Set_Point_Mode einfach nur ein [RE] datapoint.