Probleme Pro3EM Einbindung

Ja, dann liegt der Fehler in der Berechnung vom Sensor Total_active_power. Wie sieht der bei dir aus, Template Helfer oder in der configuration.yaml geschrieben?

Hier mal meine Berechnung in den Entwickler-Tools für die aktuelle Power vom Shelly. Dazu werden einfach die drei Phasen addiert

So sieht meine Konfiguration für den Shelly 3EM Pro aus, allerdings alles in der configuration.yaml geschrieben. Die Templates könnte man aber auch im Template-Helfer verwenden.

Zuerst wird der reine Verbrauch aus den drei Phasen ermittelt und danach entsprechend abgegrenzt. Erklärungen stehen im Code am Anfang.

# Stromverbrauch Shelly 3em Pro auslesen. Die aktuellen Verbräuche/Erträge je Phase werden in einen Wert zusammengefasst
- sensor:
  - name: "Total Power"
    device_class: power
    state_class: measurement
    unit_of_measurement: "W"
    state: >
      {{
        (
          states('sensor.shellypro3em_08d1f9130908_phase_a_active_power')|float(0) +
          states('sensor.shellypro3em_08d1f9130908_phase_b_active_power')|float(0) +
          states('sensor.shellypro3em_08d1f9130908_phase_c_active_power')|float(0)
        ) | round(1)
      }}

Jetzt folgt die Ermittlung vom reinen Verbrauch ohne Einspeisung.

# Dann wird ermittelt ob sich der Sensor im positiven Bereich bewegt, was Verbrauch
# bedeutet. Bei negativen Werten (Netzeinspeisung), wird der Sensor auf 0 gesetzt
- sensor:
  - name: "Total Power Nur Verbrauch" #Das ist der reine Verbrauch ohne Einspeisungen ins Netz
    unique_id: Stromleistung_nur_Verbrauch
    device_class: power
    unit_of_measurement: "W"
    state: "{{ states('sensor.total_power')|float(0) if states('sensor.total_power')| int > 0 else 0 }}"

Danach folgt der Sensor für die reine Netzeinspeisung, also alles was negativ ist.

# 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
- sensor:
  - name: "Solar Einspeisung Ausgelesen-negativ" #Das sind die reinen Einspeisungen ins Netz
    device_class: power
    unit_of_measurement: "W"
    state: "{{ states('sensor.total_power')|float(0) if states('sensor.total_power')| int < 1 else 0 }}"
- sensor:
  - name: "Solar Einspeisung Normiert-positiver_wert" #Das sind die reinen Einspeisungen ins Netz in einen positiven Wert verwandelt
    device_class: power
    unit_of_measurement: "W"
    state: "{{ states('sensor.solar_einspeisung_ausgelesen_negativ')|float(0) * -1 | round (3) }}"