XML-RPC Interface-Beschreibung
Moderator: Co-Administratoren
Re: XML-RPC Interface-Beschreibung
Hi.
Alternativ kann man auch die XML-API von dirch nutzen - die muss dann aber auf der CCU installiert sein. Dann
bekommt man auch die Namen der Räume und Gewerke (nutzte ich im HM touch - Configurator). Das Auslesen
über Rega-HSS habe ich auch noch nicht gemacht - muss ich auch mal gucken, wie das funzt...
Gruß,
kaju
Alternativ kann man auch die XML-API von dirch nutzen - die muss dann aber auf der CCU installiert sein. Dann
bekommt man auch die Namen der Räume und Gewerke (nutzte ich im HM touch - Configurator). Das Auslesen
über Rega-HSS habe ich auch noch nicht gemacht - muss ich auch mal gucken, wie das funzt...
Gruß,
kaju
HomeMatic-INSIDE: http://www.homematic-inside.de
-
- Beiträge: 427
- Registriert: 08.03.2010, 13:38
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 34 Mal
Re: XML-RPC Interface-Beschreibung
danke euch dreien, das hilft mir schonmal weiter
hab mir mal die doku zur HomeMatic Scriptsprache durchgelesen.
Zu einem einzelnen Device bekomme man damit relativ einfach Name und Raum, anders siehts mit Listen aus, da bin ich auf nichts gestoßen.
Was auch nicht dokumentiert ist, ist wie man von aussen die Verbindung herstellt, gibts da noch eine Authentifizierung ?
@kaju:
mit der xml-api meinst du sicher die, die du auf deiner seite zur verfügung stellst oder ? Das müsste ich ja dann nur in die DB parsen und die Devices dann einzeln aufdröseln.
Ist halt dann noch eine Schnittstelle mehr, über
@Daniel
Wie hast du das Problem denn gelöst ?
btw,
Möchte ja echt nicht das Forum schlechtmachen, mir wurde hier ja auch extrem viel geholfen, aber:
-Threads zum Scripting finde ich unter Tipps & Tricks, HomeMatic Zentrale(CCU), HomeMatic Allgemein usw...
-Die Scriptsprache heisst manchmal HMScript, dann HomeMatic-Script, dann wird von TCL Rega gesprochen, dann von Remote HomeMatic Script, usw
wenn man hier länger unterwegs ist das sicher alles logisch
geh jetz erstmal meine CCU abholen, ist heute angekommen
hab mir mal die doku zur HomeMatic Scriptsprache durchgelesen.
Zu einem einzelnen Device bekomme man damit relativ einfach Name und Raum, anders siehts mit Listen aus, da bin ich auf nichts gestoßen.
Was auch nicht dokumentiert ist, ist wie man von aussen die Verbindung herstellt, gibts da noch eine Authentifizierung ?
@kaju:
mit der xml-api meinst du sicher die, die du auf deiner seite zur verfügung stellst oder ? Das müsste ich ja dann nur in die DB parsen und die Devices dann einzeln aufdröseln.
Ist halt dann noch eine Schnittstelle mehr, über
@Daniel
Wie hast du das Problem denn gelöst ?
btw,
Möchte ja echt nicht das Forum schlechtmachen, mir wurde hier ja auch extrem viel geholfen, aber:
-Threads zum Scripting finde ich unter Tipps & Tricks, HomeMatic Zentrale(CCU), HomeMatic Allgemein usw...
-Die Scriptsprache heisst manchmal HMScript, dann HomeMatic-Script, dann wird von TCL Rega gesprochen, dann von Remote HomeMatic Script, usw
wenn man hier länger unterwegs ist das sicher alles logisch
geh jetz erstmal meine CCU abholen, ist heute angekommen
Re: XML-RPC Interface-Beschreibung
HMScript kann man ausführen, indem man einen HTTP POST an die URL http://<homematic>:8181/tclrega.exe schickt, Inhalt ist das auszuführende Script. Als Antwort kommt sowohl die Standardausgabe des Scriptes als auch etwas XML mit den vom Script gesetzten Variablen. Authentifizierung findet nicht statt, es gibt die in den Systemeinstellungen konfigurierbaren Zugriffseinschränkungen auf IP-Adresssen-Ebene, die dann mittels iptables-Regeln realisiert werden.
HMC holt sich die Liste aller Channel auf der ReGa-Ebene mit folgendem Script:
Viele Grüße,
Olli
HMC holt sich die Liste aller Channel auf der ReGa-Ebene mit folgendem Script:
Code: Alles auswählen
string id;
foreach(id, root.Channels().EnumUsedIDs())
{
var ch=dom.GetObject(id);
var i=dom.GetObject(ch.Interface());
WriteLine(id+"\t"+ch.Address()+"\t"+i.Name()+"\t"+ch.Name());
}
Olli
-
- Beiträge: 427
- Registriert: 08.03.2010, 13:38
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 34 Mal
Re: XML-RPC Interface-Beschreibung
danke für eure hilfe, hab mich jetzt im endeffekt erstmal für die xml-api entschieden.
auslesen klappt auch gut, bis runter zum zuordnen der datapoint-values zu den kanälen.
wo ich nicht dahintersteige ist warum das absenden nicht funktionieren will.
Ein Dimmer bei mir:
ich möchte jetzt den Kanal_Dimmer (1518) ansprechen ansprechen und den wert auf 20 % setzen, also
passiert aber nichts.
was mache ich falsch ?
Gruß Philipp
auslesen klappt auch gut, bis runter zum zuordnen der datapoint-values zu den kanälen.
wo ich nicht dahintersteige ist warum das absenden nicht funktionieren will.
Ein Dimmer bei mir:
Code: Alles auswählen
<device name="Device_Dimmer" ise_id="1500" unreach="false" sticky_unreach="true" config_pending="false">
- <channel name="Device_Dimmer:0" ise_id="1501">
<datapoint name="BidCos-RF.FEQ0081907:0.UNREACH" type="UNREACH" ise_id="1514" value="false" valuetype="2" timestamp="1268651199" />
<datapoint name="BidCos-RF.FEQ0081907:0.STICKY_UNREACH" type="STICKY_UNREACH" ise_id="1510" value="true" valuetype="2" timestamp="1268650714" />
<datapoint name="BidCos-RF.FEQ0081907:0.CONFIG_PENDING" type="CONFIG_PENDING" ise_id="1502" value="false" valuetype="2" timestamp="1268650713" />
<datapoint name="BidCos-RF.FEQ0081907:0.DUTYCYCLE" type="DUTYCYCLE" ise_id="1506" value="false" valuetype="2" timestamp="1268650713" />
</channel>
- <channel name="Kanal_Dimmer" ise_id="1518">
<datapoint name="BidCos-RF.FEQ0081907:1.LEVEL" type="LEVEL" ise_id="1531" value="0.000000" valuetype="6" timestamp="1268845389" />
<datapoint name="BidCos-RF.FEQ0081907:1.OLD_LEVEL" type="OLD_LEVEL" ise_id="1532" value="" valuetype="2" timestamp="0" />
<datapoint name="BidCos-RF.FEQ0081907:1.RAMP_TIME" type="RAMP_TIME" ise_id="1534" value="" valuetype="4" timestamp="0" />
<datapoint name="BidCos-RF.FEQ0081907:1.ERROR" type="ERROR" ise_id="1519" value="0" valuetype="16" timestamp="1268845389" />
</channel>
</device>
Code: Alles auswählen
http://<homematic-ip>/config/xmlapi/statechange.cgi?ise_id=1518&newvalue=0.20
was mache ich falsch ?
Gruß Philipp
Re: XML-RPC Interface-Beschreibung
Hi.
Mach mal zwischen newvalue ein unterstrich:
new_value
Gruß,
kaju
Mach mal zwischen newvalue ein unterstrich:
new_value
Gruß,
kaju
HomeMatic-INSIDE: http://www.homematic-inside.de
-
- Beiträge: 427
- Registriert: 08.03.2010, 13:38
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 34 Mal
Re: XML-RPC Interface-Beschreibung
danke kaju, funktioniert wunderbar !
auf http://www.homematic-inside.de/software ... mlapi.html stehts ohne "_" nur so als hinweis
wird morgen sofort implementiert
auf http://www.homematic-inside.de/software ... mlapi.html stehts ohne "_" nur so als hinweis
wird morgen sofort implementiert
Re: XML-RPC Interface-Beschreibung
Hi.
Ich weiß nicht, wie oft ich das schon geändert hatte, irgendwie zerschiest's beim Bearbeiten immer den Unterstrich - ist
aber wieder geändert
Gruß,
kaju
Ich weiß nicht, wie oft ich das schon geändert hatte, irgendwie zerschiest's beim Bearbeiten immer den Unterstrich - ist
aber wieder geändert
Gruß,
kaju
HomeMatic-INSIDE: http://www.homematic-inside.de
-
- Beiträge: 427
- Registriert: 08.03.2010, 13:38
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 34 Mal
Re: XML-RPC Interface-Beschreibung
hab mich mittlerweile auch mit der xml-rpc schnittstelle beschäftigt, vll stell ich da auch noch um
was mich aber zur zeit eher intressiert ist der init-befehl...
habe jetz einen eigenen xml-rpc server unter android laufen, bekomme auch calls rein und kann die einfachen kanns auch parsen. probleme hab ich noch mit den multicalls.
Welchen Typ hat denn der Parameter den ich da bekomme ? Bei ArrayList oder Vector bekomm ich eine ClassCastException.
was mich aber zur zeit eher intressiert ist der init-befehl...
habe jetz einen eigenen xml-rpc server unter android laufen, bekomme auch calls rein und kann die einfachen kanns auch parsen. probleme hab ich noch mit den multicalls.
Welchen Typ hat denn der Parameter den ich da bekomme ? Bei ArrayList oder Vector bekomm ich eine ClassCastException.
Zuletzt geändert von ultrah am 06.08.2010, 17:03, insgesamt 2-mal geändert.
-
- Beiträge: 407
- Registriert: 06.03.2009, 15:38
- Wohnort: Karlsruhe
- Danksagung erhalten: 1 Mal
Re: XML-RPC Interface-Beschreibung
Hi.
Also, multicalls werde als Array verschickt. die wiederrum structs für jeden einzelnen call enthalten. Ein Beispiel sagt glaub mehr als viele Worte. Habe Kommentare eingefügt um den Überblick ein bisschen zu behalten:
hier kommen 2 events rein für einen Dimmer. Einmal der Wert ("LEVEL") und noch ("WORKING"). Die Events sind aufgebaut wie oben beschrieben. Ich hoffe das hilft.
Btw. schau mal in deine PMs. du hast schon seid Ewigkeiten Post!
Also, multicalls werde als Array verschickt. die wiederrum structs für jeden einzelnen call enthalten. Ein Beispiel sagt glaub mehr als viele Worte. Habe Kommentare eingefügt um den Überblick ein bisschen zu behalten:
Code: Alles auswählen
<?xml version="1.0"?>
<methodCall>
<methodName>system.multicall</methodName>
<params>
<!-- Hier beginnen die Parameter von system.multicall -->
<param>
<value>
<!-- Hier beginnt das Array mit den Calls -->
<array>
<data>
<!-- 1. Call -->
<value>
<struct>
<member>
<name>methodName</name>
<value><string>event</string></value>
</member>
<member>
<name>params</name>
<value>
<array>
<data>
<value><string>1234567890</string></value>
<value><string>GEQ0000123:1</string></value>
<value><string>LEVEL</string></value>
<value><double>0.005</double></value>
</data>
</array>
</value>
</member>
</struct>
</value>
<!-- 2. Call -->
<value>
<struct>
<member>
<name>methodName</name>
<value><string>event</string></value>
</member>
<member>
<name>params</name>
<value>
<array>
<data>
<value><string>1234567890</string></value>
<value><string>GEQ0000123:1</string></value>
<value><string>WORKING</string></value>
<value><boolean>true</boolean></value>
</data>
</array>
</value>
</member>
</struct>
</value>
</data>
</array>
<!-- Ende des Calls Array -->
</value>
</param>
<!-- Ende des system.multicall Parameters -->
</params>
</methodCall>
Btw. schau mal in deine PMs. du hast schon seid Ewigkeiten Post!
-
- Beiträge: 427
- Registriert: 08.03.2010, 13:38
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 34 Mal
Re: XML-RPC Interface-Beschreibung
Habs jetzt, bei meinem server ist es ein objectarray der HashMaps enthält. in denen gibts dann jeweils logischerweise wieder methodname und parameter
@posteingang: Tut mir leid, total übersehen !
@posteingang: Tut mir leid, total übersehen !