Beschreibung
Scripte
Software
Betriebssystem
Das Betriebssystem der CCU1 ist ein embedded Linux. Darauf setzt die Firmware von der Homematic auf. Die aktuelle Firmware ist Version 1.503.
Homematic-Software
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
Listen
- Liste der Prozesse der CCU1 und ihrer Funktion. Die Liste der Prozesse kann über die Konsole mit dem Befehl ps aufgerufen werden.
- Liste der Ports der CCU1 und ihrer Funktion. Die Liste der verwendeten Ports kann über die Konsole mit dem Befehl ? aufgerufen werden.