Support-Thread Modul 36_Shelly.pm

Begonnen von Prof. Dr. Peter Henning, 03 Februar 2021, 08:03:09

Vorheriges Thema - Nächstes Thema

JWRu

Ich habe ein Problem mit einem Shelly Plus Plug:
Der Plug wird über ein "at" einmal in der Woche für 3 Stunden eingeschaltet: "set ShellyPlug09 on-for-timer 10800".
Während der gesamten 3 Stunden erhalte ich im Minutentakt folgende Meldungen im FHEM-Log:
2025.03.16 10:00:03 2: ShellyPlug09 have set timer=10740 to helper
2025.03.16 10:00:03 2: [Shelly_status2G:timex] ShellyPlug09 calculated update timer is 10740 vs duration=10796.2
2025.03.16 10:00:03 2: [Shelly_status2G:timer] ShellyPlug09 calculated update timer is 60
2025.03.16 10:01:04 2: ShellyPlug09 have set timer=10680 to helper
2025.03.16 10:01:04 2: [Shelly_status2G:timex] ShellyPlug09 calculated update timer is 10680 vs duration=10736.0
2025.03.16 10:01:04 2: [Shelly_status2G:timer] ShellyPlug09 calculated update timer is 60
2025.03.16 10:02:04 2: ShellyPlug09 have set timer=10620 to helper
2025.03.16 10:02:04 2: [Shelly_status2G:timex] ShellyPlug09 calculated update timer is 10620 vs duration=10675.9
2025.03.16 10:02:04 2: [Shelly_status2G:timer] ShellyPlug09 calculated update timer is 60
2025.03.16 10:03:04 2: ShellyPlug09 have set timer=10560 to helper
2025.03.16 10:03:04 2: [Shelly_status2G:timex] ShellyPlug09 calculated update timer is 10560 vs duration=10615.7
2025.03.16 10:03:04 2: [Shelly_status2G:timer] ShellyPlug09 calculated update timer is 60
2025.03.16 10:04:04 2: ShellyPlug09 have set timer=10500 to helper
2025.03.16 10:04:04 2: [Shelly_status2G:timex] ShellyPlug09 calculated update timer is 10500 vs duration=10555.6
2025.03.16 10:04:04 2: [Shelly_status2G:timer] ShellyPlug09 calculated update timer is 60
2025.03.16 10:05:04 2: ShellyPlug09 have set timer=10440 to helper
2025.03.16 10:05:04 2: [Shelly_status2G:timex] ShellyPlug09 calculated update timer is 10440 vs duration=10495.4
2025.03.16 10:05:04 2: [Shelly_status2G:timer] ShellyPlug09 calculated update timer is 60
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Starkstrombastler

Zitat von: JWRu am 17 März 2025, 11:43:06Während der gesamten 3 Stunden erhalte ich im Minutentakt folgende Meldungen im FHEM-Log:
Die Meldungen bedeuten, dass alles ordnungsgemäß funktioniert.

Für alle, die sich an den Log-Meldungen stören wird im nächsten Update der Level hochgesetzt.
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

JWRu

ZitatFür alle, die sich an den Log-Meldungen stören wird im nächsten Update der Level hochgesetzt.
Prima, ich habe verbose eh schon auf 2 gesetzt.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

curt

#1128
Hallo @Starkstrombastler,
darf ich bitte einen Wunsch äußern?

Für 1PM+ und sowie für EM3 hätte ich gern die negative Energie in kWh je Jahr (und Vorjahr).

Ich begründe:
Seit kurzem liefert hier ein Balkonkraftwerk 4x195 mit Inverter(800) Strom. Derzeit reicht eine Anmeldung bei der Bundesnetzagentur und gelegentlich kommen die Stadtwerke und bauen einen Zähler mit Rücklaufsperre ein.

Das bedeutet, dass Einspeisung oberhalb des aktuellen Verbrauchs im Klimaschutzgedanken zwar nett, im privaten Geld-Gedanken aber verschossen sind: Um eine reale Einsparung zu rechnen, muss der eingespeiste Teil abgezogen werden!

Wenn man nun der teuersten Ehefrau begründen will, wann sich sowas rechnet, muss man von der erzeugten und ins Hausnetz eingespeisten Energie die mit negativem Vorzeichen behaftete Energie abziehen, die die Shelly-Device liefert und sodann mit dem hier aktuellen Preis von 0,30 € multiplizieren. Damit hätte man dann "ersparte Energie", idealerweise pro Jahr.

Aus meiner Sicht ganz praktisch bedeutet das, dass primär die Readings "pro Jahr" (pro Vorjahr) interessant sind; kleiner Zeiträume wären "nice to have", ansich aber bedeutungslos.

Ins Auge sticht mir "energyReturned_TTL" in Wattstunden, das ist offensichtlich die Energie seit "Balkonkraftwerk aufgebaut" und somit die halbe Miete.

Ich bitte also um ein Reading "negative Energie im Jahr [kWh]" sowie Vorjahr. Die Readings könnten heißen:
* energyReturned_year
* energyReturned_lastyear

P.S: Bei genauem Nachdenken reicht das eigentlich für EM3, genau da passiert es ja im Grunde. (Für 1PM+ u.ä. wäre es lediglich nice-to-have.)

Danke!
RPI 4 - Jeelink HomeMatic Z-Wave

NewRasPi

Hallo @curt
kurze Frage, warum vertauscht Du nicht einfach den Eingang und den Ausgang des Shelly.
Dann wird die PV-Erzeugung positiv gemessen.
Die Balkon-PV Anlage dürfte doch kaum einen Stromverbrauch haben, den man messen müsste.
Schöne Grüße
Raspberry Pi 2 Mod B + Raspberry Pi 3 + Raspberry Pi4; HM Lan Adapter; 8 Kanal Relaiskarte; ca. 15x 1wire Temperatur Sensor DS18B20; 10x HC-SR501 Bewegungsmelder; 9x HM Rauchmelder HM-Sec-SD; HM Funk Fenstersensoren; HM Strommess-Zwischenstecker;

curt

Danke für Deine Antwort. Ich verstehe, dass ich das schlecht beschrieb. Also alles zurück auf Start:

Seit letztem Jahr darf man sog. Balkonkraftwerke unter diesen Randbedingungen betreiben:
Die Solarpanels dürfen höchstens 2 kW liefern. Der Inverter (der macht daraus Wechselstrom) darf höchstens 800 W liefern - die liefert er über einen dort angeschossenen handelsüblichen Schuko-Stecker. Die betreffende Schukodose wird also rückwärts betrieben. (Und hat ein Sicherungsproblem, das würde hier aber zu weit führen. Sagen wir so: 1a-DIN-Verkabelung ist hier vorausgesetzt!)

Ok, nun der Blick auf das Stromnetz in Wohnung bzw. Haus:
Da kommen also -nur als Beispiel- gerade 300 Watt Solar rein. Wenn nun gleichzeitig 1,8 kW verbraucht werden, ist alles gut: Realverbrauch in der Wohnung sind in dem Moment also 1,5 kW.

Die andere Situation ist spannender: 300 Watt Solar kommen aktuell rein, aber die Abnahme in der Wohnung sind nur 100 Watt. Was ist denn da mit den überschüssigen 200 Watt? Die gehen ins öffentliche Netz. Aber anders als bei den großen Solaranlagen gibt es dafür KEINE Einspeisevergütung, aus Sicht des Wohnungsinhabers sind die irgendwie "weg".
In einer Übergangszeit nach der Anmeldung beim Markenstammregister darf der Zähler sogar rückwärts laufen, da wäre der überschüssige Solarstrom nicht weg, klar. Aber ansich will der Staat, dass ins solchen Fällen spätestens nach vier Monaten ein Zähler mit Rücklaufsperre von den Stadtwerken eingebaut ist.

So, nun nochmal zu meinem Problem, das hört auf den Namen EM3 und kommt später. Mein Inverter misst selbst und ist über Wlan an FHEM angebunden. Ich bekomme Momentanwerte und Leistung in kWh.

Nehmen wir nochmal die Situation mit 300 W via Solar ankommend. Und im Beispiel habe ich nur 100 W Abnahme; 200 W gehen ins öffentliche Netz. Wenn ich nun Einsparung pro Jahr rechnen/sehen möchte, dann kann ich doch nicht die 300 W nehmen und mit dem Strompreis multiplizieren. Sondern ich muss 300 - 200 (=100) nehmen, nur das ist meine Einsparung.

Und tatsächlich gibt es schon "energyReturned_TTL", das ist offenbar das, was als überschüssig ans öffentliche Netz abgegeben wird. Nur eben "ab Einbau" und nicht "pro Jahr" - pro Jahr wäre deutlich spannender.

Ich hoffe, dass ich das nun besser erklären konnte.
RPI 4 - Jeelink HomeMatic Z-Wave

RalfRog

Für deinen Messwunsch ist der 3EM nicht geeignet, da er in Gegensatz zum Zähler nicht saldierend misst.

Beispiel:
Auf L1 verbrauchst du gerade nichts 0W
Auf L2 verbrauchst du gerade 300 W
Auf L3 verbrauchst du nichts, speist aber 300 W ein

Der Zähler vom EVU misst 0W bzw. zeigt 0kWh mehr an nach z.B.1 Stunde (fiktiv, gleichbleibende Belastung an Lx). Du speist real nichts ein.

Der 3EM "zählt" aber an energy_L2 300Wh und an energy_returned_L3 auch 300Wh.

Man kann aber nicht einfach energy minus energy_returned rechnen um die Summe zu erhalten.

Denn wenn du 30 Minuten 600 Watt auf L2 brauchst und danach 30 Minuten 600 Watt auf L3 einspeist hast du real 300Wh verbraucht und 300 Wh eingespeist - so zeigt es der EVU Zähler in seinen beiden Registern (1.8.0, 2.8.0)
Der 3EM zeigt die gleichen Werte wie vorher - diesmal dürftest du aber nicht beides voneinander abziehen.

Gruß Ralf

FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

VB90

@curt
Wegen dieser "Unschärfe" des 3EM habe ich in die Zuleitung des WR einen eigenen Shelly (1PM??, rot) eingeschleust und kann da klar sehen, was und wieviel eingespeist wird.
Ich habe dank Akku aber auch das Problem des Überschusses nicht, aktuell betreibe ich Nulleinspeisung, im Winter versuche ich die Grundlast zu decken.

vielleicht auch für dich ein Lösungsansatz.

vb
Man muss das Rad nicht neu erfinden, nur wissen wie es gedreht wird.

curt

#1133
Danke für eure Antworten.

Ich bin mir nicht sicher ob es daran liegt, dass ich das Problem nicht gut beschreiben kann oder ob ich im Moment nicht verstehe, was ihr mir sagen wollt. Ok, auf geht es:

Das Balkonkraftwerk (genauer: Der Inverter EZ1) kommt als Device. Das ist im Grunde Perl, hier aus dem Forum abgeschrieben. Es gibt z.B. energy_lastmonth. Und ich glaube, dass ich das auf *year erweitern kann. Also ich habe den Energieeintrag für eine Zeitperiode.

Nun vier Readings der Device EM3:
energyReturned_0   24658.40 Wh
energyReturned_1       0.0  Wh
energyReturned_2       0.0  Wh
energyReturned_TTL 24658.40 Wh

Offensichtlich hängt das Balkonkraftwerk an Phase 0. Seit Betriebsbeginn wurden 24,7 kWh in das öffentliche Netz gespeist - ohne Vergütung.

Darf ich bitte ich den Progammierer des Device-Moduls sehr freundlich darum bitten, mir "energyReturned_TTL_year" und "energyReturned_TTL_lastyear" zu programmieren? Weil ich dann anschließend rechnen will.

Falls ich ein Missverständnis haben sollte, die meinen Gedankengang unmöglich macht, bitte ich um Erklärung so, dass ich mit meinen 2 Semestern Nebenbei-E-Technik folgen kann.
RPI 4 - Jeelink HomeMatic Z-Wave

RalfRog

#1134
Zitat von: curt am 27 März 2025, 02:09:35...
Offensichtlich hängt das Balkonkraftwerk an Phase 0. Seit Betriebsbeginn wurden 24,7 kWh in das öffentliche Netz gespeist - ohne Vergütung.
...

Dass das BKW an Phase 0 hängt ist so richtig. Aber, dass aus Sicht des Netzbetreibers 24,7 kWh ins Netz eingespeist wurden ist so nicht richtig.
Denn wie oben geschrieben kann es ja gut sein, dass du zwar auf Phase 0 etwas einspeist aber gleichzeitig auf Phase 1&2 etwas verbrauchst. Das rechnet der Zähler -saldierend- (und Netzbetreiber) gegeneinander auf.
Es wurde tatsächlich also weniger eingespeist.

... und das könnte z. B. mit dem Modul "statistics" gemacht werden. Statistiken pro Stunde, Tag, Monat, Jahr.
Darf ich bitte ich den Progammierer des Device-Moduls sehr freundlich darum bitten,
mir "energyReturned_TTL_year" und "energyReturned_TTL_lastyear" zu programmieren?
Weil ich dann anschließend rechnen will.


Gruß Ralf
FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

curt

Zitat von: RalfRog am 27 März 2025, 09:01:59
Zitat von: curt am 27 März 2025, 02:09:35Offensichtlich hängt das Balkonkraftwerk an Phase 0. Seit Betriebsbeginn wurden 24,7 kWh in das öffentliche Netz gespeist - ohne Vergütung.
[...] Aber, dass aus Sicht des Netzbetreibers 24,7 kWh ins Netz eingespeist wurden ist so nicht richtig.

Ich denke schon, dass das so richtig ist. Denn in gleichem Zeitraum hat EZ1_solar:total_energy = 51.4, also 51,4 kWh erzeugt und im Hausnetz abgeliefert. Weiter: 51,4 - 24,7 = 26,7 kWh wurden im Haus verbraucht, der Überschuss von 24,7 kWh wurde dem Stadtwerk geschenkt.

Zitat von: RalfRog am 27 März 2025, 09:01:59Denn wie oben geschrieben kann es ja gut sein, dass du zwar auf Phase 0 etwas einspeist aber gleichzeitig auf Phase 1&2 etwas verbrauchst. Das rechnet der Zähler -saldierend- (und Netzbetreiber) gegeneinander auf.

Das ist mir durchaus klar. Nur scheint mir so, dass der EM3 bzw. das spiegelbildliche FHEM-Modul das sehr wohl rechnet.

Zitat von: RalfRog am 27 März 2025, 09:01:59... und das könnte z. B. mit dem Modul "statistics" gemacht werden. Statistiken pro Stunde, Tag, Monat, Jahr.

Ok, das wäre auch ein Weg; danke für den Stupser.
RPI 4 - Jeelink HomeMatic Z-Wave

RalfRog

Naja ob du den Stadtwerken etwas schenkst oder nicht ist ja nicht wirklich entscheidend. Es sei denn es hilft dir für 24kWh die Entscheidung zu treffen das offiziell für (sagen wir mal) 10 ct vergüten zu lassen  8)

Zitat von: curt am 28 März 2025, 00:43:23...
Das ist mir durchaus klar. Nur scheint mir so, dass der EM3 bzw. das spiegelbildliche FHEM-Modul das sehr wohl rechnet...

Teste es einfach mal, indem du bei Erzeugung auf Phase0 einen definierten Verbraucher (Fön, Heizlüfter) auf Phase1 oder 2 dazu schaltest (10 Min 2000W = 0,33kWh).

Schau dir dann die Werte in energy_1(2) bzw. energy_returned_0 an. Sie zählen beide gleichzeitig hoch.
 
FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

Prof. Dr. Peter Henning

#1137
Könnte mir jemand auf die Schnelle sagen, in welcher Einheit ein Shelly Plus PM Mini seine Energiewerte abliefert?

Edit: Erledigt, sind Wh laut
https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/PM1

LG

pah

Starkstrombastler

Zitat von: Prof. Dr. Peter Henning am 30 März 2025, 12:46:12Könnte mir jemand auf die Schnelle sagen, in welcher Einheit ein Shelly Plus PM Mini seine Energiewerte abliefert?
Man setze hierzu
attr <name> showunits originalund erhält z.B.
energy            295587.23 Wh 2025-03-30 12:52:44
energy_lastMinute 423.51 mWh   2025-03-30 12:50:43
energy_purchased  295587.23 Wh 2025-03-30 12:52:44
energy_returned   0.00 Wh      2025-03-30 12:50:43


IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

Prof. Dr. Peter Henning

Das geht aber nur, wenn man das Shelly-Modul benutzt. Mache ich aber bei dem Teil gar nicht, sondern lasse es nur über MQTT laufen.

LG

pah