NICHT MEHR AKTUELL HIER GEHTS WEITER
https://knx-user-forum.de/xxapi/6009...ajax-visu.html
*** Eine kleine Beschreibung der Befehle findet ihr hier ***
*** xxAPI ***
Installationsanleitung hier XXAPI - HS/FS - Lexikon - KNX-User-Forum
Die Downloads sind in der Projektverwaltung KNX-User-Forum
*** CHANGELOG ***
**
0.99
+XXCLICK*
+XXMODULCLICK*
+XXMARK*
+neue Aufrufvariante lässt die Klickbaren Funktionen wie die Standard Klicks aussehen
+XXHTTP und XXLINK verwenden auch die neue Aufrufvariante
+Erweiterte Kompatiblität mit APPid's (Elemente entfernen)
**
0.98
+ XXIMG*url*refresh in Sec
+ XXMODUL geht im IE
+ XXMODUL auch mit manuellem Login
+ keine Scrollbalken im XXMODUL
+ Loginmaske korrekte Grösse
+ Fehler beim laden der API werden abegefangen
+ Fehler beim laden von XXEEXECUTE werden abgefangen.
+ Texte der Schaltflächen lassen sich nicht mehr selektieren
+ Login mit Cookie speichern aus der Loginmaske geht
+ verkürzte Ausführungszeiten
+ Parameterübergabe für Widgets
**
0.97
+ XXLONGPRESS*
BUG FIX: XXTRIGGER*
**
0.96
+ XXMODUL*
+ Diverse änderungen ajax.js für den hsav ist neu
+ secure.htm + geänderte start.htm aus anderem Thread müssen benutzt werden
+ Webabfragen und xxAPI-INIT Visuseite neu
+ xxAPI komprimiert mit Faktor 0.4
**
0.92
+ XXEHTML*
+ XXEEXECUTE*
**
0.91 - erste xxAPI version auf knx-user-forum
+ XXHTTP*
+ XXLINK*
+ XXIFRAME*
+ XXEXECUTE*
+ XXHTML*
+ XXIMG*
+ XXTRIGGER*
+ XXINACTIVE*
Ich mach mal einen neuen Thread dazu auf.
Die xxAPI ist eine zentral gepflegte Erweiterung für die HS-AjaxVisu mit der auch Web- und Multimediaobjekte eingebunden werden können.
Ein vorheriger Versuch die ajax.js der Dacom HSAjaxVisu zu erweitern, führte immer dazu, dass bei jeder Erweiterung und jedem Bugfix, das Homeserver Projekt neu hochgeladen werden musste.
Die xxAPI verwendet ein mit einer Webabfrage gefülltes 14-Byte iKO, dass durch einfaches ausführen der Webabfrage aktualisiert werden kann.
Ausserdem wird die Versionsnummer des aktuellen xxAPI.js zurückgegeben.
Die xxAPI ist in den Versionen stable,rc,beta,unstable verfügbar, zwischen denen auch im laufenden Betrieb einfach gewechselt werden kann.
Es wird eine weitere Webabfrage für ein Demosystem geben, dass über ein dynamisches Textobjekt auf einer Visuseite, die Funktionen der xxAPI vorführen kann.
Weitere Webabfragen auf so genannte Widgets werden die Möglichkeit geben, komplexe xxAPI Funktionen wie z.B. Analoguhr,Radio,Fernsehen... einfach einzubinden und auch dort die Vorteile einer zentral gepflegten Anwendung zu haben.
Die Verbindung zum xxAPI Hostserver (Fehler 404) wird nur bei der Installation oder bei Updates aufgebaut. Es ist auch möglich einen eigenen xxAPI Server zu betreiben um Updates Kundenspezifisch einzubinden, die dazu benötigte xxAPI.php sowie alle anderen benötigten Dateien sind frei unter der GPLv3 verfügbar.
EDIT:
Die einzige Änderung die noch an der ajax.js vorgenommen werden muß sind folgende:
UPDATE:
zur Installation
1. die Webabfrage importieren
2. eine leere Visuseite erstellen (xxAPI-INIT)
und darauf ein dynamisches Textfeld mit dem iKO xxAPI erstellen
wie unten auf dem Bild. Als Aktion bitte Visu-Seite aufrufen
die ehemalige Startseite der Visu eintragen.
evtl. noch einen Button zum ausführen der Webabfrage "xxAPI" machen.
3. Die Startseite der Benutzer ändern auf diese "xxAPI-INIT" Startseite
4. XX Funktionen wie bereits im anderen Thread beschrieben einbauen
5. die Datei unter hsupload/opt/hsav/js/ajax.js mit der aus dem zip ersetzen
EDIT: oops hatte ich vergessen
6. die Datei redirect.htm ins verzeichnis hsupload kopieren sodass sie nachher unter /opt/redirect.htm erreichbar ist.
(Doku und Online-Demo folgen)
vielen Dank an Alfred für die Bereitstellung des xxAPI Hostservers unter
https://knx-user-forum.de/knx_xxAPI/xxAPI.php
https://knx-user-forum.de/xxapi/6009...ajax-visu.html
*** Eine kleine Beschreibung der Befehle findet ihr hier ***
*** xxAPI ***
Installationsanleitung hier XXAPI - HS/FS - Lexikon - KNX-User-Forum
Die Downloads sind in der Projektverwaltung KNX-User-Forum
*** CHANGELOG ***
**
0.99
+XXCLICK*
+XXMODULCLICK*
+XXMARK*
+neue Aufrufvariante lässt die Klickbaren Funktionen wie die Standard Klicks aussehen
+XXHTTP und XXLINK verwenden auch die neue Aufrufvariante
+Erweiterte Kompatiblität mit APPid's (Elemente entfernen)
**
0.98
+ XXIMG*url*refresh in Sec
+ XXMODUL geht im IE
+ XXMODUL auch mit manuellem Login
+ keine Scrollbalken im XXMODUL
+ Loginmaske korrekte Grösse
+ Fehler beim laden der API werden abegefangen
+ Fehler beim laden von XXEEXECUTE werden abgefangen.
+ Texte der Schaltflächen lassen sich nicht mehr selektieren
+ Login mit Cookie speichern aus der Loginmaske geht
+ verkürzte Ausführungszeiten
+ Parameterübergabe für Widgets
**
0.97
+ XXLONGPRESS*
BUG FIX: XXTRIGGER*
**
0.96
+ XXMODUL*
+ Diverse änderungen ajax.js für den hsav ist neu
+ secure.htm + geänderte start.htm aus anderem Thread müssen benutzt werden
+ Webabfragen und xxAPI-INIT Visuseite neu
+ xxAPI komprimiert mit Faktor 0.4
**
0.92
+ XXEHTML*
+ XXEEXECUTE*
**
0.91 - erste xxAPI version auf knx-user-forum
+ XXHTTP*
+ XXLINK*
+ XXIFRAME*
+ XXEXECUTE*
+ XXHTML*
+ XXIMG*
+ XXTRIGGER*
+ XXINACTIVE*
Ich mach mal einen neuen Thread dazu auf.
Die xxAPI ist eine zentral gepflegte Erweiterung für die HS-AjaxVisu mit der auch Web- und Multimediaobjekte eingebunden werden können.
Ein vorheriger Versuch die ajax.js der Dacom HSAjaxVisu zu erweitern, führte immer dazu, dass bei jeder Erweiterung und jedem Bugfix, das Homeserver Projekt neu hochgeladen werden musste.
Die xxAPI verwendet ein mit einer Webabfrage gefülltes 14-Byte iKO, dass durch einfaches ausführen der Webabfrage aktualisiert werden kann.
Ausserdem wird die Versionsnummer des aktuellen xxAPI.js zurückgegeben.
Die xxAPI ist in den Versionen stable,rc,beta,unstable verfügbar, zwischen denen auch im laufenden Betrieb einfach gewechselt werden kann.
Es wird eine weitere Webabfrage für ein Demosystem geben, dass über ein dynamisches Textobjekt auf einer Visuseite, die Funktionen der xxAPI vorführen kann.
Weitere Webabfragen auf so genannte Widgets werden die Möglichkeit geben, komplexe xxAPI Funktionen wie z.B. Analoguhr,Radio,Fernsehen... einfach einzubinden und auch dort die Vorteile einer zentral gepflegten Anwendung zu haben.
Die Verbindung zum xxAPI Hostserver (Fehler 404) wird nur bei der Installation oder bei Updates aufgebaut. Es ist auch möglich einen eigenen xxAPI Server zu betreiben um Updates Kundenspezifisch einzubinden, die dazu benötigte xxAPI.php sowie alle anderen benötigten Dateien sind frei unter der GPLv3 verfügbar.
EDIT:
Ich habe gerade festgestellt das bei einem HS2 der Speicher des 14byte KO's nicht reicht um die xxAPI zu Speichern. Macht das iKo einfach erstmal nicht remanent und führt die Webabfrage xxAPI 1x nach Systemstart durch.
Ich werde versuchen die API zu verkleinern und zu komprimieren.
Ich werde versuchen die API zu verkleinern und zu komprimieren.
Code:
--- ajax-dacom.js Tue Apr 21 14:06:52 2009 +++ ajax-xxAPI.js Fri Apr 24 00:43:07 2009 @@ -42,6 +42,9 @@ hs_connected = 0; isBusy=0; xmlhttp = null; +//xxAPI +xxAPI = new Object(); +xxAPI.init = false; // Markierung markImg = null @@ -373,6 +376,43 @@ this.aktion = ""; } +//-------------------------------------------------------------------------------- +// xxAPI Base64 Decoder +//-------------------------------------------------------------------------------- +function decode64(input) { + var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + + // remove all characters that are not A-Z, a-z, 0-9, +, /, or = + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + + do { + enc1 = keyStr.indexOf(input.charAt(i++)); + enc2 = keyStr.indexOf(input.charAt(i++)); + enc3 = keyStr.indexOf(input.charAt(i++)); + enc4 = keyStr.indexOf(input.charAt(i++)); + + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + + output = output + String.fromCharCode(chr1); + + if (enc3 != 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 != 64) { + output = output + String.fromCharCode(chr3); + } + } while (i < input.length); + + return output; +} + + // ---------------------------------------------------------------------------- // Funktionen zur Handhabung von Masken und PopUps // ---------------------------------------------------------------------------- @@ -1271,6 +1311,10 @@ var item=aVisu[npos]; item.txt=getXmlAttr(aRes[0],"txt"); if (item.handle!=null) { + // CHECK for XX Functions + if(typeof xxAPI.check == "function") { + item=xxAPI.check(item); + } item.handle.innerHTML=item.txt; } } @@ -1837,6 +1881,25 @@ aVisuItem.txt=getXmlAttr(aRes[0],"txt"); aVisuItem.hasCmd=getXmlAttr(aRes[0],"hcmd"); aVisuItem.click=getXmlAttr(aRes[0],"click")*1; + //check for XX Functions + if(typeof xxAPI.check == "function") { + aVisuItem=xxAPI.check(aVisuItem); + } + //load XXSCRIPT + XXcode = ""; + if(aVisuItem.txt.indexOf("XXSCRIPT*") == 0) + { + // code decodieren und ausführen dann Text löschen + XXcode = decode64(aVisuItem.txt.substr(9,aVisuItem.txt.length)); + eval(XXcode); + XXcode = ""; + aVisuItem.txt = ""; + if(xxAPI.init == false) { + xxAPI.ItemHandle = aVisuItem; + window.setTimeout("doCmd(xxAPI.ItemHandle);",500); + xxAPI.init = true; + } + } aItems.push(aVisuItem); } else if (aRes[0].substr(0,3)=="BOX")
zur Installation
1. die Webabfrage importieren
2. eine leere Visuseite erstellen (xxAPI-INIT)
und darauf ein dynamisches Textfeld mit dem iKO xxAPI erstellen
wie unten auf dem Bild. Als Aktion bitte Visu-Seite aufrufen
die ehemalige Startseite der Visu eintragen.
evtl. noch einen Button zum ausführen der Webabfrage "xxAPI" machen.
3. Die Startseite der Benutzer ändern auf diese "xxAPI-INIT" Startseite
4. XX Funktionen wie bereits im anderen Thread beschrieben einbauen
5. die Datei unter hsupload/opt/hsav/js/ajax.js mit der aus dem zip ersetzen
EDIT: oops hatte ich vergessen

6. die Datei redirect.htm ins verzeichnis hsupload kopieren sodass sie nachher unter /opt/redirect.htm erreichbar ist.
(Doku und Online-Demo folgen)
vielen Dank an Alfred für die Bereitstellung des xxAPI Hostservers unter
https://knx-user-forum.de/knx_xxAPI/xxAPI.php
Kommentar