Hallo,
so, jetzt habe ich lange genug im stillen Kämmerlein gebastelt, das Baby muss jetzt mal 'raus
Mein Projekt ist eine direkte Anbindung von HTML/DOM-Objekten an IP-Symcon. Man kann nun Elemente in Webseiten ähnlich wie Elemente im IPS Designer nutzen, nur ist zum Erstellen der Elemente auf den Webseiten (noch) Handarbeit notwendig. Es wird die gleiche Semantik wie beim IPS Designer (teilweise sogar wesentlich einfacher, z.B. bei Farben) verwendet, um DOM-Objekte je nach Inhalt einer IPS-Variablen zu verändern. Nebenbei steht die gesamte Welt von JavaScript für eine detailierte grafische Aufbereitung im Browser zur Verfügung.
Download unter
http://www.ergomation.de/downloads/IPS_WebDesigner-0.8.zip
Eine HTML-Seite mit drei Demos ist im Archiv enthalten:
Eine Demo steuert über eine Variable den 1. Ausgang eines LCN-Moduls, über eine zweite Variable wird dieser visualisiert. Die zu steuernde Hardware kann in IPS natürlich über die Events der Variablen beliebig angepasst werden. Dies soll zeigen, wie man IPS-Variablen direkt über DOM-Objekte manipulieren kann und wie Eigenschaften von DOM-Objekten direkt auf Änderungen von IPS-Variablen (analog des OnChange-Events in IPS) reagieren können.
Als weitere Demo ist ein Message-Banner enthalten, welches beim Wert „true“ einer boolschen Variablen einen Nachrichtentext aus einer anderen Variablen einblendet. Hier wird die „Server-Push“-Fähigkeit demonstriert, d.h. es muss keine explizite User-Aktion für eine Reaktion der DOM-Objekte erfolgen.
Schließlich ist noch ein Link enthalten, der beim Anklicken ein Script in IPS aufruft. Das Skript „denkt“, dass es im IPS Designer-Kontext aufgerufen wird, denn $IPS_SENDER wird mit „Designer“ belegt, und $IPS_COMPONENT hat den ID-Wert des aufrufenden HTML-Elements! Diese Feature funktioniert z.Zt nicht im Internet Explorer, warum weiß ich noch nicht (unter Firefox, Opera, Safari, Konqueror und Galeon funktioniert es).
Wer einen Firefox sein eigen nennt kann mal von der Demo-Seite aus den DOM-Inspektor aufrufen, die Ansicht auf JavaScript-Objekte umschalten und sich im Baum unter defaultView das Ipsymcon-Objekt unter die Lupe nehmen. Dort sind sämtliche Variablen und Skripte aus IPS als Objekte aufgeführt, und können natürlich beliebig von JavaScript angesprochen und manipuliert werden.
Viel Spaß beim Ausprobieren, und bitte das reichliche Feedback hier im Thread posten
Ciao,
Andreas