CometVisu
CometVisu
| |
---|---|
Basisdaten
| |
Betriebssystem | Linux, Windows, macOS, Unix, OpenBSD, FreeBSD |
Programmiersprache | JavaScript, optional PHP |
Kategorie | Gebäudeautomatisierung |
Lizenz | GPL |
www.cometvisu.org |
CometVisu ist eine mit Web-Technologien realisierte Echtzeit-Visualisierung für Gebäudeautomatisierung[1]. Hier werden verschiedene Zustände eines Gebäudes (Wo ist das Licht an? Wie hoch ist die Ist-Temperatur?) dargestellt und auch eingestellt (Soll-Temperatur). Zur Darstellung wird im Gegensatz zu anderen gängigen Lösungen keine spezielle Software, sondern nur ein Webbrowser benötigt, was eine nahtlose Benutzung auf mobilen Geräten erlaubt.
Erhältlich ist die CometVisu unter der GNU General Public License (GPL) von der GitHub-Projektseite. Außerdem wird sie inzwischen (ab Version 1.1) vorinstalliert mit dem WireGate Multifunktionsgateway, einer Appliance für Smarthomes, ausgeliefert.[2]
Geschichte
Die CometVisu ist eine Entwicklung, die aus Diskussionen im KNX-Userforum, der größten deutschsprachigen Informationsplattform zum Thema KNX-Standard (KNX) und „Smart living“, entstanden ist. Erste Ansätze gab es mit internen Diskussionen im Sommer 2010, einer öffentlichen Ankündigung am 30. Oktober 2010[3] und der ersten Veröffentlichung, der Version 0.5.0, am 24. Oktober 2010.[4]
Entwickelt wurde die CometVisu, da es zum damaligen Zeitpunkt keine andere Web-basierte Visualisierung gab, die in Echtzeit Statusänderungen anzeigen konnte. Üblich waren im Jahr 2010 Visualisierungen, die auf dem Rechner installiert werden mussten und somit einen Computer mit Windows als Voraussetzung hatten. Auch gab es bereits Ansätze für Web-Visualisierungen. Diese konnten nur durch regelmäßiges Polling einen Statuswechsel anzeigen, was eine hohe Systembelastung bei gleichzeitig hoher Latenz der Anzeige zur Folge hatte.
Seit dem Jahr 2013 kann die CometVisu als Visualisierung für OpenHAB verwendet werden[5]. Dies bildet auch die technische Grundlage des JUNG Smart Visu Server, der seit 2016 verfügbar ist[6].
Versionsgeschichte
Version | Veröffentlichung | Bemerkungen | |
---|---|---|---|
0.5.0 | 24. Oktober 2010 | Erste Veröffentlichung (nur im SVN-Repositorium), für internen Betatest.*) | |
0.5.1 | 26. November 2010 | Erste Veröffentlichung als Paket. Neue Widgets. Einbau eines Editors. | |
0.5.2 | 11. Dezember 2010 | Der Visu kann mit Plug-ins erweitert werden. | |
0.5.3 | 6. Februar 2010 | Zusätzliche Designs. | |
0.6.1**) | 27. November 2012 | Deutliche Erweiterung der Funktionen. Veröffentlichung für den öffentlichen Betatest.*) | |
0.6.2 | 30. Dezember 2012 | Fehlerbereinigte Veröffentlichung. | |
0.8.0 | 17. November 2013 | Deutliche Erweiterung der Funktionen, z. B. auf mehrere Spalten oder 2D-Seiten. Neuer Editor. openHAB als weitere Datenquelle. | |
0.8.1 | 8. Februar 2014 | Fehlerbereinigte Veröffentlichung. Außerdem neues Plug-in (Gauge). | |
0.8.2 | 2. März 2014 | Fehlerbereinigte Veröffentlichung. Leichte Weiterentwicklung bei den Diagrammen und Gauge. | |
0.8.3 | 4. Mai 2014 | Leichte Weiterentwicklungen, insbesondere bei den Diagrammen. | |
0.8.4 | 11. November 2014 | Interne Umstellung auf AMD. | |
0.8.5 | 15. Januar 2015 | Zusätzliches Management-Interface um verschiedene Konfigurationsdateien rein über die Weboberfläche bearbeiten zu können. | |
0.9.0 | 8. November 2015 | Interne Umstellung der Webseiten-Erzeugung um bei großen Konfigurationen schneller zu laden. | |
0.9.1 | 13. März 2016 | Erweiterung der Layout-Einstellungen um responsive Seiten zu erlauben. | |
0.9.2 | 1. Mai 2016 | Fehlerbereinigung beim DPT:6.010 encoding und bei der Darstellungen von Infoaction-Widgets im Metal-Design. | |
0.10.0 | 5. März 2017 | Deutliche Verkürzung der Ladezeiten durch lokales Zwischenspeichern (Cache). | |
0.10.1 | 2. April 2017 | Performance-Verbesserung beim Login. | |
0.10.2 | 9. April 2017 | Kleiner Bugfix. | |
0.11.0 | 10. März 2019 | Einige Bugfixes und neue Features (Notification and Error Reporting, *.txt-Editor, Docker-Container, Demo-Mode, ...) | |
0.11.1 | 13. April 2019 | Einige Bug-Fixes. | |
0.11.2***) | 11. August 2019 | Einige Bug-Fixes (Slider-Updates, Templates mit Multi-Child-Nodes, ...). | |
Legende: Ältere Version; nicht mehr unterstützt Ältere Version; noch unterstützt Aktuelle Version Zukünftige Version |
*) In der Anfangszeit der Entwicklung wurde zwischen internem und öffentlichen Betatest unterschieden. Interne Betatester waren die Betatester des WireGate, auch wenn die CometVisu selbst seit den ersten Anfängen über das Versionsverwaltungssystem und den Veröffentlichungen auf SourceForge allen Interessierten zur Verfügung stand.
**) Aufgrund technischer Probleme wurde 0.6.0 gleich durch die inhaltlich identische Version 0.6.1 ersetzt.
***) Siehe GitHub[7]
Neben den in dieser Tabelle dargestellten Versionen gab es einige Vorabveröffentlichungen und Releasekandidaten mit teilweise deutlichen Entwicklungshüben. Dies fand besonders vor der Version 0.6 (dem Start des öffentlichen Betatests) und der Version 0.8 (dem Wechsel des Editors) statt.
Technik
Clients
Alle Webbrowser, die moderne Standards unterstützen, sind zur Darstellung und Interaktion mit der Visualisierung geeignet. Dies gilt neben üblichen PC-basierten Browsern wie Google Chrome oder Firefox für mobile Geräte mit Android oder Apple iOS.
Designs
Aufgrund der Verwendung allgemeiner Internettechnologien (HTML, CSS) können leicht eigene Designs implementiert werden. Mitgeliefert werden (Stand 24. Januar 2015, Version 0.8.5) bereits neun verschiedene, vom minimalistischen „Pure“, über „Planet“ im Stil der Star-Trek-Produktionen (LCARS) bis zu „Metal“ in modernem Look.[8]
Editor
Die CometVisu kommt mit einem integrierten Editor, der bis zur Version 0.6 als WYSIWYG-Editor implementiert war.
Ab Version 0.8 wurde dieser durch einen universelleren Editor ersetzt, der die XML-basierten Konfigurationsdateien direkt nach den gültigen Regeln des definierenden XML-Schemas (XSD) bearbeiten lässt. So ist die Anpassung auch für Anwender ohne XML-Kenntnisse möglich.
Server
Die CometVisu benötigt serverseitig im Wesentlichen nur einen Webserver. Wenn dieser PHP unterstützt, können auch optionale Komponenten wie der Editor verwendet werden. Zur Anbindung an die Gebäudeautomatisierung existieren zwei verschiedene Backends. Eines basiert auf dem eibd, einem Open-Source-Daemon zur Kommunikation mit KNX, das andere setzt auf OpenHAB auf.
Übertragungsprotokoll
Als Übertragungsprotokoll wird das frei verfügbare CometVisu-Protokoll verwendet. Basis ist ein „Long Polling“, auch bekannt unter dem Namen Comet-Pattern, einer Ajax-Programmiertechnik.
Weblinks
Einzelnachweise
- ↑ Stefan Heinle: Heimautomation mit KNX, DALI, 1-Wire und Co.. Rheinwerk Verlag, 2016, ISBN 978-3-8362-3461-0.
- ↑ WireGate Release Notes (repo.wiregate.de)
- ↑ Open Automation: New Sub-Projects (SourceForge)
- ↑ Open Automation: CometVisu Beta Release 0.5.1 (SourceForge)
- ↑ openHAB - User Interfaces. In: openHAB . Abgerufen am 28. März 2015.
- ↑ JUNG -Smart Visu Server. In: Jung . Abgerufen am 14. November 2016.
- ↑ https://github.com/CometVisu/CometVisu/releases
- ↑ CometVisu: demo config: swiss (cometvisu.org)