Maik von Home24 und ich haben zwei Erweiterungen zur XML-API hinzugefügt, state.cgi und favoritelist.cgi. Wir würden diese neue Version gern für unsere Apps nutzen, dazu muss bei allen Nutzern die gleiche Version installiert sein. Deshalb möchten wir die Erweiterungen hier zur Diskussion stellen, um mögliche Vorschläge zu ergänzen und den Patch als XML-API Version 1.2 festzulegen.
state.cgi gibt den status eines einzelnen Geräts aus. Syntax:
state.cgi?device_id=12796
state.cgi?channel_id=12796
state.cgi?datapoint_id=12839 (gibt nur Value() zurück)
für Geräte und Kanäle sieht das dann ungefähr so aus, selbe Syntax wie statelist.cgi:
Code: Alles auswählen
<?xml version="1.0" encoding="ISO-8859-1"?>
<state>-<device ise_id="1389" name="HM-CCU-1 System">
<channel ise_id="1390" name="Zentralennetzteil">
<datapoint ise_id="1401" name="System.System:1.U_SOURCE_FAIL" timestamp="1348301775" valuetype="2" value="false" type="U_SOURCE_FAIL"/>
<datapoint ise_id="1393" name="System.System:1.LOWBAT" timestamp="1348301789" valuetype="2" value="true" type="LOWBAT"/>
<datapoint ise_id="1405" name="System.System:1.U_USBD_OK" timestamp="1348302275" valuetype="2" value="false" type="U_USBD_OK"/>
<datapoint ise_id="1391" name="System.System:1.BAT_LEVEL" timestamp="1348302275" valuetype="4" value="0.000000" type="BAT_LEVEL"/>
<datapoint ise_id="1488" name="Alarm1" timestamp="0" valuetype="2" value="" type=""/>
</channel>-<channel ise_id="1406" name="Sabotagekontakt"><datapoint ise_id="1407" name="System.System:2.SHAKING" timestamp="0" valuetype="2" value="" type="SHAKING"/>
</channel>
</device>
</state>
Code: Alles auswählen
<?xml version="1.0" encoding="ISO-8859-1"?>
<favoriteList>
<favorite ise_id="1408" name="_USER1004">
<channel ise_id="1540" name="Neue Favoritenliste 1" not_can_use="false" type="UNKNOWN"/>
<channel ise_id="1484" name="Neue Favoritenliste" not_can_use="false" type="UNKNOWN"/>
</favorite>
<favorite ise_id="1484" name="Neue Favoritenliste">
<channel ise_id="1390" name="Zentralennetzteil" not_can_use="false" type="CHANNEL"/>
<channel ise_id="1487" name="Zahl1" not_can_use="true" type="SYSVAR"/>
<channel ise_id="1409" name="Alarm an" not_can_use="false" type="PROGRAM"/>
</favorite><favorite ise_id="1540" name="Neue Favoritenliste 1"/>
</favoriteList>