seit einiger Zeit nutze ich bei Shellys die Funktion, ein Zustand eines Gerät in cuxd, z.B. bei Tastendruck, zu ändern:
In Shelly-Webinterface (z.B. "Url to be hit when the button is switched ON"):
Code: Alles auswählen
http://192.168.178.11:8181/cuxd.exe?ret=dom.GetObject('CUxD.CUX4000001:13.SET_STATE').State(1)
Das Gleiche möchte ich in der Bash (auf Raspberry-Seite, nicht auf pivCCU-Seite!) machen, mit curl, da ich einige Auswertungen leider über Shell-Skripte (veraltet, aber ich kann kein php...) fahre:
Code: Alles auswählen
curl --request PUT --insecure "http://192.168.178.11:8181/cuxd.exe?ret=dom.GetObject(%27CUxD.CUX2801003:6.SET_STATE%27).State(0)"
Code: Alles auswählen
curl --data-urlencode "ret=dom.GetObject('CUxD.CUX2801003:6.SET_STATE').State(0)" "http://192.168.178.11:8181/cuxd.exe"
Code: Alles auswählen
curl: (7) Failed to connect to 192.168.178.11 port 8181: Verbindungsaufbau abgelehnt
Code: Alles auswählen
"http://192.168.178.11:8181/cuxd.exe?ret=dom.GetObject('CUxD.CUX2801003:6.SET_STATE).State(0)"
Code: Alles auswählen
<xml>
<exec>/cuxd.exe</exec>
<sessionId/>
<httpUserAgent>User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 OPR/99.0.0.0</httpUserAgent>
<ret>true</ret>
</xml>
Ich hatte schon das URL-Encoding im Verdacht (z.B. %27 statt '), aber es ändert nichts. Oder emuliert das Shelly-Webinterface noch mehr, was ich nicht nachgebildet hat? Dann könnte die Lösung/Idee evtl. auch zu mühselig sein...