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.
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 (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.
