XML-API statechange CUxD

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

jensbab
Beiträge: 29
Registriert: 11.05.2020, 07:20
System: Alternative CCU (auf Basis OCCU)

XML-API statechange CUxD

Beitrag von jensbab » 28.10.2021, 16:04

Hallo Gemeinde,
hier wieder mal eine Frage :-) Mir fehlt evtl. eine bestimmte Info.
Ich habe die beiden folgenden Befehle genutzt. Der erste hat schon immer funktioniert

curl "http://IP/config/xmlapi/statechange.cgi ... ew_value=1" -> Steuert einen Kanal an einem HMIPW-DSR8 OK

dieser hier tut leider nichts (Habe einen ds18b20 an einem raspberry und möchte nun ein in CUxD erstellten Tempdevice einen Wert übergeben.

curl "http://IP/config/xmlapi/statechange.cgi ... alue=28.54" -> soll die Temperatur setzen. Leider erfolglos auch ohne Fehlermeldung. Das ist ein CUxD Gerät (TemperaturSensor Innen)

Kann sich jemand vor stellen, warum es nicht geht?

Besten Dank :-)

Benutzeravatar
Baxxy
Beiträge: 10779
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 604 Mal
Danksagung erhalten: 2205 Mal

Re: XML-API statechange CUxD

Beitrag von Baxxy » 28.10.2021, 16:34

jensbab hat geschrieben:
28.10.2021, 16:04
Kann sich jemand vor stellen, warum es nicht geht?
Ein bisschen. :wink:

Bitte mal den genauen CUxD Gerätetyp und die Funktion nennen (Bspw. (90)-Thermostat) und Screenshot von den CUxD-Geräteeinstellungen zeigen.

Grüße, Baxxy

jensbab
Beiträge: 29
Registriert: 11.05.2020, 07:20
System: Alternative CCU (auf Basis OCCU)

Re: XML-API statechange CUxD

Beitrag von jensbab » 29.10.2021, 07:59

Hi Baxxy,
hier die XML:
--------------------------------------
<device name="TempSensorRLKeller" ise_id="8344" unreach="false">
<channel name="TempSensorRLKeller:0" ise_id="8345" index="0" visible="" operate="">
<datapoint name="CUxD.CUX3200100:0.UNREACH" type="UNREACH" ise_id="8347" value="false" valuetype="2" valueunit="" timestamp="1635426329" operations="5"/>
<datapoint name="CUxD.CUX3200100:0.RSSI_PEER" type="RSSI_PEER" ise_id="8346" value="0" valuetype="8" valueunit="dBm" timestamp="1635426329" operations="5"/>
</channel>
<channel name="TempSensorRLKeller:1" ise_id="8351" index="1" visible="true" operate="true">
<datapoint name="CUxD.CUX3200100:1.TEMPERATURE" type="TEMPERATURE" ise_id="8354" value="0.000000" valuetype="4" valueunit="°C" timestamp="1635426329" operations="1"/>
<datapoint name="CUxD.CUX3200100:1.MISS_24H" type="MISS_24H" ise_id="8353" value="0" valuetype="16" valueunit="" timestamp="1635426329" operations="5"/>
<datapoint name="CUxD.CUX3200100:1.TEMP_MIN_24H" type="TEMP_MIN_24H" ise_id="8356" value="0.000000" valuetype="4" valueunit="°C" timestamp="1635426329" operations="5"/>
<datapoint name="CUxD.CUX3200100:1.TEMP_MAX_24H" type="TEMP_MAX_24H" ise_id="8355" value="0.000000" valuetype="4" valueunit="°C" timestamp="1635426329" operations="5"/>
</channel>
---------------------------------------------------------------------------------

Habe dieses Thermostat erstellt: HM-WS550STH-I

Was Du mit Funktion 90 Thermostat meinst weiß leider nicht :-(
Und welche CUxD Geräteeinstellungen. Ich kann bei diesem Temp Sensor nicht mehr die genauen einstellungen sehen.

Gibt es vllt. einfach einen bestimmten Sensor den ich nutzen sollte?

Vielen Dank
Grüße
Jens

jensbab
Beiträge: 29
Registriert: 11.05.2020, 07:20
System: Alternative CCU (auf Basis OCCU)

Re: XML-API statechange CUxD

Beitrag von jensbab » 29.10.2021, 08:23

Ok, Typ 90 gefunden. Ich schaue mal weiter. Vielleicht finde ich die Lösung ;-)

Benutzeravatar
Baxxy
Beiträge: 10779
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 604 Mal
Danksagung erhalten: 2205 Mal

Re: XML-API statechange CUxD

Beitrag von Baxxy » 29.10.2021, 09:20

jensbab hat geschrieben:
29.10.2021, 07:59
hier die XML:
Ok, anhand derer sehe ich das du ein "Typ (30) Thermo" angelegt hast. Das lässt sich laut Doku nicht von extern (Script) mit Daten füttern, darum funktioniert der Befehl auch nicht.

Idealerweise nimmt man für solche Zwecke das "Typ (90) Funktion Thermostat" und entfernt in den Geräteeinstellungen den Haken bei "WEATHER|USE_HMDATAPT"
Dann klappt das setzen der Ist-Temperatur auch mit den bekannten Befehlen.

Für die XML-Api brauchst du dann die ID vom Datenpunkt "SET_TEMPERATURE" in Kanal:1 des CUxD-Gerätes.
Beispiel:

Code: Alles auswählen

http://192.168.1.66/addons/xmlapi/statechange.cgi?ise_id=8592&new_value=21.5
Grüße, Baxxy

jensbab
Beiträge: 29
Registriert: 11.05.2020, 07:20
System: Alternative CCU (auf Basis OCCU)

Re: XML-API statechange CUxD

Beitrag von jensbab » 29.10.2021, 09:42

Danke Baxxy,
so ganz genau habe ich es inzwischen getan.
Leider geht es nicht! :?

jensbab
Beiträge: 29
Registriert: 11.05.2020, 07:20
System: Alternative CCU (auf Basis OCCU)

Re: XML-API statechange CUxD

Beitrag von jensbab » 29.10.2021, 11:01

Ich glaube ich habe gefunden, wo das Problem liegt.
Es gibt in meinem über die CUxD erstellten Thermostat kein Datenpunkt "SET_TEMPERATURE".

Die Frage ist nun, welches über CUxD generierte Thermostat oder Sensor erstellt beim erstellen diesen Datenpunkt.

Benutzeravatar
Baxxy
Beiträge: 10779
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 604 Mal
Danksagung erhalten: 2205 Mal

Re: XML-API statechange CUxD

Beitrag von Baxxy » 29.10.2021, 12:03

jensbab hat geschrieben:
29.10.2021, 11:01
Es gibt in meinem über die CUxD erstellten Thermostat kein Datenpunkt "SET_TEMPERATURE".
Unwahrscheinlich.
Viel wahrscheinlicher ist, das du ihn über die xml-api nicht siehst, so zumindest bei mir heute morgen beim Kurztest.

Es gilt also die ID des Datenpunktes auf anderem Wege zu ermitteln. Da kann ich dir aber erst am Nachmittag weiterhelfen.

Grüße, Baxxy

Benutzeravatar
Baxxy
Beiträge: 10779
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 604 Mal
Danksagung erhalten: 2205 Mal

Re: XML-API statechange CUxD

Beitrag von Baxxy » 29.10.2021, 14:39

jensbab hat geschrieben:
29.10.2021, 11:01
das Problem
...lösen wir nun mal.
Script testen, Seriennummer deines CUxD "Typ (90) Funktion Thermostat" korrekt eintragen!
Die angezeigte ID kannst du dann im XML-Api Aufruf eintragen.

Code: Alles auswählen

string cux_sn = "CUX9002001";
WriteLine("ID: "#dom.GetObject("CUxD."# cux_sn #":1.SET_TEMPERATURE").ID());
ergibt hier beim frisch erzeugten CUxD-Gerät...

Code: Alles auswählen

ID: 8592
Grüße, Baxxy

jensbab
Beiträge: 29
Registriert: 11.05.2020, 07:20
System: Alternative CCU (auf Basis OCCU)

Re: XML-API statechange CUxD

Beitrag von jensbab » 29.10.2021, 16:06

Achso geht das. Besten Dank :-)

Antworten

Zurück zu „CUxD“