Leistungserfassung mit Shelly

Werte in openWB visualisieren, mittels Zählers oder auch durch andere Systeme als Datenquelle
gvz
Beiträge: 94
Registriert: So Sep 12, 2021 8:28 am
Wohnort: Grevenbroich
Has thanked: 9 times
Been thanked: 7 times

Re: Leistungserfassung mit Shelly

Beitrag von gvz »

Ich hatte mich da gestern eingelesen (2.1.8p1).

Überhaupt ist die Shelly-Einbindung m.E. buggy, z.B. wird die klare und sinnvolle Auswahl "alle Werte summiert" vs. "Kanal 0", ... nicht richtig interpretiert: Man muss immer "einen drauf" zählen.

In welcher Forumsecke sollte ich das diskutieren? Patche kann ich gerne liefern.
OpenWB S2 (Touchscreen, RFID, Zähler, 11kW), 10 kWp PV ohne Speicher, ID.3
aiole
Beiträge: 8578
Registriert: Mo Okt 08, 2018 4:51 pm
Has thanked: 157 times
Been thanked: 169 times

Re: Leistungserfassung mit Shelly

Beitrag von aiole »

gvz hat geschrieben: Do Okt 09, 2025 3:30 pm In welcher Forumsecke sollte ich das diskutieren? Patche kann ich gerne liefern.
Ich denke, dass du hier bleiben kannst. Patches als Github-PR wären immer am einfachsten. Die werden von der Entwicklung vorab geprüft und auf Github kommentiert.
gvz
Beiträge: 94
Registriert: So Sep 12, 2021 8:28 am
Wohnort: Grevenbroich
Has thanked: 9 times
Been thanked: 7 times

Re: Leistungserfassung mit Shelly

Beitrag von gvz »

Ein erster Rohentwurf, der gegen meinen Shelly-Zoo und auch die von Proxima mir privat zugeschickten Daten läuft, ist fertig - erst einmal nur für "watt.py":

https://github.com/gvzdus/core/blob/sma ... ly/watt.py

Nein, das Fehlerhandling & Co. muss noch wieder rein, auch mehr Kommentare & Subfunktionen.

Grundidee:
- Weg von konkreten Shelly-Modellen, Featureset abfragen und cachen (dafür wird "components" erstellt und auf Platte gecacht)

Frage(n):
- Das ist jetzt ein größerer Rewrite, ist das für den Original-Autor okay?
- Eigentlich bevorzuge ich immer die geräteinternen Energiezähler, vor allem bei Gen2+, wo die Daten i.d.R. den Reboot des Shellys überleben. Aber aktuell wird in "watt.py" nur die Leistung abgefragt. Wenn ich das jetzt einbauen würde, kriegen die OpenWB-eigenen Zähler ggf. einen Schock. Hast Du eine Meinung dazu?

Was mir noch auffällt: Mit dem sehr an die alte 1.9-Welt erinnernden permanenten Interpreter-Starts wird es auf einem Raspi 3B wohl eher kniffelig, einmal mehr als 10 SH-Geräte zu supporten...

Georg
OpenWB S2 (Touchscreen, RFID, Zähler, 11kW), 10 kWp PV ohne Speicher, ID.3
Gero
Beiträge: 4537
Registriert: Sa Feb 20, 2021 9:55 am
Has thanked: 43 times
Been thanked: 257 times

Re: Leistungserfassung mit Shelly

Beitrag von Gero »

Das ist ja alles über die Zeit entstanden. Dann kamen die Gen2, dann die Gen3 und alle wurden nach und nach integriert, ohne die nachfolgenden Generationen und deren Antworten zu kennen. Von daher kann ich gut verstehen, dass das Coding nicht so dolle ist. Das coding müsste von @okaegi sein, der auch das ganze smarthome2 gebauut hat.

Die shelly-eigenen Zähler sind m.W. nach ignoriert worden, weil die ersten entweder keinen hatten oder ihn beim reboot verloren haben, was im Sinne vom logging streng monoton steigender Werte genauso gut wie kein Zähler ist. Bevor man da mit Offsets herumhantiert nimmt man einfach einen Simcount.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
gvz
Beiträge: 94
Registriert: So Sep 12, 2021 8:28 am
Wohnort: Grevenbroich
Has thanked: 9 times
Been thanked: 7 times

Re: Leistungserfassung mit Shelly

Beitrag von gvz »

Okay, dann lasse ich das so.
Den Code wollte ich jetzt so lassen:

https://github.com/gvzdus/core/blob/sma ... ly/watt.py

Ich gehe jetzt nur noch an das Testing mit dem größeren Zoo.

Zur Idee des Cachings: Eigentlich war die Idee, statt dem großen "Shelly.GetStatus" eher gezielt die Sub-Systeme anzusprechen (z.B. http://192.168.0.12/rpc/EM.GetStatus?id=0). Aber ich lasse das lieber: Zu viel Risiko, und zum anderen wird ja auch Relay-Status und Temperaturen abgefragt, und zudem habe ich einen Cache von 5 Sekunden eingebaut, sodass - wenn z.B. 2 Werte von einem 2PM abgefragt werden, nicht 2 HTTP-Requests auf die gleiche URL abgesetzt werden.

Außerdem gibt es jetzt Infos zur Device-Discovery im Smarthome.log:

Code: Alles auswählen

2025-10-11 11:15:30,978 - Device 1 IP 192.168.0.12: /shelly response {"name":null,"id":"shellypro3em63-fce8c0dacd18","mac":"FCE8C0DACD18","slot":0,"model":"SPEM-003CEBEU63","gen":2,"fw_id":"20250924-062749/1.7.1-gd336f31","ver":"1.7.1","app":"Pro3EM","auth_en":false,"auth_domain":null,"profile":"triphase"}
Device 1 IP 192.168.0.12:  /rpc/Shelly.ListProfiles response {"profiles":{"monophase":{"components":[{"type":"em1","count":3},{"type":"em1data","count":3}]},"triphase":{"components":[{"type":"em","count":1},{"type":"emdata","count":1}]}}}
Device 1 IP 192.168.0.12:  cached info {"name": null, "id": "shellypro3em63-fce8c0dacd18", "mac": "FCE8C0DACD18", "slot": 0, "model": "SPEM-003CEBEU63", "gen": "2", "fw_id": "20250924-062749/1.7.1-gd336f31", "ver": "1.7.1", "app": "Pro3EM", "auth_en": false, "auth_domain": null, "profile": "triphase", "components": {"em": 1, "emdata": 1}}
OpenWB S2 (Touchscreen, RFID, Zähler, 11kW), 10 kWp PV ohne Speicher, ID.3
gvz
Beiträge: 94
Registriert: So Sep 12, 2021 8:28 am
Wohnort: Grevenbroich
Has thanked: 9 times
Been thanked: 7 times

Re: Leistungserfassung mit Shelly

Beitrag von gvz »

So, jetzt reicht es mir aber :-)

Mir fiel bei den Tests auf, dass bei allen Gen2+-Geräten ja die Authentifizierung nicht mehr läuft (Basic-Auth unsupported ziemlicher Blödsinn ohne Verschlüsselung).
Also habe ich das noch eingebaut - dafür war ein Wechsel auf die "requests"-Library nötig - die wird aber auch im OpenWB-Code verwendet.

Tests durch - ich stelle den PR
OpenWB S2 (Touchscreen, RFID, Zähler, 11kW), 10 kWp PV ohne Speicher, ID.3
Gero
Beiträge: 4537
Registriert: Sa Feb 20, 2021 9:55 am
Has thanked: 43 times
Been thanked: 257 times

Re: Leistungserfassung mit Shelly

Beitrag von Gero »

Hihi. Software ist ja ab und an wie ein Strickpullover, an dem man an einem raushängenden Fädchen zieht....

Trotzdem danke für die Mühe, ich teste im Master auch mal mit meinen Shellies.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
Antworten