HomeMatic Software: Unterschied zwischen den Versionen

Aus Wikimatic
Wechseln zu: Navigation, Suche
(Integration ColdFireIce-Diagramm, Split in System- und 3rd-Party-Software)
(Beschreibungen einzelner Komponenten)
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
 
Systemsoftware:
 
Systemsoftware:
  
*[[WebUI|WebUI]]
+
*[[HomeMatic WebUI]]
*[[HomeMatic Script|HomeMatic Script]]
+
*[[HomeMatic Script]]
*[[XML-RPC|XML-RPC]]
+
*[[XML-RPC]]
 +
*[[tcl/shell]]
  
 
3rd Party:
 
3rd Party:
Zeile 17: Zeile 18:
  
 
[[Datei:Homematic_Aufbau.png]]
 
[[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.

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.

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