-
Ich versuche gerade Solectrus neu aufzusetzen um PV Erzeugung und Haus Verbruach zu visualisieren. Meine elektrische Sitauation ist wie folgt: Kann Solecturs den Hauswerbruach aus den beiden gemessenen Werten automatisch berechnen oder muss das ein Drittsystem erledigen? Ich verwende auf beiden Shelly ein Script welches die Aktive Leistung sekündlich via MQTT an Solecturs übermittelt. Aktuell finden die Daten der beiden Zähler erst in Solectrus zusammen, wenn ich vorab den Hausverbrauch errechnen müssten, dann wäre ich für Vorschläge dankbar. Das technische Umfeld bietet aktuell einen MQTT Broker, Solectrus mit MQTT Collector in Docker und die beiden Shelly Meter mit deren Möglichkeiten. In der Theorie könnte ich mit einem Shelly die Daten des anderen regelmäßig abfragen oder auf MQTT Topics reagieren und dann von diesem Shelly alle Solectrus Topics gesammelt übermitteln. Wenn euch was performanteres einfällt, dann sehr gerne! LG Sascha |
Beta Was this translation helpful? Give feedback.
Replies: 7 comments 3 replies
-
Ich nehme an, es gibt bei Dir keinen Speicher, kein E-Auto und keine Wärmepumpe. Wenn ich das richtig verstanden habe, errechnet sich der Hausverbrauch dann wie folgt:
Da die Werte von zwei unterschiedlichen Messstellen kommen (und somit nie gleichzeitig vorliegen), kann diese Berechnung derzeitig mit Bordmitteln nicht von vom Shelly-Collector oder dem MQTT-Collector durchgeführt werden. Letzterer kann seit einiger Zeit zwar rechnen, aber nur innerhalb eines Topics, nicht topic-übergreifend. Kurzfristig wäre das also nur machbar, wenn die Berechnung irgendwo außerhalb stattfindet, z.B. im ioBroker oder Home Assistant und dann über MQTT zu SOLECTRUS gelangt. Es wäre aber denkbar, dass SOLECTRUS in einer zukünftigen Version diese Berechnung selbst durchführt. Eine Idee wäre, dass man Noch allgemeiner: Grundsätzlich könnte man genau einen Wert (falls fehlend) aus den anderen errechnen - auf Basis der Strombilanz (Herkunft = Verwendung). |
Beta Was this translation helpful? Give feedback.
-
Du liegst richitg, es gibt keinen Speicher oder extra gemessene Verbraucher. Wobei Großverbraucher künfitg mit eigenen Zählern (wiederum Shelly) dazukommen könnten. Für ein absolutes Basissetup wäre es für mich schon ein interessanter Ansatz, dass Solectrus ein default Verhalten für den Hausverbrauch hat, wenn nur Daten am Netzanschluss (Import/Export) und von der PV (Erzeugung) existieren. (es also auch keinen konfigurierten Sensor dafür gibt) Leider existieren in diesem aktuellen Setup keine externen Smart Home Systeme wie HA etc. Wenn es nicht erforderlich ist, würde ich die auch gerne weglassen. Der Ansatz den ich jetzt versuchen will ist, dass einer der beiden Shelly auserkoren wird, die Daten von sich und dem anderen Shelly zu sammeln, berechnungen zu machen und dann über die bestehenden MQTT Topics die Daten übermittelt. Ich denke von der Rechenleistung sollte das passen, vor allem, wenn ich zB das Intervall auf 5 Sekunden hochdrehe. Ich stelle mir vor, dass einer der Shelly auf ein Topic des anderen subscribed und via Script dann auf eine passende eingehende MQTT Nachricht reagiert, berechnungen macht und an Solectrus via MQTT published. |
Beta Was this translation helpful? Give feedback.
-
Wäre das nicht wiederum ein möglicher Use Case für den Power Splitter? Der dient aktuell ja schon dazu die Verbrauchsdaten live zu manipulieren. |
Beta Was this translation helpful? Give feedback.
-
Für mich werde ich mal drei Erweiterungen notieren und separate Issues anlegen:
Damit wäre dann dein Szenario abzubilden, ohne dass MQTT benötigt wird. Es wären dann zwei unterschiedlich konfigurierte Shelly-Collectoren im Einsatz, sonst nichts. Der PowerSplitter hat die Aufgabe, den Netzanteil von einem Stromverbrauch zu bestimmen. Du hast recht, das ist etwas Ähnliches. Aber das brauchen wir für dein Szenario vermutlich nicht bzw. wäre übertrieben aufwändig. Auch hat der PowerSplitter den Nachteil, dass er nur einmal pro Stunde rechnet. Das könnte man zwar hochdrehen, was aber den Traffic auf der InfluxDB sehr erhöhen würde, was ich gerne vermeiden möchte. Die Differenzberechnung eines fehlenden Wertes (z.B. Hausverbrauch) dürfte recht einfach sein und könnte ohne expliziten Messwert in InfluxDB auskommen. Das wäre vergleichbar mit dem bereits vorhandenen Feature Bei deinem Lösungsansatz fällt mir noch auf, dass ein Shelly (soweit mir bekannt) nur MQTT-Client sein kann. Wenn du also in irgendeiner Weise mit MQTT hantierst, brauchst du zwingend irgendwo einen MQTT-Broker. Auch der MQTT-Collector verbindet sich nicht direkt mit einem Shelly, sondern nur mit einem MQTT-Broker. Wenn es kein Smarthome-System gibt, müsstest du auf etwas cloud-basiertes ausweichen, z.B. HiveMQ. |
Beta Was this translation helpful? Give feedback.
-
Ich fände diese Erweiterungen sehr gut - das macht Energiemonitoring (inkl. Solectrus) kostentechnisch sehr niederschwellig zugänglich, da man bereits mit einem eher günsitgen Meter wie einem Shelly Pro 3 EM ein minimal Setup ohne großem Mehraufwand zustandebringt. Bei mir läuft Mosquitto als MQTT Broker. Damit können beide Shelly und Solectrus über MQTT kommunizieren. |
Beta Was this translation helpful? Give feedback.
-
Ich teste das gerade mittels Shelly Scripts wie beschrieben, kannst du meinen Gedanken bestätigen, dass bei kombiniertem Wert für Import und Export die Formel lautet: Hausverbrauch = Erzeugung - Netz wobei Netz bei Export einen positiven Wert hat und bei Import einen negativen? Meine händischen Rechnungen würden das zumindest bestätigen. |
Beta Was this translation helpful? Give feedback.
-
Der gesamte Ansatz scheint zu funktionieren. Shelly 1 Publisht via MQTT, Shelly 2 reagiert auf diese Message indem er erstens die eigene gemessene Leistung abfragt, den Wert aus der Message von Shelly 1 entgegennimmt und daraus dann den Hausverbrauch berechnet. Shelly 2 publisht anschließend drei Messages auf den drei definierten MQTT Topics auf die auch Solectrus hört. Für Interessierte die Scripte anbei. (bedarf möglicherweise individuelle Anpassungen) Shelly A (liest die eigene gemessene Leistung aus und publisht den Wert in einem definiertem Zeitintervall - hier die Inverter Leistung)
Shelly B (nimmt den Wert von Shelly A entgegen, liest den eigenen Leistungswert aus und bereitet die Daten für Solectrus auf. Dieser Shelly könnte auch noch andere Messdaten abfragen, aufbereiten und publishen - zB ist hier noch eine Wärmepumpe vorbereitet)
EDIT 29.08.2024: Das beschriebene Setup läuft und funktinoiert einwandfrei mit dem MQTT Collector von Solectrus. Die beiden Scripte (wurden final aufgeräumt und inline dokumentiert) dienen als Anhaltspunkt für alle, die eine ähnliche Situation vorfinden und zB mit Shelly Meter auskommen müssen. Es wäre denkbar, dass weitere Shelly hinzukommen, welche dann auch von dem zentralen "Data Processor Shelly" vorbereitet und an Solectrus übermittelt werden. Der Vorteil an einem Setup wie diesem sind zum einen die geriengen Hardwarekosten und zum anderen, dass man sich Drittsoftware sparen kann, welche die Werte sonst aufbereiten würde. (Homeassistant, ioBroker, evcc, etc.) |
Beta Was this translation helpful? Give feedback.
Der gesamte Ansatz scheint zu funktionieren. Shelly 1 Publisht via MQTT, Shelly 2 reagiert auf diese Message indem er erstens die eigene gemessene Leistung abfragt, den Wert aus der Message von Shelly 1 entgegennimmt und daraus dann den Hausverbrauch berechnet. Shelly 2 publisht anschließend drei Messages auf den drei definierten MQTT Topics auf die auch Solectrus hört.
Für Interessierte die Scripte anbei. (bedarf möglicherweise individuelle Anpassungen)
Shelly A (liest die eigene gemessene Leistung aus und publisht den Wert in einem definiertem Zeitintervall - hier die Inverter Leistung)