ich möchte ein Projekt von mir vorstellen, dass sicherlich auch andere CCU-Besitzer interessieren dürfte: Ein Langzeitarchiv für die CCU.
Gruß
Mathias
siehe auch http://www.ccu-historian.de
Hinweis eingefügt von Sambasamba 14.1.2012
Download
Die aktuelle Version 0.3.1: ccu-historian-0.3.1-bin.zip
V0.3.0: ccu-historian-0.3.0-bin.zip
Auszug aus der Dokumentation
1 Einleitung
Der CCU-Historian stellt ein Langzeitarchiv für die HomeMatic-Zentrale (CCU) zur Verfügung. In dem Langzeitarchiv 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.
1.1 Zielsetzungen
Folgende Zielsetzungen waren und sind bei der Entwicklung maßgebend:
- Keine Software-Installation oder Konfiguration auf der CCU.
- Verwendung von offiziellen Schnittstellen.
- Möglichst geringe Belastung der CCU.
- Selbstkonfiguration des Langzeitarchivs.
- Verwendung einer Datenbank mit offenen Schnittstellen.
- Einfacher Export der Daten über eine Web-Schnittstelle.
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 (http://www.eclipse.org/birt/phoenix) 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.
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.
1.3 Ausblick
Folgende Erweiterungen des CCU-Historians sind in einer der nächsten Versionen angedacht:
- Archivierung des Fehlerprotokolls der CCU.
- Archivierung von Gerätedatenpunkten und Systemvariablen vom Datentyp Zeichenkette.
- Speicherung von Geräte- und Kanaleinstellungen in der Datenbank. Dadurch wird eine automatische Dokumentation aller vorgenommenen Konfigurationsänderungen erreicht.