Aufbau von Corrently Current
Corrently Current ist ein System, das aus mehreren Komponenten besteht und es ermöglicht, Messwerte von verschiedenen Geräten und Herstellern in einer Benutzeroberfläche zusammenzufassen. Im Folgenden werdewird ich dender Aufbau dieses Systems technisch beschreiben.
Die zentrale Komponente von Corrently Current ist das Webinterface, das über die Webseite current.corrently.cloud aufgerufen werden kann oder auf einem beliebigen Webserver bereitgestellt werden kann. Der notwendige Quellcode hierfür liegt im GIT-Repository. Wenn der Webserver über HTTPS verfügt, kann das Webinterface auch als Progressive Web App (PWA) auf Endgeräten genutzt werden. Das Webinterface stellt die Benutzeroberfläche dar, über die der Benutzer mit dem System interagieren kann. Es merkt sich auch ein Großteil der für die Anzeige notwendigen Einstellungen.
#Progressive Web App (PWA), Verbindung zu MQTT-Datenquellen, Echtzeitaktualisierung
Das Webinterface verbindet sich mit einem Server, der als Vermittler dient und Verbindungen zu MQTT-Datenquellen, auch bekannt als MQTT Broker, aufbaut. MQTT ist ein Protokoll für die Kommunikation zwischen Geräten in einem Internet of Things (IoT)-Netzwerk. Durch die Verbindung mit den MQTT Brokern kann das Webinterface in Echtzeit auf Datenänderungen reagieren und die Anzeige entsprechend aktualisieren. Das Webinterface benötigt hierdurch keine Kenntnisse über die eigentlichen Protokolle oder Mechanismen, mit denen auf die Geräte zugegriffen wird.
#Corrently Edge: Services auf lokalem Mini-Rechner (z.B. Raspberry Pi)
Um eine möglichst breite Unterstützung von IoT Geräten und Smart Home-Lösungen zu gewährleisten, gibt es eine Komponente namens "Corrently Edge". Corrently Edge besteht aus einer Reihe von Diensten, die auf einem lokalen Mini-Rechner wie einem Raspberry Pi installiert werden können. Einer dieser Dienste ist ein MQTT Broker, der es dem Webinterface von Corrently Current ermöglicht, sich damit zu verbinden und Daten auszutauschen.
Ein weiterer Dienst von Corrently Edge ist eine Node-RED-Instanz. Node-RED ist ein Flow-basierter Programmierungseditor, der den Zugriff auf Geräte ermöglicht, die nicht über MQTT ausgelesen werden können. Dies erweitert die Kompatibilität des Systems, indem es eine Vielzahl von Geräten und Protokollen integrieren kann.
#Cloud Bridge: Übertragung von Messwerten an Cloud-Server
Zusätzlich bietet Corrently Edge einen Dienst namens Cloud Bridge an. Wenn die Cloud Bridge aktiviert ist, werden alle abgerufenen Messwerte an einen Cloud-Server übertragen. Dadurch können die Messwerte auch dann abgerufen werden, wenn sich der Benutzer nicht im selben Netzwerk wie Corrently Edge befindet. Der Zugriff auf die Cloud Bridge erfolgt beispielsweise über die URL https://current.corrently.cloud/.
In Kombination bilden der Cloud-Server, die Progressive Web App Corrently Current und die Dienste von Corrently Edge eine Einheit, um Messwerte wie die aktuelle Leistungsaufnahme (in Watt) von unterschiedlichen Geräten und Herstellern in einer einzigen Anzeige zusammenzufassen. Der Benutzer kann über das Webinterface auf diese Anzeige zugreifen und die Daten in Echtzeit verfolgen.
#Wizards: Konfiguration von geräteabhängigen Einstellungen
Sogenannte Wizards spielen eine wichtige Rolle bei der Konfiguration von Corrently Current. Diese Wizards sind eigenständige Webseiten, die nicht direkt zu Corrently Current gehören, sondern dazu dienen, geräteabhängige Einstellungen zu erfassen. Auf Grundlage dieser Einstellungen werden die Datenpunkte in Corrently Current konfiguriert und gegebenenfalls die erforderlichen Flows in Node-RED erstellt.
Die Wizards bieten eine benutzerfreundliche Möglichkeit, Geräte mit Corrently Current zu verbinden. Im einfachsten Fall genügt die Eingabe der IP-Adresse eines Geräts, um automatisch die relevanten Datenpunkte für die Leistungsaufnahme in Corrently Current anzuzeigen. Zudem werden die Datenabrufe durch Node-RED ermöglicht und über die Cloud Bridge kann der Benutzer auch mobil darauf zugreifen. Durch diese Konfiguration können die Daten in Echtzeit aktualisiert werden. Mit relativ geringen Programmierkenntnissen ist es möglich, neue Wizards für Corrently Current zu erstellen. Dadurch besteht die Möglichkeit, dass in Zukunft eine Vielzahl weiterer Geräte unterstützt werden kann.
Es ist wichtig zu beachten, dass Corrently Current darauf ausgelegt ist, aktuelle Daten von den verbundenen Geräten abzurufen. Das System speichert keine historischen Daten und ermöglicht auch keine direkten Schaltbefehle an die Geräte.
Diese Erweiterung der Beschreibung fügt weitere Details hinzu, wie die Wizards zur Konfiguration von geräteabhängigen Einstellungen dienen und wie die Unterstützung für eine Vielzahl von Geräten durch die Möglichkeit der Erstellung neuer Wizards ermöglicht wird. Zusätzlich wird klargestellt, dass Corrently Current auf die Erfassung aktueller Daten und nicht auf die Speicherung historischer Daten oder das Senden von Schaltbefehlen ausgelegt ist.