1. Die Steckdose: Die Steckdose hat eine CGI-Schnittstelle, die es erlaubt einfache Befehle an die Steckdose zu senden. Infos sind auf der Homepage des Herstellers. Der Befehl im allgemeinen sieht so aus Der Syntax ist recht einfach . "p:steck:dose" ist das in der Steckdose hinterlegte Passwort. "0uuu" schält die erste Steckdose aus und lässt den Rest unverändert. "1uuu" schält die erste Steckdose ein ... und so weiter. Kann man auch über einen Browser ausprobieren.
2. Die CCU: Ich muss jetzt nur noch die CCU dazu bringen obiges Kommando zu verschicken. Dazu lege ich einfach ein Programm an:
Code: Alles auswählen
string stdout;
string stderr;
string url="http://192.168.0.150/cgi/control.cgi?login=p:steck:dose&p=0uuu";
system.Exec("wget -q -O /dev/null " # url, &stdout, &stderr);
Ich bin einen anderen Weg gegangen, der nicht ganz lupenrein ist. Bei mir ist der CUXD mit einem ENOCEAN-Stick installiert. Ich habe dort einfach einen Schalter definiert, der gar nicht existiert. Den definiere ich in der CCU als Auslöser für das Programmschnippsel.
Der Schalter ist dann in der Home24 App zu sehen. Und siehe da - ich kann die IP-Steckdose über die CCU und über die App steuern.
System EXEC ist wohl mit etwas Vorsicht zu genießen. Wenn mal wild auf den Schaltern rundrückt und wget mehrmals parallel startet, dann hat sich die CCU schon mal aufgehängt. Aber bei normaler Bedienung ist mir das noch nie passiert.
Ich hoffe jemand kann damit was anfangen. Ich habe aus dem Forum viel Info gezogen um das Projektchen umzusetzen. Darum wollte ich einfach das Ergebnis veröffentlichen.
Update: Danke an DrTob
Um das System.Exec zu umgehen habe ich den Code angepasst.
Code: Alles auswählen
string url="'http://192.168.0.150/cgi/control.cgi?login=p:steck:dose&p=0uuu'";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - " # url);
Wie gehe ich über den CUxD ist nachzulesen im Wiki.