Auf dem Gira Homeserver gab es zu Anfangs nur eine sehr einfache Visu-Schnittstelle. Man konnte die Elemente zwar auf einem beliebigen Explorer sehen und verändern, aber um die volle Funktionalität zu erhalten, musste man doch einen "Spezialbrowser" namens HSClient nehmen.
Was war das Problem?
Angenommen man hat ein Zimmer gestaltet , mit einem Ein/Aus Schalter für Licht und einem Lichtsymbol, das anzeigen soll, ob das Licht geschaltet ist. Das Lichtsymbol ist mit der Statusadresse des Lichtaktors verbunden.
Wenn man in der Visu den Schalter klickt, dann geht das Licht aus oder an. Das funktioniert. Das Lichtsymbol wird auch mit dem aktuellen Lichtstatus belegt. Nur der Explorer macht kein refresh. Das heisst er zeigt noch immer die alte Seite an, wo das Licht aus war. Erst wenn man im Explorer auf "Neu Laden" klickt, sieht man tatsächlich auch das geänderte Lichtsymbol.
Der HSClient hat dises Problem nicht. Dieser Zustand war unbefriedigend, wenn man darauf angewiesen war, einen ganz normalen Internet-Explorer zu verwenden.
Was gefehlt hat war ein automatisches Signal an den Explorer: "Achtung, es hat sich etwas auf der Seite geändert, und zwar rechts/oben auf der Seite". Und auf dieses Signal hin soll dann der Explorer die rechte/obere Ecke der Visu "neu malen" (refreshen), so dass die aktualisierte Lampensymbol richtig angezeigt wird.
AJAX:
Genau das macht AJAX. Es ist eine Erweiterung für die Homeserver Software, die von Dacom entwickelt wurde.
Mit AJAX bekommt man zusätzlich auch Pop-Up Menues und die Möglichkeit, beliebig grosse (oder kleine) Seiten darzustellen. Wild gemischt, wenn es sein muss. So kann eine Visu gleichzeitig einen 1920*980 Monitor und auch einen iPhone Bildschirm "bedienen".
Ajax enthält zudem die Möglichkeit, leicht die Grösse des Darstellbaren Bildausschnittes bestimmen zu können. Bei früheren Visus war man auf feste Standardgrössen, z.b. 1024*768 oder 640*480 Punkte beschränkt. Darstellungen in einer anderen Auflösung (für andere Monitore, iPhone, PocketPC) waren deshalb schwer oder gar nicht zu machen.
Jetzt kann man immer mit der grössten Auflösung, zum Beispiel 1024v starten, und in seinem Projekt jeweils durch setzen eines kleinen Symbols namens XXPAGE bestimmen, welcher Bereich tatsächlich dargestellt werden soll.
Obwohl das AJAX recht gut funktionierte, wurde es am 26.6.2009 die Entwicklung eingestellt, und die Sourcen zur freien Verfügung als GPL Lizenz freigegeben:
DaCom - Database Computing GmbH
DaCom - Database Computing GmbH
Im Downloadbereich finden Sie die Sourcen, das Installationsprogramm sowie die komplette Dacom Dokumentation.
Dacom/Gira haben sich seither darauf verständigt, nur noch die Visualisierung mit Hile des Quadclienten weiterzuentwickeln:
XXAPI:
Vom Programmierer Niels Stoever wurde (wahrscheinlich) zu dieser Zeit eine Ajax-Erweiterung namens XXAPI entwickelt. Die Ajax Schnittstelle barg (und birgt) noch sehr viel Potential für Erweiterungen in sich.
Um die Ajax Schnittstelle zu erweitern, hätte man den zusätzlichen Code jeweils in den Sourcecode von ajax.js hineinschreiben können, und so immer wieder eine neue AJAX-XXAPI Version mit steigender Versionsnummer herstellen können. Niels ist einen anderen Weg gegangen.
Webabfrage Upate:
Der Programmcode seiner Erweiterung wird als 14-Byte Text-String in einer Variablen namens <xxAPI> abgespeichert. Als INIT-Wert enthält diese Variable den letzten bekannten und stabilen XXAPI Code.
Wenn sich die Visu mit dem Netz verbindet, dann gibt es eine Webabfrage, die den Server des KNX-User-Forums daraufhin abfragt, ob es mittlerweile eine neue Version gibt. Diese kann dann heruntergeladen werden und wird fürderhin benutzt. Die Variable geht nach Abschalten des Homeservers nicht verloren, da sie remanent gehalten wird.
Näheres zu dieser Mimik bei der XXAPI Installation.
Diese Vorgehensweise hatte grosse Vorteile, solange XXAPI in Entwicklung war, und "monatich" neue und erweiterte Versionen erschienen sind. Mittlerweile hat XXAPI den letzten und entgültigen Stand erreicht (Version 1.05).
Deshalb ist diese Webabfrage nicht mehr notwendig. Im XXAPI Installationsordner befindet sich eine Komplettinstallation für XXAPI 1.05, die völlig ohne Webabfrage auskommt.
Installationsreihenfolge:
Es gibt also eine Hirarchie, wie alles aufeiander aufbaut.
1. Zuerst kommt die original Gira/Dacom Software, die immer Grundbestandteil des Homeservers ist.
2. Dann die AJAX Erweiterung (die Programmcodes und die Graphikdateien für Pop-Ups etc.), die nachträglich installiert werden muss. In manchen Versionen des Experten ist diese schon enthalten:
3. Zum Schluss installiert man XXAPI:
4. Um das Ganze dann zum Laufen zu bringen, müssen die Startdateien angepasst werden:
Was war das Problem?
Angenommen man hat ein Zimmer gestaltet , mit einem Ein/Aus Schalter für Licht und einem Lichtsymbol, das anzeigen soll, ob das Licht geschaltet ist. Das Lichtsymbol ist mit der Statusadresse des Lichtaktors verbunden.
Wenn man in der Visu den Schalter klickt, dann geht das Licht aus oder an. Das funktioniert. Das Lichtsymbol wird auch mit dem aktuellen Lichtstatus belegt. Nur der Explorer macht kein refresh. Das heisst er zeigt noch immer die alte Seite an, wo das Licht aus war. Erst wenn man im Explorer auf "Neu Laden" klickt, sieht man tatsächlich auch das geänderte Lichtsymbol.
Der HSClient hat dises Problem nicht. Dieser Zustand war unbefriedigend, wenn man darauf angewiesen war, einen ganz normalen Internet-Explorer zu verwenden.
Was gefehlt hat war ein automatisches Signal an den Explorer: "Achtung, es hat sich etwas auf der Seite geändert, und zwar rechts/oben auf der Seite". Und auf dieses Signal hin soll dann der Explorer die rechte/obere Ecke der Visu "neu malen" (refreshen), so dass die aktualisierte Lampensymbol richtig angezeigt wird.
AJAX:
Genau das macht AJAX. Es ist eine Erweiterung für die Homeserver Software, die von Dacom entwickelt wurde.
Mit AJAX bekommt man zusätzlich auch Pop-Up Menues und die Möglichkeit, beliebig grosse (oder kleine) Seiten darzustellen. Wild gemischt, wenn es sein muss. So kann eine Visu gleichzeitig einen 1920*980 Monitor und auch einen iPhone Bildschirm "bedienen".
Ajax enthält zudem die Möglichkeit, leicht die Grösse des Darstellbaren Bildausschnittes bestimmen zu können. Bei früheren Visus war man auf feste Standardgrössen, z.b. 1024*768 oder 640*480 Punkte beschränkt. Darstellungen in einer anderen Auflösung (für andere Monitore, iPhone, PocketPC) waren deshalb schwer oder gar nicht zu machen.
Jetzt kann man immer mit der grössten Auflösung, zum Beispiel 1024v starten, und in seinem Projekt jeweils durch setzen eines kleinen Symbols namens XXPAGE bestimmen, welcher Bereich tatsächlich dargestellt werden soll.
Obwohl das AJAX recht gut funktionierte, wurde es am 26.6.2009 die Entwicklung eingestellt, und die Sourcen zur freien Verfügung als GPL Lizenz freigegeben:
DaCom - Database Computing GmbH
DaCom - Database Computing GmbH
Im Downloadbereich finden Sie die Sourcen, das Installationsprogramm sowie die komplette Dacom Dokumentation.
Dacom/Gira haben sich seither darauf verständigt, nur noch die Visualisierung mit Hile des Quadclienten weiterzuentwickeln:
XXAPI:
Vom Programmierer Niels Stoever wurde (wahrscheinlich) zu dieser Zeit eine Ajax-Erweiterung namens XXAPI entwickelt. Die Ajax Schnittstelle barg (und birgt) noch sehr viel Potential für Erweiterungen in sich.
Um die Ajax Schnittstelle zu erweitern, hätte man den zusätzlichen Code jeweils in den Sourcecode von ajax.js hineinschreiben können, und so immer wieder eine neue AJAX-XXAPI Version mit steigender Versionsnummer herstellen können. Niels ist einen anderen Weg gegangen.
Webabfrage Upate:
Der Programmcode seiner Erweiterung wird als 14-Byte Text-String in einer Variablen namens <xxAPI> abgespeichert. Als INIT-Wert enthält diese Variable den letzten bekannten und stabilen XXAPI Code.
Wenn sich die Visu mit dem Netz verbindet, dann gibt es eine Webabfrage, die den Server des KNX-User-Forums daraufhin abfragt, ob es mittlerweile eine neue Version gibt. Diese kann dann heruntergeladen werden und wird fürderhin benutzt. Die Variable geht nach Abschalten des Homeservers nicht verloren, da sie remanent gehalten wird.
Näheres zu dieser Mimik bei der XXAPI Installation.
Diese Vorgehensweise hatte grosse Vorteile, solange XXAPI in Entwicklung war, und "monatich" neue und erweiterte Versionen erschienen sind. Mittlerweile hat XXAPI den letzten und entgültigen Stand erreicht (Version 1.05).
Deshalb ist diese Webabfrage nicht mehr notwendig. Im XXAPI Installationsordner befindet sich eine Komplettinstallation für XXAPI 1.05, die völlig ohne Webabfrage auskommt.
Installationsreihenfolge:
Es gibt also eine Hirarchie, wie alles aufeiander aufbaut.
1. Zuerst kommt die original Gira/Dacom Software, die immer Grundbestandteil des Homeservers ist.
2. Dann die AJAX Erweiterung (die Programmcodes und die Graphikdateien für Pop-Ups etc.), die nachträglich installiert werden muss. In manchen Versionen des Experten ist diese schon enthalten:
3. Zum Schluss installiert man XXAPI:
4. Um das Ganze dann zum Laufen zu bringen, müssen die Startdateien angepasst werden: