Shelly 3EM in Home Assistant einbinden und dabei diverse Fehlerquellen entdecken und vermeiden

So ist es. Einfach abwarten… :slightly_smiling_face:

Moin,

Wenn du eine Shelly 3EM hast, brauchst du keine Rieman Summe anwenden um Sensoren zu erstellen, die kwh anzeigen. Der 3EM liefert bereits alles was du brauchst für das EnergieDashboard.
Jedenfalls sieht man in deinen Screenshots auch nichts von einer Rieman Summe.

Dem würde ich nach meinen Erfahrungen widersprechen.
Der Shelly 3EM arbeitet nicht saldierend und dann stimmen die Werte im Energie-Dashboard nicht mehr, da Netzbezug und Netzeinspeisung nicht korrekt in den Energy-Sensoren ausgewiesen werden können.

Um mit einem BKW korrekte Werte im EnergieDashboard anzeigen zu können muss man selber die Werte errechnen.

Ich habe versucht dies in meinem Post ausführlich zu beschreiben und die Lösung aufzuzeigen.

Nachtrag:
@simon42 kann es sein, dass mein Ur-Post aus dem alten Forum ins neue nicht komplett übernommen wurde? Die Punkte “diverse Fehlerquellen” tauchen hier gar nicht mehr auf und so wirkt der Post doch etwas wirr. Ich dachte ich hätte damals auch noch Screenshots verwendet oder zumindest Beispielrechnungen.
Könntest Du im alten Forum bitte mal schauen oder könnte ich dafür einen Link bekommen, dann schaue ich dort selber nach und korrigiere den Post im neuen Forum.

:crayon:by HarryP: Zusammenführung Doppelpost.
*@ryhoruk *
Bitte für Ergänzungen die “bearbeiten” Funktion verwenden. Danke!

Was du über 3EM+Balkonkraftwerk schreibst ist mir bekannt.
@Finn3690 hat aber gar nicht geschrieben dass er eine PV oder Balkonkraftwerk hat.
Falls das so sein sollte, stimmt meine Antwort nicht.

Ich habs noch mal gelesen. Der Sensor ‘Zurück zum Netz’ macht natürlich ohne PV keine Sinn. Da haste schon recht.

1 „Gefällt mir“

Hallo ryhoruk,

vielen Dank für deinen Post. Ich hatte exakt das selbe Problem. Hast mir sehr geholfen.

1 „Gefällt mir“

Hallo ryhoruk,

Ich habe deinen Code von oben in meine configuration.yaml eingefügt und habe die Template Sensoren auf ein Dashboard gepackt um es erstmal zu beobachten bevor ich sie in das Energy Dashboard einfüge. Leider sieht es bei mir so aus. Habe ich was falsch gemacht?

Bild

template:
sensor:

  • name: “Shelly3EM Total Power”
    unique_id: shelly3em_energy_total
    device_class: energy
    state_class: total
    unit_of_measurement: “W”
    state: >
    {{
    states(‘sensor.shelly_em3_channel_a_power’)| float(0) +
    states(‘sensor.shelly_em3_channel_b_power’)| float(0) +
    states(‘sensor.shelly_em3_channel_c_power’)| float(0)
    }}

    #Dann wird ermittelt ob sich der Sensor im positiven Bereich bewegt, was Verbrauch
    #bedeutet. Bei negativen Werten (Netzeinspeisung), wird der Sensor auf 0 gesetzt

  • name: “Total Power Nur Verbrauch” #Das ist der reine Verbrauch ohne Einspeisungen ins Netz
    device_class: power
    unit_of_measurement: “W”
    state: “{{ states(‘sensor.shelly3em_energy_total’)|float(0) if states(‘sensor.shelly3em_energy_total’)| int > 0 else 0 }}”

    #Die folgenden beiden Sensoren ermitteln Netzeinspeisung anhand eines negativen
    #Wertes. Ansonsten wird der Sensor auf 0 gestellt. In einem weiteren Sensor wird dann
    #der negative Wert in einen positiven umgewandelt und wir haben den tatsächlichen
    #Netzeinspeisewert

  • name: “PV Einspeisung Ausgelesen” #Das sind die reinen Einspeisungen ins Netz
    device_class: power
    unit_of_measurement: “W”
    state: “{{ states(‘sensor.shelly3em_energy_total’)|float(0) if states(‘sensor.shelly3em_energy_total’)| int < 1 else 0 }}”

  • name: “PV Einspeisung Normiert” #Das sind die reinen Einspeisungen ins Netz in einen positiven Wert verwandelt
    device_class: power
    unit_of_measurement: “W”
    state: “{{ states(‘sensor.pv_einspeisung_ausgelesen’)|float(0) * -1 | round (3) }}”

Ich weiss nicht ob das das Problem ist, aber du hast

sensor:
* name: “Shelly3EM Total Power”
unique_id: shelly3em_energy_total
device_class: energy
state_class: total
unit_of_measurement: “W”
state: >
{{
states(‘sensor.shelly_em3_channel_a_power’)| float(0) +
states(‘sensor.shelly_em3_channel_b_power’)| float(0) +
states(‘sensor.shelly_em3_channel_c_power’)| float(0)
}}

device_class: energy
ist falsch. richtig wäre
device_class: power

Energy wird in Wh, kWh, MWh gemessen
Power in W, kW, MW

Eventuell mal im Log schauen ob es dort Fehlermeldungen gibt. Oder über “Entwicklerwerkzeug” die Sensoren suchen und anzeigen lassen.

Viel Erfolg.

Hallo ryhoruk,
welchen deiner angelegten Sonsoren verknüpfe ich jeweils im Helfer “Stromverbrauch gesamt” und “Zurück ins Netz (kWh)” im Riemann Summenintegralsensor?".

hallo Curgan,
„Total Power nur Verbrauch“ geht in „Stromverbrauch gesamt“
und „PV Einspeisung normiert“ geht in „Zurueck ins Netz (kWh)“
Viel Erfolg
Claudius

Dann habe ich es ja richtig gemacht :slight_smile:

Danke Dir.

1 „Gefällt mir“

Du musst jetzt nur eine Weile warten bis genügend Werte zusammen gekommen sind, dann sollten die shelter auch Werte ausgeben und anzeigen.

Hallo,

wenn ich jetzt einen Sensor erstellen will, der anzeigt, was das Haus momentan für einen Leistungsbedarf hat, müßte ich die PV-Leistung und den Netzbezug addieren und die Einspeisung wieder abziehen, oder?

Wenn ich das als Helfer anlege über Kombination der entsprechenden Sensoren, sieht der Wert auch plausibel aus.

Mit dem folgenden Sensor wird mir aber nur die Solarleistung ausgeben, obwohl das Schema und die Entitäten gleich sind wie bei dem Helfer. Wo ist der Fehler in dem Code?

  - sensor:
    - name: "Hausstrombedarf"
      unique_id: "Hausstrombedarf"
      device_class: power
      state_class: measurement
      unit_of_measurement: "W"
      state: >
        {{
        states('Total_Power_Nur_Verbrauch')| float(0) +
        states('sensor.solar_gesamt_aktuell')| float(0) +
        states('PV_Einspeisung_Ausgelesen')| float(0)
        }}
 

Vielen Dank und schönes Wochenende,

Gruß Pit

Ich kenne Deine Ursprungssensoren nicht. Bei mir wird der korrekte Wert im Energiedashboard angezeigt. Dafür musste ich dort die korrekten Werte einbinden.
Dann hast du in deinem Beispielcode 3 mal +. Das kann nicht stimmen.
Korrekt ist wie du es geschrieben hast.
Netzbezug + Solarproduktion - Netzeinspeisung.
Sind die von dir verwendeten Werte alles W Werte, oder stimmt da eventuell etwas nicht?
Viel Erfolg
Claudius

P.S. poste doch mal die Ermittlung der 3 Ausgangswerte inkl. Einheit, dann wird es vielleicht verständlicher.
Rechts unten in dem bunten Kreis siehst du den komplettverbrauch bei mir heute. Den Wert möchtest du in einem Sensor haben, das wären dann kWh oder möchtest du den aktuellen Wert haben in Watt?

Hallo,

danke, die Sensoren sind die beiden aus dem Beispiel oben plus die Solarleistung über eine Meßsteckdose.

Das mit dem Minus stimmt schon, weil der Shelly3EM die Einspeisung ja negativ darstellt.

Wenn ich das mit denselben Entitäten über einen Helfer mache als Summe der drei Werte, dann stimmt es wohl auch, ich verstehe nur nicht, was an dem Code falsch ist.

Ich wollte einfach den momentanen Hausverbrauch in Watt anzeigen lassen, also eigentlich die Leistungsaufnahme.

LG Pit

Wenn ich es richtig verstehe, dann hast Du meine Sensoren vom Urpost nachgebaut.

Zur Fehlversuche wäre es hilfreich, wenn Du in einem DashBoard die 3 Werte und den berechneten neuen Wert von dir untereinander ausgibst. Vielleicht wird dann ein möglicher Fehler leichter sichtbar.

Meine Erwartung wäre, dass “Total_Power_Nur_Verbrauch” oder “PV_Einspeisung_Ausgelesen” immer 0 ist, denn die beiden schliessen sich ja gegenseitig aus. Entweder der eine hat positive Werte, dann hat der andere 0 oder umgekehrt.

Ja, ich habe Deine Sensoren verwendet und die Solarleistung ergänzt.

im Dashboard sieht es so aus

grafik

Der Hausstrombedarf ist gleich dem Solarertrag, das stimmt ja nicht.

Der Hausstrombedarf müßte hier 138 W + 73 W sein, das wären rund 200 W, und das würde auch hinkommen.

Irgendwas stimmt mit dem Code nicht, denn wenn ich die drei Entitäten in einem Helfer als Summe berechnen lasse, stimmt der Wert (ganz unten ist der Wert des Summenhelfers):

grafik

Ich wüßte aber gerne, was an dem Code nicht stimmt zum Verständnis.

Gruß Pit

Okay … sieht strange aus.
Kannst Du bei Deinem Dashboard die Anzeige der Entitäten einblenden und nochmals hier einen Screenshot posten?

Nächster Test:

Passe den Sensor an und mache einen HA Reboot.

  - sensor:
    - name: "Hausstrombedarf"
      unique_id: "Hausstrombedarf"
      device_class: power
      state_class: measurement
      unit_of_measurement: "W"
      state: >
        {{
        states('Total_Power_Nur_Verbrauch')| float(0)
        }}

kommt dann das erwartete raus?
Dann

  - sensor:
    - name: "Hausstrombedarf"
      unique_id: "Hausstrombedarf"
      device_class: power
      state_class: measurement
      unit_of_measurement: "W"
      state: >
        {{
        states('Total_Power_Nur_Verbrauch')| float(0) +
        states('sensor.solar_gesamt_aktuell')| float(0) 
        }}

und Reboot von HA. Kommt auch da das erwartete raus?
Und zu guter letzt

  - sensor:
    - name: "Hausstrombedarf"
      unique_id: "Hausstrombedarf"
      device_class: power
      state_class: measurement
      unit_of_measurement: "W"
      state: >
        {{
        states('Total_Power_Nur_Verbrauch')| float(0) +
        states('sensor.solar_gesamt_aktuell')| float(0) +
        states('PV_Einspeisung_Ausgelesen')| float(0)
        }}

Reboot von HA und kommt dann das erwartete raus.
Es stimmt sicherlich etwas mit Deinen eingebundenen “states” nicht. Jetzt geht es darum was da nicht stimmt.

Ich glaube ich habe Deinen Fehler

  - sensor:
    - name: "Hausstrombedarf"
      unique_id: "Hausstrombedarf"
      device_class: power
      state_class: measurement
      unit_of_measurement: "W"
      state: >
        {{
        states('sensor.Total_Power_Nur_Verbrauch')| float(0) +
        states('sensor.solar_gesamt_aktuell')| float(0) +
        states('sensor.PV_Einspeisung_Ausgelesen')| float(0)
        }}

Viel Erfolg und Nerven.

Claudius

Tatsächlich, jetzt stimmt es:

grafik

Ich hatte bei zwei Entitäten das vorangestellte “sensor.” vergessen, stimmt’s? Manchmal sieht man den Wald vor lauter Bäumen nicht.

Danke, daß Du Dir soviel Mühe gemacht hast.

LG Pit

1 „Gefällt mir“

Vielen Dank für deine Lösung!!! Ich war schon echt am Zweifeln über das BKW, die Einrichtung vom HA und den ganzen Rest. Hab eine Stunde der Einspeisung und dem Verbrauch zugeguckt und festgestellt, dass es nicht stimmen kann. Bin dann auf deine Anleitung gestoßen und nun passt es. :slight_smile:

1 „Gefällt mir“

Hi Leute,

ich habe eine Knoten im Hirn und hoffe, ihr könnt mir helfen.

Bei meinem Dashboard verringert sich Abends die Card “Aus dem Netz verbraucht” wenn ich keinen Solarstrom mehr erzeuge, kontinuierlich.

Auch das “Netz gesamt” passt nicht zur animierten Grafik “Zuhause”.

Ich habe 2 kleine Solaranlagen (600W+1500W) die ich mit einem Shelly EM messe und als “Energy returned” in das Dashboard eingefügt habe.

Im Screenshot wird “Ins Netz eingespeist” mit 6,26kWh angezeigt. Nachmittag war da über 8kWh gestanden.