Verwendung von ioBroker zum Zusammenfassen von Verbrauchsdaten #3782
ledermann
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Derzeitig läuft der Beta-Test für die Visualisierung selbstdefinierte Verbraucher in SOLECTRUS. Die Idee ist, den Verbrauch ausgewählter Geräte mit separaten Stromzählern (z.B. von Shelly) zu messen und in SOLECTRUS darzustellen.
Eine Möglichkeit, die Verbrauchdaten zu SOLECTRUS zu bekommen, ist die Verwendung des Shelly-Collectors. Dieser fragt die Messwerte der Shellys permanent ab und speichert sie in der InfluxDB, die von SOLECTRUS gelesen wird.
Das funktioniert gut, hat aber zwei Nachteile, wenn man viele Geräte einbinden möchten:
Gruppenbildung als Lösung
Eine Lösung kann sein, die Verbrauchswerte der Shellys thematisch in Gruppen zusammenzufassen und nur die Gruppen-Summen an SOLECTRUS zu senden.
Als Gruppen könnte man z.B. "Küche", "IT", "Heizen", "Wäsche" oder was auch immer definieren. Ich möchte kurz zeigen, wie man das mit ioBroker machen kann. Es gibt sicherlich viele andere Möglichkeiten, das zu realisieren. Man muss auch nicht zwingend ioBroker verwenden, mit HomeAssistant oder ganz anderen Tools geht das sicherlich auch.
Grob skizziert bin ich so vorgegangen:
Schritt 1: Shelly konfigurieren
In jedem Shelly wird MQTT aktiviert und konfiguriert, sodass er seine Messwerte an ioBroker sendet. Hier ein Beispiel:
Der Shelly sendet dann bei jeder Änderung des Verbrauches eine Nachricht an ioBroker. Dieser speichert die Nachricht als Objekt, beispielsweise im Pfad `mqtt/0/Shelly/iMacPro'.
Das macht man für jeden einzelnen Shelly. Ob es klappt, sollte man im ioBroker überprüfen, auch das dortige Log ist hilfreich, um Fehler zu finden.
Schritt 2: ioBroker-Skript erstellen
In ioBroker installiert man zunächst die Script-Engine. Diese ermöglicht es, eigene Skripte zu erstellen, die auf Ereignisse reagieren und Aktionen ausführen.
Ich habe folgendes Script geschrieben, das die Verbrauchswerte von sieben Shellys in zwei Gruppen zusammengefasst (Küche und IT) und die Summe berechnet. Das Ergebnis wird jeweils in einem separaten Objekt gespeichert und alle 5 Sekunden aktualisiert.
Das Script ist nicht geeignet, um es einfach so zu kopieren, da es spezifisch für meine Konfiguration ist. Aber es zeigt, wie das prinzipiell funktioniert.
Den MQTT-Broker weist man nun an, dass er die Datenpunkte
javascript.0.*
bereitstellt. Dadurch kommt man von außen an die berechneten Werte heran.Schritt 3: MQTT-Collector konfigurieren
Den Shelly-Collector benötigt man gar nicht mehr. Stattdessen richtet man den MQTT-Collector so ein, dass er die berechneten Summen abholt:
Beta Was this translation helpful? Give feedback.
All reactions