Tasmota Websend an CCU / CUxD

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Antworten
regedit
Beiträge: 55
Registriert: 11.11.2018, 23:24
Hat sich bedankt: 6 Mal
Danksagung erhalten: 14 Mal

Tasmota Websend an CCU / CUxD

Beitrag von regedit » 05.02.2023, 10:56

Moin,
ich möchte meinen Zählerstand/Verbrauch mit einem Tasmota Gerät an die CCU senden. Die Kommunikation funktioniert, aber den entscheidenden Befehl bekomme ich nicht ans laufen.


Systemvariable schreiben geht:

Code: Alles auswählen

  =>WebSend [192.168.123._:8181] /hm.exe?value=dom.GetObject(ID_SYSTEM_VARIABLES).Get('EHZ_CurrentPower').State(%var3%)

10:54:13.210 Script: performs "WebSend [192.168.123._:8181] /hm.exe?value=dom.GetObject(ID_SYSTEM_VARIABLES).Get('EHZ_CurrentPower').State(162.00)"
10:54:13.234 RSL: RESULT = {"WebSend":"Done"}
Zum Testen HMIP-Gerät state setzen geht auch

Code: Alles auswählen

  =>WebSend [192.168.123._:8181] /hm.exe?value=dom.GetObject("HmIP-RF.000219______F9:3.STATE").State(0)

CUxD Device geht nicht (Mit und ohne ' oder " ausprobiert)

Code: Alles auswählen

  =>WebSend [192.168.123._:8181] /hm.exe?value=dom.GetObject("CUxD.CUX2804001:1.SET_STATES").State("ENERGY_COUNTER=%var6%&POWER=%var3%&CURRENT=%var4%&VOLTAGE=%var5%")

 10:52:12.700 Script: performs "WebSend [192.168.123._:8181] /hm.exe?value=dom.GetObject("CUxD.CUX2804001:1.SET_STATES").State("ENERGY_COUNTER=3301447.00&POWER=155.00&CURRENT=1.18&VOLTAGE=226.40")"
10:52:12.735 RSL: RESULT = {"WebSend":"Done"}
Das gleiche in der CCU unter Script testen geht aber und schreibt die Werte

Code: Alles auswählen

dom.GetObject("CUxD.CUX2804001:1.SET_STATES").State("ENERGY_COUNTER=3301.38&POWER=160.00&CURRENT=1.22&VOLTAGE=226.90");

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

Re: Tasmota Websend an CCU / CUxD

Beitrag von Baxxy » 05.02.2023, 14:31

Das Problem wird das "&" im zu übergebenen String sein.
Das ist ja so ein "Spezialzeichen".

Vielleicht kann man das irgendwie escapen, habe aber auf die Schnelle keine funktionale Lösung gefunden.
Aber Escaping ist auch nicht so meins. :wink:

Zum testen habe ich versucht das & irgendwie in eine Text-SysVar zu schreiben...

Code: Alles auswählen

http://192.168.1.27:8181/cuxd.exe?value=dom.GetObject("SV_Text").State("A&B")
... was mir aber nicht gelungen ist.

regedit
Beiträge: 55
Registriert: 11.11.2018, 23:24
Hat sich bedankt: 6 Mal
Danksagung erhalten: 14 Mal

Re: Tasmota Websend an CCU / CUxD

Beitrag von regedit » 05.02.2023, 17:10

Ah, daran habe ich garnicht geadcht.
Im Web habe ich jetzt auch nichts dazu gefunden
Dann sende ich die Daten einzelt

Code: Alles auswählen

17:10:12.679 Script: performs "WebSend [192.168.123.20:8181] /hm.exe?value=dom.GetObject("CUxD.CUX2804001:1.SET_STATES").State("ENERGY_COUNTER=3303347.00")"
17:10:12.713 RSL: RESULT = {"WebSend":"Done"}
17:10:12.716 Script: performs "WebSend [192.168.123.20:8181] /hm.exe?value=dom.GetObject("CUxD.CUX2804001:1.SET_STATES").State("POWER=208.00")"
17:10:12.753 RSL: RESULT = {"WebSend":"Done"}
17:10:12.756 Script: performs "WebSend [192.168.123.20:8181] /hm.exe?value=dom.GetObject("CUxD.CUX2804001:1.SET_STATES").State("CURRENT=786.67")"
17:10:12.793 RSL: RESULT = {"WebSend":"Done"}
17:10:12.796 Script: performs "WebSend [192.168.123.20:8181] /hm.exe?value=dom.GetObject("CUxD.CUX2804001:1.SET_STATES").State("VOLTAGE=230.47")"
17:10:12.829 RSL: RESULT = {"WebSend":"Done"}

Antworten

Zurück zu „HomeMatic allgemein“