PHP und XML-Api

Aus Debacher-Wiki
Version vom 14. Mai 2019, 14:24 Uhr von Debacher (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Theoretisch ist es möglich die Homematic über einfache Links oder kleine Programme zu steuern. Über einen Aufruf der Art: http://<IP-Adresse>/addons/xmlap…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation, Suche

Theoretisch ist es möglich die Homematic über einfache Links oder kleine Programme zu steuern. Über einen Aufruf der Art:

http://<IP-Adresse>/addons/xmlapi/statechange.cgi=ise_id=4711&new_value=1

kann man das Programm starten, dessen ID die Nummer 4711 besitzt. Die zugehörigen Programmnummern kann man abfragen per

http://<IP-Adresse>/addons/xmlapi/programlist.cgi

Das funktioniert auch, nur wird die Liste als XML-Struktur geliefert und die zeigt zumindest der Firefox nicht an. Opera zeigt die XML-Struktur übrigens an.

Das folgende kleine PHP-Programm hilft bei Auslesen der Daten:

<?php
 $xmlstr=file_get_contents('http://192.168.1.38/addons/xmlapi/programlist.cgi');

libxml_use_internal_errors(true);
$sxe = new SimpleXMLElement($xmlstr);

if ($sxe === false) {
   echo "Laden des XML fehlgeschlagen\n";
   foreach(libxml_get_errors() as $error) {
       echo "\t", $error->message;
   }
}
foreach($sxe->children() as $program) {
  foreach ($program->attributes() as $key => $value) {
    echo "$key: $value
"; }

echo "

"; } ?>