HomeMatic Software: Unterschied zwischen den Versionen
(XML-RPC hinzugefügt) |
(→Beschreibungen einzelner Komponenten) |
||
| (3 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | *[[ | + | = Beschreibungen einzelner Komponenten = |
| − | *[[ | + | |
| − | *[[ | + | Systemsoftware: |
| + | |||
| + | *[[HomeMatic WebUI]] | ||
| + | *[[HomeMatic Script]] | ||
| + | *[[XML-RPC]] | ||
| + | *[[tcl/shell]] | ||
| + | |||
| + | 3rd Party: | ||
| + | |||
*[[Homeputer CL|Homeputer CL]] | *[[Homeputer CL|Homeputer CL]] | ||
*[[Tools|Tools]] | *[[Tools|Tools]] | ||
| + | |||
| + | = Aufbau der Homematic System-Software = | ||
| + | |||
| + | In diesem Diagramm sind die einzelnen Komponenten der System-Software mit ihren Schnittstellen und Kommunikationswegen dargestellt. | ||
| + | |||
| + | [[Datei:Homematic_Aufbau.png]] | ||
| + | |||
| + | Die Homematic-Software besteht aus mehreren Schichten: | ||
| + | |||
| + | Auf der untersten Ebene liegen drei Daemon-Prozesse, welche die Kommunikation mit den Hardwarekomponenten vornehmen: | ||
| + | |||
| + | *'''rfd''': mit den BidCoS-Funk-Komponenten (direkt oder über HM-CFG-LAN) (Port 2001) | ||
| + | *'''hs485d''': mit den HomeMatic-Wired-Komponenten (Port 2000) | ||
| + | *'''pfmd''': mit der Hardware der CCU selbst (Port 2002) | ||
| + | |||
| + | Diese Prozesse besitzen jeweils eine xmlrpc-Schnittstelle, über welche sie angesteuert werden | ||
| + | können und über welche Ereignisse (z.B. Status-Änderungen) gemeldet werden. Auf dieser Ebene existieren | ||
| + | Geräte und Kanäle nur als Adressen. | ||
| + | |||
| + | {|border=1 cellspacing=0 | ||
| + | | colspan=3 |'''WebUI''' | ||
| + | |- | ||
| + | | colspan=3 align=center |(JSON-RPC) | ||
| + | |- | ||
| + | | colspan=3|'''Webserver''' | ||
| + | |- | ||
| + | | colspan=3 align=center |(HMScript und xmlrpc) | ||
| + | |- | ||
| + | | colspan=3|'''ReGa HSS''' | ||
| + | |- | ||
| + | | align=center |xml, rpc || || | ||
| + | |- | ||
| + | |'''rfd''' ||'''hs485d''' ||'''pfmd''' | ||
| + | |- | ||
| + | |align=center | (TCP/IP)|| || | ||
| + | |- | ||
| + | |'''HM-CFG-LAN'''|| || | ||
| + | |} | ||
| + | |||
| + | Über diesen Prozessen liegt die von EQ-3 als "Logikschicht" bezeichnete Ebene (ReGa, von "Residential Gateway"). | ||
| + | Diese managt die Konfiguration der Hardwarekomponenten, führt WebUI-Programme aus, handhabt die Abarbeitung | ||
| + | von HMScript und ähnliches. Auf dieser Ebene werden auch die Namen und Bezeichnungen der Geräte verwaltet | ||
| + | (in der "homematic.regadom"-Datenbank). | ||
| + | |||
| + | Diese Logikschicht wiederum besitzt zwei Schnittstellen: Zum einen die Möglichkeit, über eine TCL-Bibliothek | ||
| + | HMScript-Befehle auszuführen zu lassen, zum anderen ist über einen Webserver damit ein JSON-RPC-API | ||
| + | realisiert, welches wiederum von der WebUI verwendet wird. Das WebUI wiederum ist eine browserseitige | ||
| + | AJAX-Applikation, welche die Daten der ReGa visualisiert und die ReGa (via JSON-RPC) ansteuert. | ||
| + | |||
| + | Die JSON-API-Befehle kann man mittels http://homematic-ip/api/homematic.cgi einsehen. Wer telnet-Zugang auf | ||
| + | die CCU hat, kann den TCL-Quelltext der einzelnen über das API verfügbaren Methoden im Verzeichnis /www/api/methods | ||
| + | einsehen. Diese lassen auch interessante Rückschlüsse auf interne HMScript- und xmlrpc-Aufrufe zu. | ||
| + | |||
| + | Eine Dokumentation der XML-RPC-Schnittstelle findet sich unter http://www.homematic.com/index.php?id=156 | ||
Aktuelle Version vom 9. Februar 2011, 20:09 Uhr
Beschreibungen einzelner Komponenten
Systemsoftware:
3rd Party:
Aufbau der Homematic System-Software
In diesem Diagramm sind die einzelnen Komponenten der System-Software mit ihren Schnittstellen und Kommunikationswegen dargestellt.
Die Homematic-Software besteht aus mehreren Schichten:
Auf der untersten Ebene liegen drei Daemon-Prozesse, welche die Kommunikation mit den Hardwarekomponenten vornehmen:
- rfd: mit den BidCoS-Funk-Komponenten (direkt oder über HM-CFG-LAN) (Port 2001)
- hs485d: mit den HomeMatic-Wired-Komponenten (Port 2000)
- pfmd: mit der Hardware der CCU selbst (Port 2002)
Diese Prozesse besitzen jeweils eine xmlrpc-Schnittstelle, über welche sie angesteuert werden können und über welche Ereignisse (z.B. Status-Änderungen) gemeldet werden. Auf dieser Ebene existieren Geräte und Kanäle nur als Adressen.
| WebUI | ||
| (JSON-RPC) | ||
| Webserver | ||
| (HMScript und xmlrpc) | ||
| ReGa HSS | ||
| xml, rpc | ||
| rfd | hs485d | pfmd |
| (TCP/IP) | ||
| HM-CFG-LAN | ||
Über diesen Prozessen liegt die von EQ-3 als "Logikschicht" bezeichnete Ebene (ReGa, von "Residential Gateway"). Diese managt die Konfiguration der Hardwarekomponenten, führt WebUI-Programme aus, handhabt die Abarbeitung von HMScript und ähnliches. Auf dieser Ebene werden auch die Namen und Bezeichnungen der Geräte verwaltet (in der "homematic.regadom"-Datenbank).
Diese Logikschicht wiederum besitzt zwei Schnittstellen: Zum einen die Möglichkeit, über eine TCL-Bibliothek HMScript-Befehle auszuführen zu lassen, zum anderen ist über einen Webserver damit ein JSON-RPC-API realisiert, welches wiederum von der WebUI verwendet wird. Das WebUI wiederum ist eine browserseitige AJAX-Applikation, welche die Daten der ReGa visualisiert und die ReGa (via JSON-RPC) ansteuert.
Die JSON-API-Befehle kann man mittels http://homematic-ip/api/homematic.cgi einsehen. Wer telnet-Zugang auf die CCU hat, kann den TCL-Quelltext der einzelnen über das API verfügbaren Methoden im Verzeichnis /www/api/methods einsehen. Diese lassen auch interessante Rückschlüsse auf interne HMScript- und xmlrpc-Aufrufe zu.
Eine Dokumentation der XML-RPC-Schnittstelle findet sich unter http://www.homematic.com/index.php?id=156
