PHP und XML-Api: Unterschied zwischen den Versionen

Aus Debacher-Wiki
Wechseln zu:Navigation, Suche
 
Zeile 30: Zeile 30:
 
   }
 
   }
 
  ?></nowiki>
 
  ?></nowiki>
 +
 +
Eine Beschreibung der API ist unter https://github.com/hobbyquaker/XML-API zu finden.

Aktuelle Version vom 14. Mai 2019, 14:30 Uhr

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<br>";
   }
   echo "<p>";
  }
 ?>

Eine Beschreibung der API ist unter https://github.com/hobbyquaker/XML-API zu finden.