Vorweg ein Dankeschön an Sascha, dessen JSON-RPC Schnittstelle ich als Basis nutzen darf. Ich habe die vorhandene Schnittstelle (http://www.ip-symcon.de/forum/f13/ip-symcon-json-rpc-schnittstelle-10537/) also ein wenig aufgebohrt, damit
a) alle IP-Symcon Befehle aufgerufen werden können,
b) Fehler vom IP-Symcon Befehlen an den User zurückgemeldet werden,
c) eine SMD Datei erstellt wird, die z.B. Dojo super simpel konsumieren kann.
Innerhalb von Javascript fühlt sich jetzt jeder Befehl fast so an, als würdet ihr PHP schreiben
Kleines Beispiel um die Objektliste zu laden und die Anzahl der Objekte in ein Feld zu schreiben.
ips.IPS_GetObjectList().then(
function(data){
dom.byId("data").innerHTML = "Anzahl der Objekte: " + data.length;
},
function(err){
alert(err);
}
);
In der Demo ist noch drin wie man Variablen lesen und schreiben kann, Instanzen schalten und die SMD Datei neu generieren kann, sofern eigene Module verwendet werden. (Noch nicht so nützlich da kein SDK)
Im Prinzip sollte es aufbauend auf dieser Demo recht einfach eine Grafik als Hintergrund mit Labels und Button zu belegen, die dann wie im Dashboard funktionieren.
Wie nutzt man das Ganze?
-Datei herunterladen
-neuen Ordner im IP-Symcon Ordner erstellen (z.B. rpc)
-Datei im neuen Ordner entpacken
-Neuen WebServer erstellen (Instanz erstellen -> Haken bei „Alle Module zeigen“ -> (Kern) -> WebServer)
-Dem WebServer einen Port vergeben und dessen Root auf z.B. rpc setzen.
-Sobald der Server aktiv ist, per WebBrowser auf http://localhost:port/ gehen und schon sollte die Demo laufen.
-> Schaut auch den Quellcode an, damit ihr den Befehl/ID für das Schalten der Instanzen verändert. Das ist fast schon wie malen nach Zahlen
paresy
PS: Einen super einfach zu bedienenden Rückkanal für Änderungen gibt es leider noch nicht. Ihr müsst also zur Zeit für Änderungen alle paar Sekunden pollen.
PPS: Diese Schnittstelle liefert alles. All eure Daten. Wenn euer WebFront von extern erreichbar ist, nutzt bitte nicht die Abkürzung über den webfront/user Order. Die Demo geht dort natürlich auch. Aber ihr habt dann eine eklatante Sicherheitslücke.
PPPS: Schönes Wochenende mit dem neuen Spielzeug
rpc-demo.rar (132 KB)