Shelly 3EM drei Phasen summieren

Hallo,

ich habe eine Shelly 3EM (MQTT) und würde gerne im Energiedashboard meinen Stromverbrauch in einer Entität, statt der drei einzelnen Phasen, darstellen lassen. Dazu habe ich einen Helfer erstellt, der alle drei Phasenwerte summiert (Gruppe > Sensor-Gruppe und Typ Summe). Es funktioniert grundsätzliche auch, nur gibt es zwischendurch unerklärliche, extrem hohe Zahlen.

Hat jemand eine Idee was ich falsch gemacht habe?

Gruß Sameric

Ich habe hier nur den Shelly 3em pro, und der liefert bereits die Gesamtenergie (Total active Energy)
Ist das beim Shelly 3em nicht der Fall?

Nein, das ist leider nicht so beim 3EM.

Hast du diese hohen Werte nur in der Summendarstellung?

Was sagt denn die Shelly App im Verlauf? Stehen dort die extrem hohen Werte genauso?

Prinzipiell hast du nichts falsch gemacht. Das Problem kann man an der Grafik bereits ausmachen: der Balken bei 16:00 Uhr ist quasi nicht vorhanden, was anzeigt, dass die Verbindung zwischen dem 3EM und Home Assistant unterbrochen war. Durch die Unterbrechung der Verbindung wird der vorherige Wert auf null gesetzt, sodass der nächstfolgende Wert (der eigentlich nur den ganz normalen Verbrauch ausgibt) als Verbrauchsdifferenz zwischen Null “Zählerstand” gewertet wird. Du kannst ja einmal in den Logs nachsehen, ob es eine Unterbrechung gab, aber ich bin mir da ziemlich sicher.

Theoretisch musst du also zusehen, dass es keinerlei Unterbrechungen in der Verbindung zwischen Shelly 3EM und Home Assistant kommt. Das ist aber in aller Regel utopisch. Du kannst jetzt zwei unterschiedlich Wege gehen: in den Entwicklerwerkzeugen die Statistik anpassen/korrigieren (was die quick’n’dirty Lösung ist), oder neue Templatesensoren anlegen, die diese Ausreißer vermeiden.

Hallo,

@Freaky21 @anon80162771 ja, die vereinzelten, hohen Werte habe ich nur in den Summen. Die Einzelwerte der drei Phasen sind zu den Zeitpunkten korrekt.

@Gewitterziege deine genannte Ursache klingt für mich nachvollziehbar. Die Quick & Dirty Lösung überzeugt mich nicht auf Dauer, da ich das Problem regelmäßig habe (ca.1x monatlich) und ich die Fehler nicht ständig per Hand korrigieren möchte. Ggf. verursache ich es selbst mit Neustarts des Home Assistent?! Wie könnte ein Templatesensor aussehen?

Grüße

Schau mal bei Thomas von “Steuer-dein-Leben” vorbei. Der hat dort ein schönes Video, wo auch der Erreichbarkeits-Check mit drin ist.

@anon80162771 danke für den Tipp. Ich habe es bereits umgesetzt, irgendwas stimmt aber nicht. Die Summen sind viel zu hoch :smiley:

Hier mein Code:

  - sensor:
      - name: "Stromverbrauch Test Neu"
        unique_id: stromverbrauch_test_neu
        state: >
          {{ states('sensor.shelly_3em_energy_0')|float(0) +
             states('sensor.shelly_3em_energy_1')|float(0) +
             states('sensor.shelly_3em_energy_2')|float(0) }}
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
        attributes:
          last_reset: "1970-01-01T00:00:00+00:00"
        availability: >
            {{ 
               [ states('sensor.shelly_3em_energy_0'),
                 states('sensor.shelly_3em_energy_1'),
                 states('sensor.shelly_3em_energy_2') ] | map('is_number') | min }}

Ich rate und hoffe es gibt einen neuen Gedankenanstoß:

  • Ab und zu zu steigt eines der Geräte/Entities mit invaliden Status aus und danach wieder ein und es kommt zu einem größerem Sprung als er wirklich wäre (ähnlich wie oben bereits erwähnt)
  • Lösung könnte sein, den Sensor auf einen trigger-based Sensor zu erweitern, siehe Doku Template - Home Assistant. Dieser arbeitet dann mit Vorgängern und Nachfolgern. Wenn ein Gerät 0 aber andere nicht, dann summiere mit dem Vorgängerwert des Gerätes. So würden die 0er Sprünge ausbleiben und die Genauigkeit nur etwas leiden.

Ich bin mir sicher, sowas hier im Forum schon einmal gelesen zu haben.

EDIT
Mir kam noch eine andere Idee: Wie verhält sich der Sensor wenn Du die Zeile state_class: total_increasing entfernst? Summiert er dann wirklich nur die Werte?

Hallo,
schau mal hier habe ich meine Code schon mal gepostet, allerdings lass ich mir den Wert in Watt ausrechnen (zwecks vorhandenem BLK) und habe noch einen Helfer angelegt der es mir dann in KWh umrechnet um es im Energy Dashboard zu verwenden.
Ich habe zwar eine Shelly PRO 3EM aber der Code ist für den 3EM und das läuft seit ca. 2 Jahren super.

https://community.simon42.com/t/uebersicht-stromverbraeuche-einspeisung-etc/31399/6?u=hette78