Beitrag
von rentier-s » 11.01.2023, 16:11
8181 ist der TCP Port, auf dem die Remote Script API zu erreichen ist. 48181 wäre der HTTPS Port dazu.
66er.exe kann man nennen wie man will, Hauptsache irgendwas .exe, um die Remote Script API anzusprechen.
Antwort ist ebenfalls beliebig, kommt dann entsprechend in der XML zurück.
Der Rest ist Homematic Script, basierend auf dem Datenmodell. Dazu gibt es offizielle Dokus.
Kurz gesagt, mit dom.GetObject greift man auf das Datenmodell zu,
HmIP-RF.HmIP-RCV-1:11 bedeutet, man möchte das Gerät namens HmIP-RCV-1, zu finden über das Interface HmIP-RF (eigentlichHM IP Funk Schnittstelle), und davon den Kanal 11.
PRESS_LONG ist einer der Datenpunkte, den dieser Kanal hat. Mit State(1) setzt man diesen auf den Wert 1 bzw. wahr.
Auf dem Shelly 2.5 sollte es genauso funktionieren, sofern dieser Action URLs für kurzen und langen Tastendruck hat.
Der Ablauf ist ziemlich einfach. Durch das Drücken das Taste schaltet der Shelly lokal ein bzw. aus. Erstmal unabhängig von HM. Die Action URL sorgt dafür, dass die virtuelle Taste in HM gedrückt wird, die wiederum das Programm triggert. Das Programm schaltet entsprechend verzögert den CUxD Aktor aus, wobei dort als Ausschalt Befehlt hinterlegt ist, den Ausgang des Shelly per HTTP Aufruf auf aus zu setzen.
Du solltest Dich außerdem mit den Einstellungen der HM Firewall beschäftigen. Eine gänzlich offene Remote Script API lässt alles mögliche ausführen, sofern man Zugang zu Deinem Netzwerk hat. Sollte deshalb auf möglichst wenige IP Adressen beschränkt werden, HTTPS (dann eben Port 48181) genutzt werden und wenn möglich eine Authentifizierung verlangen. Ich habe allerdings noch nicht ausprobiert, ob die Shellys das alles können, weil die bei mir nicht direkt auf die API zugreifen dürfen.