GET-Abfrage (Gerät nicht in IPS)

Hallo
Ich nutze das System ‚Zeptrion-Air‘ von Feller.
Ich möchte für diese Aktoren (Schalter, Dimmer, Shutter) aus IP-Symcon heraus eine Statusabfrage machen können.
Bis jetzt nutzte ich Mediola mit dem entsprechenden Feller-Plugin. Das funktioniert so weit gut.
Jedoch ziehe ich in Erwägung, von Mediola auf IP-Symcon umzusteigen, da die vielen Plugins jährlich immer wieder zu Buch schlagen.
Um also aktuell Geräte in Mediola anzusprechen nutze ich das Plugin ‚Mediola Gateway Service‘ von Ch. Damsky. Damit sind die Ansteuerungen der Aktoren ohne grosse Probleme zu machen. Die Probleme tauchen erst auf, wenn ich viele Statusabfragen gleichzeitig mache. Dann gibt es einen regelrechten Stau auf der Schnittstelle und Einschaltbefehle werden nur noch verzögert oder gar nicht durchgeführt. Daher möchte ich die Statusabfragen anderweitig (direkt) lösen.
Jetzt zu meiner Frage:
Es gibt eine API zu Zeptrion Air. Dort ist beschrieben, dass per HTTP-GET
(z.B.)


http://*******/zrap/chscan/ch2


der angefragte Status als XML retour kommt.
Info: the value can be between 0 and 100 or -1 if the state is unknown


Response Body

<?xml version="1.0" encoding="US-ASCII"?> 100 ************************

Ist es möglich, diese Antwort als Boolean in eine Variable ausgeben zu lassen?
Wichtig für mich ist eigentlich nur die Antwort 0 (false) oder 100 (true).
Status dazwischen kriege ich eh keine.
Danke im Voraus für die UnterstützungVorformatierter Text

Hi!

Wenn die Response wirklich so einfach ist, dann schau die mal den TextParser + WWWReader an. Dort kannst du dann alles bis ?> abschneiden und dann den Wert in eine Variable schreiben.

paresy

Und wenn es tatsächlich XML ist, gibt es fertige XML Parser.
https://www.php.net/manual/de/simplexml.examples-basic.php

Genau. file_get_contents + simplexml_load_string wäre der Königsweg, sofern PHP-Skripte dich nicht abschrecken. Mein Vorschlag war Quick+Dirty für User ohne Programmiererfahrung :smiley:

paresy

Danke für die raschen Antworten.
Der Weg von paresy hat wunderbar geklappt.
Und das beste ist, ich kann diesen Wert von ‚0‘ oder ‚100‘ direkt in eine booleanische Variable ausgeben lassen und ‚true‘ oder ‚false‘ wird automatisch richtig interpretiert.
Vielen Dank für die sehr rasche Unterstützung.