Anwendungsfälle - UI
Beschreibung von einzelnen Verfahren
- Hinzufügen von Datenpunkten
- Verwendung von JSONPath bei den Datenpunkten
- Verwendung von Javascript zur Aufbereitung für die Anzeige
Hinzufügen von Datenpunkten
Mit dem "+" am Ende der Datenpunktliste können neue Datenpunkte mit Energiedaten hinzugefügt werden.
Es erscheint ein Pop-Up, welches die Möglichkeit bietet, entweder einen Helper zu wählen oder Datenpunkte direkt über MQTT hinzuzufügen.
Architektur
Corrently-Current nutzt MQTT im Hintergrund. Dies bedeutet, dass es für jeden Datenpunkt eine Abfolge gibt, welche zunächst das Holen der Daten vom Gerät (Ablauf und Konnektivität), die Aufbereitung der Daten und Übermittlung an einen MQTT Broker, sowie die Anzeige (Visualisierung) beinhaltet.
Nutzung der Helper (Wizards)
Bei den Helper/Wizards handelt es sich um Webseiten, die in der Lage sind eine vollständige Konfiguration für einen bestimmten Typ von Geräte bereitzustellen. Jede Art von Gerät benötigt spezifische Schritte und Parameter, welche im Rahmen des Helper/Wizards abgefragt werden und in einem abschließenden Schritt zum Dashboard hinzugefügt werden.
Je nach Art und Leistungsumfang des hinzugefügten Gerätes werden Konfigurationen erstellt für:
- Visualisierung: Aufbereitung der anzuzeigenden Datenpunkte
- Datenpunkte: Welche Datenpunkte vom Gerät übernommen werden
- Konnektivität: Datenanbindung zum Gerät und Autorisieren
- Ablauf: Automatisierter Prozess (Flow), welcher in Node-RED auf dem EDGE zur Verfügung gestellt wird.
Verwendung von JSONPath bei den Datenpunkten
Einige unterstützte Geräte, wie zum Beispiel EcoFlow, nutzen JSON Dokumente in den Datenpunkten anstelle dedizierte Topics je Wert. Für diese Geräte kann JSON Path genutzt werden, um die Werte aus dem JSON Dokument zu extrahieren.
Beispiel ECOFlow Powerstation
Die 38 lässt sich mit dem JSONPath folgendem Ausdruck extrahieren: $.params['bms_emsStatus.lcdShowSoc']
Dieser Ausdruck kann mit dem Identifier "jsonpath:" als Renderer eingetragen werden:
Verwendung von Javascript zur Aufbereitung für die Anzeige
Als Renderer kann eine Javascript Funktion genutzt werden. Diese wird unmittelbar in als neue Wertzuweisung der Anzeigevariable mit dem prefix "javascript:" eingetragen.
Beispiel
Die AVM Fritz DECT 220 Stecker geben Leistungswerte mit einer Nachkommastelle aus. Zur Anzeige sollen diese gerundet werden (Javascript Math.round()
) der Renderer würde dann lauten: javascript:value=Math.round(value)