XML-API

XML-API
3.3/5 Bewertung (183 Stimmen)

Dieses AddOn stellt einige nützliche Skripte auf der HomeMatic-Zentrale zur Verfügung, die auch von einigen 3rdParty-Programmen benötigt werden. Über einfache HTTP-Aufrufe lassen sich z.B. sämtliche Raum- oder Gewerkenamen auslesen oder den Status eines Kanals lesen bzw. setzen.

Installation

Das Paket kann, wie jedes andere Add-on, über das WebUI installiert werden. Dazu wechselt man in den Bereich "System-Konfiguration » Systemsteuerung » Zusatzsoftware", wählt das entsprechende Paket aus und klickt auf »Installieren«. Nach einem Neustart der Zentrale wird die Software im Bereich »Zusatzsoftware« aufgelistet werden.

Deinstallation

Möchte man das AddOn wieder entfernen, geschieht dies ebenfalls über den Bereich Zusatzsoftware. Neben jedem installierten Paket befindet sich eine entsprechende Schaltfläche, die neben den installierten Dateien auch sämtliche Dienste & Konfigurationen wieder entfernt.

Aufruf

Nach der Installation und dem Neustart der HomeMatic-Zentrale kann die alternative Web-Oberfläche mit folgender URL aufgerufen werden:
http://[CCU_IP]/config/xmlapi/[Skript_Name]

Der Platzhalter [CCU_IP] ist dabei durch die IP-Adresse der HomeMatic-Zentrale zu ersetzen. Für [Skript_Name] ist einer der folgenden Routinen einzusetzen:

RoutineBeschreibung
devicelist.cgi Liste aller Geräte mit Kanälen

Enthält u.a. die Namen, Seriennummern, Gerätetypen und ID's
functionlist.cgi Liste aller Gewerke mit Kanälen

Enthält u.a. die Namen, Seriennummern (pro Kanal) und ID's
sysvarlist.cgi Liste alle Systemvariablen mit Werten
statelist.cgi Liste alle Geräte mit Kanälen und aktuellen Werten

Enthält u.a. die Namen, Datenpunkte (z. B. LowBatt), aktuelle/alte Werte (Dimmer)
programlist.cgi Liste aller Programme

Enthält u.a. die Namen, Beschreibungen und ID's
favoritelist.cgi Liste aller Favoriten

Enthält eine gruppierte Darstellung sämtlicher Favoriten
runprogram.cgi Startet ein Programm mit der angegebenen ID:

runprogram.cgi?program_id=1234
roomlist.cgi Liste aller Räume mit Kanälen

Enthält u.a. die Namen und ID's
statechange.cgi Ändern ein Kanal-Zustandes
state.cgi Gibt den Status eines einzelnen Geräts aus:

state.cgi?device_id=12796
state.cgi?channel_id=12796
state.cgi?datapoint_id=12839 (gibt nur Value() zurück)

Sämtliche Skripte erzeugen daraufhin eine XML-Struktur mit den entsprechenden Daten (Geräte, Gewerke, ...) die z. B. von einem externen Programm ausgewertet werden könnte. Jeder XML-Listeneintrag enthält zudem einen Timestamp der letzten Änderung sowie die CCU-interne ID (ise_id) des Geräts, Kanals, ...

Diese ID wird auch benötigt, wenn man über "statechange.cgi" z.B. einen Aktor ansteuern möchte:
http://192.168.178.200/config/xmlapi/statechange.cgi?ise_id=12345&new_value=0.20
Würde hinter der ise_id=12345 ein Dimmer stehen, würde dieser jetzt auf 20% dimmen.
Sicherheitshinweis:

Der Aufruf an eine der hier vorgestellten Routinen erfolgt ohne voherige Anmeldung. Ist die HomeMatic-Zentrale ohne besonderen Schutz über das Internet erreichbar, kann dies ein Sicherheitsrisiko darstellen und gilt entsprechend zu beachten!

Kommentare // Software

Anders

Anders

25. August, 2016 |

ich hol dich aus der scheisse. 0152 09025113

Martin Hund

Martin Hund

23. August, 2016 |

Hallo,

mein erster Post und gleich eine dumme Frage: Ich nutze die XML-API und das funktioniert super! Danke für die Arbeit. Die...

News // TecBase