Erweiterung der XML-API - Version 1.2 ?

Nutzung von XML RPC, Remote Script, JSON RPC, XMLAPI

Moderator: Co-Administratoren

hobbyquaker
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 ?

Beitrag von hobbyquaker » 07.11.2012, 18:20

Hallo Monty!

Danke für's testen! :)
Das neue favoritelist.cgi?show_datapoint=1 (keine Plan für was du die brauchst) müsste das nicht noch erweitern werden? z.B. BRIGHTNESS, MOTION, TEMPERATURE, HUMIDITY, SETPOINT, VALVE_STATE usw.
Oh, natürlich, danke für den Hinweis! Da ist offensichtlich ein Rest aus einem Experiment in den Code gerutscht... Hab es schon korrigiert, liefert jetzt alle Datenpunkte (verhält sich nun genauso wie state(list).cgi) und auf Github gestellt (1.2-hq7).

Wofür ich die brauche: Ich kann damit wesentlich schneller eine vollständige Favoritenansicht aufbauen als wenn ich zuerst die favoritelist.cgi und dann noch die Datenpunkte und Variablen via state(list).cgi und sysvar(list).cgi abfrage... Ich benutze das im "HQ WebUI" (siehe https://github.com/hobbyquaker/hq-webui).
Die Änderung sysvarlist.cgi?text=true ist jetzt nicht so schlimm da es noch keiner nutzt. Aber in Zukunft dürfen wir sowas nur noch im Notfall ändern. Denn es gibt einige private Projekt die nicht hier veröffentlicht sind.
Ich verstehe nicht ganz? Ich hab doch seit der Einführung des Parameters text an der sysvarlist.cgi gar nichts mehr geändert... Und wenn man die sysvarlist.cgi ohne diesen neuen Paramter text aufruft verhält sie sich exakt so wie die aus der offiziellen 1.2...

Und ich muss noch richtigstellen: sowohl mein "HQ WebUI" als auch das siriproxy-homematic Plugin rufen die sysvarlist.cgi mit text=true auf. :wink:

Grüße,
Basti

ultrah
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 ?

Beitrag von ultrah » 07.11.2012, 20:04

verstehe auch grad nich wo das problem ist, oder hatte sich an der ausgabe mit diesen parameter von 1.2 auf jetzt noch was geändert ?

denke aber mike wird sich schon was dabei gedacht haben :)

Benutzeravatar
Monty1979
Beiträge: 854
Registriert: 28.10.2010, 20:47
Wohnort: Bremen
Kontaktdaten:

Re: Erweiterung der XML-API - Version 1.2 ?

Beitrag von Monty1979 » 07.11.2012, 20:34

Hi ihr zwei,

habt ihr eine andere Version 1.2 als ich :mrgreen:

Code aus 1.2

Code: Alles auswählen

		foreach (sSysVarId, dom.GetObject(ID_SYSTEM_VARIABLES).EnumUsedIDs())
		{
			oSysVar     = dom.GetObject(sSysVarId);
			Write("<systemVariable");
			Write(" name='"); WriteXML( oSysVar.Name() );
			Write("' variable='"); WriteXML( oSysVar.Variable());
			Write("' value='"); WriteXML( oSysVar.Value());			
			Write("' value_list='"); WriteXML( oSysVar.ValueList()); Write("' ise_id='" # oSysVar.ID() );
			Write("' min='"); WriteXML( oSysVar.ValueMin());
			Write("' max='"); WriteXML( oSysVar.ValueMax());
			Write("' unit='"); WriteXML( oSysVar.ValueUnit());
			Write("' type='" # oSysVar.ValueType() # "' subtype='" # oSysVar.ValueSubType());			
			Write("' logged='"); WriteXML( oSysVar.DPArchive());			
			Write("' visible='"); WriteXML( oSysVar.Visible());
			Write("' timestamp='" # oSysVar.Timestamp().ToInteger());
			Write("'/>");
		}
Code aus 1.3

Code: Alles auswählen

	foreach (sSysVarId, dom.GetObject(ID_SYSTEM_VARIABLES).EnumUsedIDs()) {
		oSysVar     = dom.GetObject(sSysVarId);
		Write("<systemVariable");
		Write(" name='"); WriteXML( oSysVar.Name() );
		Write("' variable='"); WriteXML( oSysVar.Variable());
		Write("' value='"); WriteXML( oSysVar.Value());
		if (sShowText == "true") {
			Write("' value_list='"); WriteXML( oSysVar.ValueList());
			Write("' value_text='"); WriteXML( oSysVar.ValueList().StrValueByIndex(';', oSysVar.Value()));
		}
		Write("' ise_id='" # oSysVar.ID() );
		Write("' min='"); WriteXML( oSysVar.ValueMin());
		Write("' max='"); WriteXML( oSysVar.ValueMax());
		Write("' unit='"); WriteXML( oSysVar.ValueUnit());
		Write("' type='" # oSysVar.ValueType() # "' subtype='" # oSysVar.ValueSubType());
		Write("' timestamp='" # oSysVar.Timestamp().ToInteger());
		Write("'/>");
	}

hobbyquaker
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 ?

Beitrag von hobbyquaker » 07.11.2012, 21:18

Ohje, jetzt schäm ich mich aber ... :?

Das waren keine beabsichtigten Änderungen... Da ist ein Attribut fälschlicherweise in meine if-Abfrage reingerutscht und 2 gleich ganz auf der Strecke geblieben und ich hab nix davon bemerkt, ... mehr als "schämen"...
Gut dass Du das gefunden hast und Danke! Und ich werde mal meine Diff's durchblättern, um welche Uhrzeit mach ich solche Fehler? ;) Außerdem werde ich mir jetzt nochmal die 1.2 installieren, von allen .cgi die Ausgabe speichern und das gegen die 1.3 Ausgabe diffen um da noch mehr Sicherheit zu haben. Hab Bammel dass ich da noch irgendwo sowas fabriziert hab... ;) Ich geb Bescheid wenn ich das erledigt hab...

Grüße

Benutzeravatar
Monty1979
Beiträge: 854
Registriert: 28.10.2010, 20:47
Wohnort: Bremen
Kontaktdaten:

Re: Erweiterung der XML-API - Version 1.2 ?

Beitrag von Monty1979 » 07.11.2012, 21:51

hobbyquaker hat geschrieben:um welche Uhrzeit mach ich solche Fehler?
ich denke das kennen alle Entwickler. mal schnell noch was am code ändern dann war es schon wieder früh um 1Uhr und am nächsten tag fragt man sich
"was hab ich denn da gemacht"
:lol:

hobbyquaker
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 ?

Beitrag von hobbyquaker » 09.11.2012, 20:06

hab zwar den abschließenden Diff-Test noch nicht gemacht - aber schon wieder eine neue cgi hinzugefügt :-)

scripterrors.cgi - die sucht in den letzten 10 Zeilen der /var/log/messages nach HM-Script Fehlern und gibt die zurück. Will ich für die Scriptkonsole im HQ WebUI einsetzen.

Melde mich wieder wenn ich das ganze dann mal gedifft habe :)

Viele Grüße

hobbyquaker
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 ?

Beitrag von hobbyquaker » 09.11.2012, 21:51

Hallo Monty, hallo Ultrah!

Hab eben die XML-Ausgaben der 1.2 genau mit der 1.2-hq9 verglichen. Laut Winmerge waren die einzigen Unterschiede die Timestamps von ein paar Variablen und Datenpunkten, sonst ist alles wirklich exakt gleich, alle Attribute und in der gleichen Reihenfolge vorhanden. Würde also sagen "passt" und "voll abwärtskompatibel".

Wäre lieb wenn Ihr das auch noch mal anschauen könntet, diese Version würde ich nun als 1.3 vorschlagen wenn ihr grünes Licht gebt.
Habe auch geplant jetzt bis auf weiteres keine Änderungen (von evtl Bugfixes abgesehen) mehr vorzunehmen, möchte nun das "HQ WebUI" fertigstellen und danach an meinem Siriproxy Plugin weitermachen. Meine Featurewünsche sind jetzt auch alle gedeckt (bzw. per exec.cgi auch ohne weitere Änderungen an der xmlapi realisierbar).

Viele Grüße!

hobbyquaker
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 ?

Beitrag von hobbyquaker » 11.11.2012, 20:02

es scheint immer noch irgendwas mit der sysvarlist.cgi nicht zu stimmen - ich kann das allerdings nicht reproduzieren. Ein User meines HQ WebUI hat da einen Fehler berichtet der bei Homedroid auftritt... Hab sowohl den Quellcode als auch die XML Ausgabe noch mal genau verglichen, ich find kein Unterschied ...

Dann ist dem selben User ebenfalls aufgefallen dass Homedroid ein 1.3 von version.cgi nicht akzeptiert. Ein anderer hat festgestellt dass statechange.cgi keine Variablen vom Typ Zeichenkette setzen kann...

Hab nun eine 1.2-hq10 zum Download bereitgestellt mit folgenden Änderungen: Die statechange.cgi gefixt damit auch Zeichenketten-Variablen gesetzt werden können (Anführungszeichen hinzugefügt) und version.cgi liefert nun wieder 1.2 um den Leuten die sowohl das HQ WebUI als auch Homedroid einsetzen keine Probleme zu bereiten... Allerdings weiss ich nu nich ob mit der sysvarlist.cgi alles i.O. ist - meine Tests sagen ja - aber wie ich sagte, ein User hat da von einem Problem mit Homedroid berichtet... (siehe http://homematic-forum.de/forum/viewtop ... =32#p79431)

Grüße

ultrah
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 ?

Beitrag von ultrah » 12.11.2012, 09:05

und mir sagt keiner was :D

aaalso die Versionsnummer kann ich schnell fixen, da müssten wir uns nur drauf einigen, dass alle zukünftigen Version auch vom Typ Float sind.

Ich besorg mir von User jetzt noch den XML-Output der sysvarlist, vll ist der Fehler ja auf meiner Seite.

hobbyquaker
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 ?

Beitrag von hobbyquaker » 12.11.2012, 16:56

vll ist der Fehler ja auf meiner Seite
Glaube ich nicht - denn er sagte dass es mit der originalen 1.2 keine Probleme mit Homedroid gab. Der "User" heisst übrigens Markus33 :)

Ich hab eben noch mal die 1.2 mit der 1.2-hq10 verglichen - und kann beim besten Willen keinen Unterschied finden. Entweder ich bin gerade blind oder die Homedroid Probleme bei Markus33 haben doch eine andere Ursache...

Antworten

Zurück zu „Softwareentwicklung von externen Applikationen“