schnellster Zugriff auf Aktoren/Sensoren

Nutzung von XML RPC, Remote Script, JSON RPC, XMLAPI

Moderator: Co-Administratoren

Benutzeravatar
powerup
Beiträge: 320
Registriert: 22.12.2011, 22:19

schnellster Zugriff auf Aktoren/Sensoren

Beitrag von powerup » 22.12.2012, 15:16

Hallo zusammen,

ich plane mir einen Raspberry Pi zuzulegen und möchte etwas mit C++ darauf entwickeln.

Nun ist die Frage wie ich am schnellsten auf die CCU zugreifen kann.

Soll ich die JSON-Schnittstelle oder die XML-API verwenden ?

Oder gibts schon einen besseren Tipp ? Über den USB Stick kann ich vermutlich nicht zugreifen ?

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: schnellster Zugriff auf Aktoren/Sensoren

Beitrag von hobbyquaker » 22.12.2012, 18:11

Soll ich die JSON-Schnittstelle oder die XML-API verwenden ?
ich würde keines von beidem Empfehlen. Nutze XML RPC um direkt an die Geräte zu kommen und Remote Homematic Script (HM-Scripte per HTTP-Post an Port 8181) falls Du an die Logikschicht ran willst.

Hier: http://www.homematic-wiki.info/mw/index ... c_Software siehst Du auch warum XML RPC beim Zugriff auf Geräte unbedingt dem JSON RPC oder der XML API vorgezogen werden sollte - es spart schlicht den Weg durch mehrere TCL und Homematic-Scripts, den ReGaHss Prozess sowie den Webserver - deutlicher performance-Vorteil und weniger Belastung für die CCU.

Und noch ein Hinweis: nicht XML RPC und die XML-API verwechseln. Die XML-API ist eine inoffizielle Erweiterung und arbeitet genauso wie JSON RPC an der Logikschicht.

Grüße

Benutzeravatar
powerup
Beiträge: 320
Registriert: 22.12.2011, 22:19

Re: schnellster Zugriff auf Aktoren/Sensoren

Beitrag von powerup » 24.12.2012, 23:30

Wenn ich den Status abfragen möchte geht das einfacher über XML RPC oder muss ich da an die Logikschicht direkt ran ?

Würde gerne z.B. jede Bewegung in einer Datenbank protokolieren

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: schnellster Zugriff auf Aktoren/Sensoren

Beitrag von hobbyquaker » 26.12.2012, 20:38

Hallo Powerup,

die Logikschicht beherbergt Systemvariablen, Programme, die Zurordnung zu Gewerken und Räumen sowie die Namen von Geräten. Wenn es also nur darum geht einen Wert aus einem Sensor zu lesen oder in einen Aktor zu schreiben (sprich Zugriff auf die Datenpunkte eines Gerätes) brauchst Du die Logikschicht nicht. Möchtest Du allerdings wissen wie ein Gerät heisst, welchem Raum es zugeordnet ist oder wenn Du ein Programm auf der CCU starten möchtest - dann würdest Du die Logikschicht brauchen.

Grüße
Hobbyquaker

PaulG4H
Beiträge: 1184
Registriert: 11.08.2011, 10:09

Re: schnellster Zugriff auf Aktoren/Sensoren

Beitrag von PaulG4H » 08.01.2013, 11:36

Hallo powerup,

ich würde dir empfehlen auch die Logikschicht abzufragen da einige Geräte auch System variablen nutzen (Kombi Sensor für z.B. "max temp heute" usw..) auch sind System variablen allgemein sehr wichtig wenn Programme auf der ccu direkt ausgeführt werden sollten.
Es gibt leider keine Ereignisse auf System variablen ebene, also müssten diese Zeitgesteuert von der CCU abgefragt und bei Änderung in die db geschrieben werden.

Welche Datenbank möchtest du auf dem raspberry verwenden MySQL?

Aktuell verwende ich die xml-api und wandle die xml Dateien um um diese in die MySQL db zu schreiben, dies ist aber leider nicht die beste Lösung, wenn also jemand ein C Programm machen würde welches alle Ereignisse und auch die System variablen in eine MySQL DB schreiben würde wäre das genau das was ich schon lange suchen würde...

Wenn du also jemanden zum Testen brauchst ich habe einige RPI's herumliegen (256 und 512MB RAM Versionen) ;-)

LG

Paul
Apache Reverse Proxy fuer sicheren Zugriff auf die CCU von Unterwegs
Zeitgesteuertes LXCCU / CCU2 Backup damit es immer eine Aktuelle Sicherung gibt!
Diverse weitere Anleitungen für CCU / LXCCU / Raspberry PI

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: schnellster Zugriff auf Aktoren/Sensoren

Beitrag von paul53 » 08.01.2013, 12:20

Hat jemand ein Beispiel, wie man per Remote Homematic Script auf Daten der CCU zugreift ?
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

MaxWrestler
Beiträge: 237
Registriert: 11.12.2011, 12:19
Danksagung erhalten: 1 Mal

Re: schnellster Zugriff auf Aktoren/Sensoren

Beitrag von MaxWrestler » 08.01.2013, 12:47

Hallo paul53,
Prowl ist bei mir eine Systemvariable.

Code: Alles auswählen

http://192.168.169.37:8181/MaxWrestler.exe?ergebnis=dom.GetObject('Prowl').State();
<ergebnis>2013-01-08 09:55:51</ergebnis>

Code: Alles auswählen

-<xml>
<exec>/MaxWrestler.exe</exec>
<sessionId/><httpUserAgent>User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0
</httpUserAgent>
<ergebnis>2013-01-08 09:55:51</ergebnis>
</xml>

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: schnellster Zugriff auf Aktoren/Sensoren

Beitrag von paul53 » 08.01.2013, 15:34

[quote="MaxWrestler"]

Code: Alles auswählen

http://192.168.169.37:8181/MaxWrestler.exe?ergebnis=dom.GetObject('Prowl').State();
Gibt es keine allgemeine Zugriffsmethode, die nicht über eine spezielle ausführbare Datei "MaxWrestler.exe" erfolgt ?
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

Benutzeravatar
Monty1979
Beiträge: 854
Registriert: 28.10.2010, 20:47
Wohnort: Bremen
Kontaktdaten:

Re: schnellster Zugriff auf Aktoren/Sensoren

Beitrag von Monty1979 » 08.01.2013, 15:59

Hallo,
paul53 hat geschrieben:Gibt es keine allgemeine Zugriffsmethode, die nicht über eine spezielle ausführbare Datei "MaxWrestler.exe" erfolgt ?
nimm einfach die XML-API und mit http://<ccuip>/config/xmlapi/state.cgi?datapoint_id=12345 bekommst du deinen Wert

/config/xmlapi/info.html = Hilfe zur API
/config/xmlapi/statelist.cgi = Liste alle Geräte mit Kanälen und aktuellen Werten

MaxWrestler
Beiträge: 237
Registriert: 11.12.2011, 12:19
Danksagung erhalten: 1 Mal

Re: schnellster Zugriff auf Aktoren/Sensoren

Beitrag von MaxWrestler » 08.01.2013, 16:08

paul53 hat geschrieben:Gibt es keine allgemeine Zugriffsmethode, die nicht über eine spezielle ausführbare Datei "MaxWrestler.exe" erfolgt ?
Die Datei kann auch paul.exe heißen :D
Monty1979 hat geschrieben:nimm einfach die XML-API und mit http://<ccuip>/config/xmlapi/state.cgi?datapoint_id=12345 bekommst du deinen Wert
genau, oder bau sie dir "einfach" um so wie du sie brauchst.

Antworten

Zurück zu „Softwareentwicklung von externen Applikationen“