Homematic Zentrale CCU1
Inhaltsverzeichnis
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.