CCU-Historian

CCU-Historian
3.0/5 Bewertung (82 Stimmen)

Der CCU-Historian stellt ein Langzeitarchiv für die HomeMatic-Zentrale (CCU) zur Verfügung. In diesem werden Kommunikationsvorgänge der CCU-Schnittstellen (BidCos-RF, BidCos-Wired und System) aufgezeichnet. Darunter befinden sich z.B. die Messwerte aller Sensoren und alle ausgeführten Schaltvorgänge. Aus der Logikschicht der CCU werden zusätzlich die Systemvariablen archiviert. Die gesammelten Daten werden in einer Datenbank abgelegt und stehen daraufhin für Visualisierungen oder Analysen zur Verfügung. Für einen ersten Überblick werden Web-Seiten mit Trend-Diagrammen durch einen eingebetteten Web-Server generiert.

Zielsetzungen

Folgende Zielsetzungen waren und sind bei der Entwicklung maßgebend:
  1. Keine Software-Installation oder Konfiguration auf der CCU.
  2. Verwendung von offiziellen Schnittstellen.
  3. Möglichst geringe Belastung der CCU.
  4. Selbstkonfiguration des Langzeitarchivs.
  5. Verwendung einer Datenbank mit offenen Schnittstellen.
  6. Einfacher Export der Daten über eine Web-Schnittstelle.

Umsetzung

Im Folgenden wird die Umsetzung der einzelnen Ziele näher erläutert:

  • Auf der CCU sind für den CCU-Historian keine zusätzlichen Software-Pakete nötig. Der CCU-Historian kann direkt mit einer neu ausgelieferten CCU verwendet werden. Des Weiteren müssen auch keine gesonderten Programme oder Systemvariablen auf der CCU angelegt werden.

  • Der CCU-Historian verwendet nur die HomeMatic XML-RPC API und die Remote HomeMatic-Script API. Bei der XML-RPC API wird auf die Verwendung des nicht dokumentierten Binärformats verzichtet. Bei der Script API wird auf die Verwendung des nicht dokumentierten Befehls system.Exec verzichtet.

  • Die Kommunikationsvorgänge des CCU-Historians mit der CCU werden auf das Notwendige beschränkt. Datenbankabfragen sind völlig von der CCU entkoppelt, und belasten nur den Rechner auf dem der CCU-Historian läuft.

  • Nach der ersten Konfiguration des CCU-Historians für die Inbetriebnahme, ist keine weitere Konfigurationspflege mehr nötig. Insbesondere wenn Geräte an der CCU angelernt oder entfernt werden, aktualisiert der CCU-Historian selbstständig die Verwaltungsstrukturen in der Datenbank. Von neu angelernten Geräten werden automatisch alle Kanäle und die zugehörigen Parameter erkundet.

  • Auf Grund der zu erwartenden Datenmengen und den vielfältigen Abfragemöglichkeiten wird eine Datenbank mit SQL-Unterstützung und den Schnittstellen JDBC und ODBC verwendet. Dadurch können auch mächtige Report-Werkzeuge wie z.B. BIRT auf die Daten zugreifen.

  • In dem CCU-Historian ist ein Web-Server eingebettet, der für das einfache Exportieren von Zeitreihen und die Generierung von Trend-Diagrammen zuständig ist. Über eine URL mit zusätzlichen Parametern, die im einfachsten Fall über einen Web-Browser eingegeben wird, wird die Abfrage angestoßen.

Der CCU-Historian ist in der Programmiersprache Groovy (http://groovy.codehaus.org) implementiert und benötigt für die Ausführung Java in der Version 6. Er ist damit plattformunabhängig und kann somit auch z.B. unter Linux eingesetzt werden.

Um die zusätzliche Installation einer Datenbank zu vermeiden, wurde die H2 Database Engine (http://www.h2database.com) in den CCU-Historian eingebettet. Diese stellt zusätzlich eine Web-Bedienschnittstelle zur Verfügung. Dadurch kann die Datenbank leicht über einen Web-Browser verwaltet werden.

Über eine Web-Schnittstelle kann der CCU-Historian Daten exportieren oder darstellen. Dazu ist der Web-Server Jetty (http://jetty.codehaus.org/jetty) ebenfalls im CCU-Historian eingebettet. Zusätzlich zu den HTML-Seiten des CCU-Historians kann der Anwender eigene HTML-Seiten über den Web-Server anbieten. Dadurch kann der Anwender beliebige Übersichtsseiten mit aktuellen Messwerten und/oder Trend-Diagrammen erstellen.

Für die Generierung von Trend-Diagrammen wurde die Bibliothek JFreeChart (http://www.jfree.org/jfreechart/) verwendet.

Kommentare // Software

Martin Hund

Martin Hund

12. Juli, 2017 |

Hallo,

ist es möglich, beim Script devicelist.cgi die 50 Kanäle der virtuellen Fernbedienung der CCU2 mit auszulesen? Bei...

Mario Fliegner

Mario Fliegner

16. März, 2017 |

Hallo,

komme ich über die XMLAPI irgendwie an den Temperatur-Offset meiner Funk-Heizkörperthermostate (HM-CC-RT-DN) oder an den...