XML-API

XML-API
3.4/5 Bewertung (180 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

HomeMatic-INSIDE

HomeMatic-INSIDE

21. Juni, 2016 |

Hi. Dafür ein Entschuldigung meinerseits. Ich kann mal versuchen, die Erkennung ein wenig zu entschärfen - möchte aber vermeiden, dass...

Monty1979

Monty1979

21. Juni, 2016 |

Sorry kann dir leider erst jetzt antworten weil ich versucht habe hier dir die Lösung zu posten. Und da hat mich die Seite gleich mal...

News // TecBase