PHP und XML-Api: Unterschied zwischen den Versionen

Aus Debacher-Wiki
Wechseln zu:Navigation, Suche
(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…“)
 
Zeile 11: Zeile 11:
 
Das folgende kleine PHP-Programm hilft bei Auslesen der Daten:
 
Das folgende kleine PHP-Programm hilft bei Auslesen der Daten:
  
  <?php
+
  <nowiki><?php
 
   $xmlstr=file_get_contents('http://192.168.1.38/addons/xmlapi/programlist.cgi');
 
   $xmlstr=file_get_contents('http://192.168.1.38/addons/xmlapi/programlist.cgi');
 
   
 
   
Zeile 29: Zeile 29:
 
   echo "<p>";
 
   echo "<p>";
 
   }
 
   }
  ?>
+
  ?></nowiki>

Version vom 14. Mai 2019, 14:25 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>";
  }
 ?>