Erweiterung der XML-API - Version 1.2 ?
Moderator: Co-Administratoren
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: Erweiterung der XML-API - Version 1.2 ?
Hallo!
Ich hatte da noch einige Wünsche, war aber so frei einfach mal einen Fork eurer Version auf https://github.com/hobbyquaker/hq-xmlapi.git anzulegen und es selbst zu implementieren.
Habe folgende Änderungen/Erweiterungen vorgenommen:
Die cgi.tcl komplett rauschgeschmissen. Die hatte eigentlich nur überflüssige Funktionen und hat alle Fehler abgefangen die nie auftreten, die interessanten Fehler jedoch sind unbehandelt
Die once.tcl und xml.tcl ebenfalls rausgeworfen.
Somit entfielen auch diese ganzen cgi_eval, cgi_input, ... Aufrufe. Parsen des env(QUERY_STRING) hab ich auf ein paar Zeilen reduziert und paste die in jedes cgi dass es benötigt.
Erhoffe mir davon eine Perfomanceverbesserung, möchte den "Ping" meiner Lichtschalter weiter reduzieren Bin noch nicht durch damit, hab es jetzt erstmal bei den für mich relevanten "performancekritischen" cgis gemacht.
in der sysvarlist.cgi ein parameter ergänzt: ruft man sysvarlist.cgi?text=true auf werden die zusätzlichen Attribute value_list und value_text ausgegeben die eine evtl. vorhandene Werteliste und den aktuellen Value in Text-Darstellung beinhalten, das möcht ich in meinem Homematic Siriproxy Plugin benutzen...
neues cgi sysvar.cgi hinzugefügt. Liefert über Parameter ise_id eine einzelne Variable und hat default text=true, beinhaltet also immer die Werteliste und den Text des aktuellen Wertes.
Wenn euch die Änderungen zusagen betrachtet Sie als Contribution, wenn nicht ignoriert sie Könnt auch gerne auf meinem github Repository mitwerkeln. Habe vor das auch weiterhin (mit-) zu pflegen...
Viele Grüße,
Basti
Ich hatte da noch einige Wünsche, war aber so frei einfach mal einen Fork eurer Version auf https://github.com/hobbyquaker/hq-xmlapi.git anzulegen und es selbst zu implementieren.
Habe folgende Änderungen/Erweiterungen vorgenommen:
Die cgi.tcl komplett rauschgeschmissen. Die hatte eigentlich nur überflüssige Funktionen und hat alle Fehler abgefangen die nie auftreten, die interessanten Fehler jedoch sind unbehandelt
Die once.tcl und xml.tcl ebenfalls rausgeworfen.
Somit entfielen auch diese ganzen cgi_eval, cgi_input, ... Aufrufe. Parsen des env(QUERY_STRING) hab ich auf ein paar Zeilen reduziert und paste die in jedes cgi dass es benötigt.
Erhoffe mir davon eine Perfomanceverbesserung, möchte den "Ping" meiner Lichtschalter weiter reduzieren Bin noch nicht durch damit, hab es jetzt erstmal bei den für mich relevanten "performancekritischen" cgis gemacht.
in der sysvarlist.cgi ein parameter ergänzt: ruft man sysvarlist.cgi?text=true auf werden die zusätzlichen Attribute value_list und value_text ausgegeben die eine evtl. vorhandene Werteliste und den aktuellen Value in Text-Darstellung beinhalten, das möcht ich in meinem Homematic Siriproxy Plugin benutzen...
neues cgi sysvar.cgi hinzugefügt. Liefert über Parameter ise_id eine einzelne Variable und hat default text=true, beinhaltet also immer die Werteliste und den Text des aktuellen Wertes.
Wenn euch die Änderungen zusagen betrachtet Sie als Contribution, wenn nicht ignoriert sie Könnt auch gerne auf meinem github Repository mitwerkeln. Habe vor das auch weiterhin (mit-) zu pflegen...
Viele Grüße,
Basti
-
- Beiträge: 427
- Registriert: 08.03.2010, 13:38
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 34 Mal
Re: Erweiterung der XML-API - Version 1.2 ?
Hi Basti,
freut mich dass noch jemand an der XML-API bastelt! Bin gespannt ob der Performancegewinn spürbar ist. Den aktuellen Stand haben wir jetzt erstmal als 1.2 festgesetzt, siehe homematic-info.de
Es wäre gut wenn eine zukünftige Version abwärtskompatibel zu 1.2 gehalten werden könnte, wäre ja blöd wenn User alle paar Wochen verpflichtend upgraden müssten
Würd mich freuen wenn du mich auf das Repo packen könntest, mein Username bei github ist derselbe wie hier.
Ein paar Gedanken ansonsten schonmal:
sysvarlist.cgi?text=true ist intressant wenn nur die Ausgabe gewünscht ist, für die Änderung per stagechange.cgi braucht man aber den Index des Wertes. Und den Wert kann man sich ja aus Index und Werliste über RegEx ohne Performanceprobleme zusammenbauen. da könnte natürlich auch stagechange.cgi angepasst werden aber ich sehe hier den mehrwert nicht.
sysvar.cgi ist klasse, der reine Werte von Systemvariablen lässt sich übrigens auch über state.cgi auslesen.
Gruß Philipp
freut mich dass noch jemand an der XML-API bastelt! Bin gespannt ob der Performancegewinn spürbar ist. Den aktuellen Stand haben wir jetzt erstmal als 1.2 festgesetzt, siehe homematic-info.de
Es wäre gut wenn eine zukünftige Version abwärtskompatibel zu 1.2 gehalten werden könnte, wäre ja blöd wenn User alle paar Wochen verpflichtend upgraden müssten
Würd mich freuen wenn du mich auf das Repo packen könntest, mein Username bei github ist derselbe wie hier.
Ein paar Gedanken ansonsten schonmal:
sysvarlist.cgi?text=true ist intressant wenn nur die Ausgabe gewünscht ist, für die Änderung per stagechange.cgi braucht man aber den Index des Wertes. Und den Wert kann man sich ja aus Index und Werliste über RegEx ohne Performanceprobleme zusammenbauen. da könnte natürlich auch stagechange.cgi angepasst werden aber ich sehe hier den mehrwert nicht.
sysvar.cgi ist klasse, der reine Werte von Systemvariablen lässt sich übrigens auch über state.cgi auslesen.
Gruß Philipp
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: Erweiterung der XML-API - Version 1.2 ?
Hallo Philipp!
bist als Collaborator geaddet auf Github.
Grüße,
Basti
bist als Collaborator geaddet auf Github.
Klar, genau aus dem Grund hab ich die neuen Attribute auch per Parameter aktivierbar und default off gemacht, nicht dass ich damit irgendwelche xml-parser aus dem Tritt bring. Auch im ganz eigenen Interesse, ich möchte natürlich auch dass andere Applikation die über xmlapi arbeiten auch bei mir zuhause funktionierenEs wäre gut wenn eine zukünftige Version abwärtskompatibel zu 1.2 gehalten werden könnte, wäre ja blöd wenn User alle paar Wochen verpflichtend upgraden müssten
Das ist richtig, aber wie Du auch schon sagtest auch kein Problem wenn das in der Applikation gematched wird. Kannst Dir bald eine Beispielimplementierung in meinem siriproxy-homematic Plugin anschauensysvarlist.cgi?text=true ist intressant wenn nur die Ausgabe gewünscht ist, für die Änderung per stagechange.cgi braucht man aber den Index des Wertes.
Jap, hatte auch kurz mit dem Gedanken gespielt die state.cgi zu erweitern. Aber irgendwie war ich dann faul, da hätte ich länger Nachdenken müssen, die sysvarlist einfach runterzustrippen ging da wesentlich schnellersysvar.cgi ist klasse, der reine Werte von Systemvariablen lässt sich übrigens auch über state.cgi auslesen.
Grüße,
Basti
Zuletzt geändert von hobbyquaker am 14.10.2012, 12:01, insgesamt 1-mal geändert.
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: Erweiterung der XML-API - Version 1.2 ?
Bitteschön:
https://github.com/hobbyquaker/hq-xmlap ... otocol.cgi
kannst mit folgenden Parametern aufrufen: start, show, clear
Hab einfach das Skript von MaxWrestler (http://homematic-forum.de/forum/viewtop ... 31&t=10210) genommen und die 3 Parameter und ein paar XML Tags eingebaut.
Viele Grüße,
Basti
https://github.com/hobbyquaker/hq-xmlap ... otocol.cgi
kannst mit folgenden Parametern aufrufen: start, show, clear
Code: Alles auswählen
http://ccu/config/xmlapi/protocol.cgi gibt einfach das ganze Systemprotokoll aus
http://ccu/config/xmlapi/protocol.cgi?show=10 gibt 10 Einträge aus
http://ccu/config/xmlapi/protocol.cgi?start=10&show=10 gibt 10 Einträge ab Position 10 aus
http://ccu/config/xmlapi/protocol.cgi?clear=1 Löscht das Log
Viele Grüße,
Basti
Re: Erweiterung der XML-API - Version 1.2 ?
Hallo.
Kann die XML Api eigentlich auch die TimeStamps der Datapoints bzw. Systemvariablen auslesen?
Das "Checken" wann ein bestimmter Zustand gesetzt wurde ist z.B. HomeDroid etwas was mir gelegentlich fehlt.
WebUI gibt diese Werte ja wunderbar aus.
Tschüss
Homie
Kann die XML Api eigentlich auch die TimeStamps der Datapoints bzw. Systemvariablen auslesen?
Das "Checken" wann ein bestimmter Zustand gesetzt wurde ist z.B. HomeDroid etwas was mir gelegentlich fehlt.
WebUI gibt diese Werte ja wunderbar aus.
Tschüss
Homie
CCU2 steuert 90 Kanäle in 62 Geräten
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: Erweiterung der XML-API - Version 1.2 ?
In der xml-api Ausgabe sind die Timestamps enthalten. Sowohl in der sysvarlist.cgi als auch in der statelist.cgi.
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: Erweiterung der XML-API - Version 1.2 ?
So, habe noch mal einige Änderungen an meinem Fork der XML API vorgenommen, ist jetzt Version "1.2-hq4". Habe noch überall einen HTTP Header hinzugefügt der es erlaubt die CGIs auch vi XHR von anderen Hosts aufzurufen ("allow-origin"). War für mein neues Feiertagsprojekt "HQ WebUI" notwendig (http://homematic-forum.de/forum/viewtop ... 979#p77979). Außerdem hab ich das neue CGI protocol.cgi nochmal etwas überarbeitet.
Volle Abwärtskompatibilität zur offiziellen 1.2 ist (nach meinen Tests zumindest) gegeben.
Ich denke die Änderungen gegenüber der offiziellen 1.2 sind in Summe jetzt schon recht viel (sysvar.cgi, protocol.cgi, Text-Bezeichner/Wertelisten von Variablen, Performanceverbesserung und der neue HTTP-Header) - vielleicht mögt Ihr es ja in Erwägung ziehen diese Änderungen in die offizielle XML API 1.3 einfließen zu lassen.
Viele Grüße,
Basti
Volle Abwärtskompatibilität zur offiziellen 1.2 ist (nach meinen Tests zumindest) gegeben.
Ich denke die Änderungen gegenüber der offiziellen 1.2 sind in Summe jetzt schon recht viel (sysvar.cgi, protocol.cgi, Text-Bezeichner/Wertelisten von Variablen, Performanceverbesserung und der neue HTTP-Header) - vielleicht mögt Ihr es ja in Erwägung ziehen diese Änderungen in die offizielle XML API 1.3 einfließen zu lassen.
Viele Grüße,
Basti
Re: Erweiterung der XML-API - Version 1.2 ?
Wenn sie zur 1.2 und davor kompatibel ist braucht man doch nichts einfließen zulassen. Wir nehmen einfach die als offizielle 1.3.