Energie Dashboard > Gesamtverbrauch Einzelgeräte > Helfer Summe funktioniert nicht

Tach die Damen und Herren,

hoffe es kann mir jemand helfen!
Hab mir für meinen Herd und Backofen einen Shelly 3EM rein gehängt um den Verbrauch zu tracken.

Hab erst die Entitäten der Einzelphasen in mein Enerigiedashboard getan > Werte werden angezeigt, aber eben jede Phase einzeln.
Hab mir dann einen Helfer angelegt, einen Kombinationssensor mit der Summe aus Channel A, B und C.
Der Zeigt mir auch wenn ich ihn anklicke, schön die Werte an, aber im Energie Dashboard bleibt der Kombinationssensor unten an letzter Stelle mit “0” (wo die 3 Einzelwerte hoch wandern.
Was läuft hier verkehrt? Selbiges Thema hatte ich vor einiger Zeit auch mit den Lichtern die ich zusammenfassen wollte… Warum gehen die Kombinationssensoren nicht im Energie Dashboard? Oder was mache ich hier falsch? :thinking:

Wie lange ist der Kombinationssensor bereits im Energy Dashboard?

hallo Salzarg ,

Es ist dringend darauf zu achten das die Werte gesetzt werden. Sollte der Wert des Sensors keinen KW/h ausgeben wird dieser nicht in das Dashboard einbezogen.
Selbiges habe ich mit meiner TUYA Steckdose für den PC dort musste ich erst einen passenden Sensor erstellen.

Lg Randel

Die Ursprungssensoren haben ja bereits die Einheit kWh. Genau wie der neue Sensor.

Entschuldige hätte mir das Bild etwas genauer anschauen sollen dort steht es ja ganz groß…
Dann bin ich leider nicht wissend. :sweat_smile: Wünsch dir trotzdem viel Erfolg beim lösen!

1 „Gefällt mir“

schon seit einigen Tagen (war auch mein erster Gedanke, dass er erst nach Erstellung rechnet, darum hab ich auch nicht gleich nach Hilfe gerufen :sweat_smile:), aber da hat sich noch nie was getan im Dashboard :anguished:

Was sagen denn die Entwicklerwerkzeuge über den Kombisensor? Welche Zustands-Attribute hat der Sensor?

Hallo,

Wie sieht denn der Helfer aus und wo hast du ihn angelegt?

Ich habe dies über einen Template Sensor in der yaml gemacht.
Dann legst du die Helfer (Riemann) an zur Umrechnung in KWh an, dann kannst du die Helfer ins Dashboard und ins Energy Dashboard einbinden.

  - sensor:
      - name: "Power Total"
        unique_id: power_total
        state: >
          {{ states('sensor.shelly_phase_a_active_power')|float(0) +
             states('sensor.shelly_phase_b_active_power')|float(0) +
             states('sensor.shelly_phase_c_active_power')|float(0) }}
        unit_of_measurement: W
        device_class: power
        state_class: measurement
        availability: >
            {{
               [ states('sensor.shelly_phase_a_active_power'),
                 states('sensor.shelly_phase_b_active_power'),
                 states('sensor.shelly_phase_c_active_power') ] | map('is_number') | min }}

Ich hab den Helfer ganz normal unter /config/helpers angelegt,…

Ich hab ja schon 3 einzelne kWh Werte, da muss ich ja nicht mehr W in kWh umrechnen, ich brauch ja nur 3 Werte zusammenzählen, was ja eigentlich funktioniert wenn ich den Kombi Sensor anschaue.
Aber im Energiedashboard zeigt er mir keinen Wert.

Ich kenne mich den Helfern nicht so gut aus, aber vielleicht liegt es daran, du kannst ja mal meinen Code nehmen, anpassen und in die yaml. schreiben.
Dann den zusätzlichen Sensor im Energy Dashboard einbinden und sehen ob dabei etwas heraus kommt.

Nachtrag:

Mir ist aufgefallen, das in den Attributen deines Sensors noch die
device_class: energy fehlt, dass könnte auch ein Grund sein!

:thinking:
den Gedanken mit der device_class: energy hatte ich auch schon. Nur wo kann man so einem Kombinationssensor sagen welche Device Class er ist?

Ich finde nirgends ein Menü wo ich ihm sagen kann welche er ist. und einen “yaml modus” finde ich bei den helfern auch keinen, wo ich es einfach rein schreiben könnte… (Bei den Entwicklerwerkzeugen > Zustände sieht man zwar den yaml Code aber wenn ich da “device_class: energy” dazu schreibe, merkt er es sich nicht…

Hab es auch mit deinem Code versucht,… das klappt auch nicht, der Sensor bleibt auf 0 (wobei ich den “availability:” Teil weg gelassen hab, da er mit dem Teil gar nicht funktionierte), oder hab ich das total verhunzt?

      - name: "Herd Verbrauch Total"
        unique_id: herd_verbrauch_total
        state: >
          {{ states('shellyem3-08F9E047B7A5 channel A energy')|float(0) +
             states('shellyem3-08F9E047B7A5 channel B energy')|float(0) +
             states('shellyem3-08F9E047B7A5 channel C energy')|float(0) }}
        unit_of_measurement: kWh
        device_class: energy
        state_class: measurement
        availability: >
            {{
               [ states('shellyem3-08F9E047B7A5 channel A energy'),
                 states('shellyem3-08F9E047B7A5 channel B energy'),
                 states('shellyem3-08F9E047B7A5 channel C energy') ] | map('is_number') | min }}

Hallo,

wo hast du denn den Sensor angelegt, in der configuration.yaml?
Der Sensor muss als Template angelegt werden.

Wo hast du den Sensor getestet?
Ist er als Sensor definiert?
Versuch ihn mal in den Entwicklerwerkzeugen unter Template und sie dir das Ergebnis an.

Das Problem ist, dass du dich mit Template-Sensoren nicht auskennst. Deine Abänderung des Codes ist schlicht falsch. Ohne die genaue Bezeichnung deiner Sensoren zu kennen, kann ich nur mutmaßen, wie die korrekt heißen. Herausfinden kannst du das auf unterschiedlichen Wegen. In meinen Augen am einfachsten ist es, sich die jeweilige Entität auszusuchen, auf das Zahnrad zu klicken und zu schauen, wie er heißt:

Bildschirmfoto vom 2025-03-17 07-58-15

Diese musst du dann in Code einfügen, danach funktioniert das auch. Hier mal als Beispiel von von meinem Pro3EM

- name: "Herd Verbrauch Total"
        unique_id: herd_verbrauch_total
        state: >
          {{ states('sensor.shellypro3em_34987a6779fc_phase_a_total_active_energy')|float(0) +
             states('sensor.shellypro3em_34987a6779fc_phase_b_total_active_energy')|float(0) +
             states('sensor.shellypro3em_34987a6779fc_phase_c_total_active_energy')|float(0) }}
        unit_of_measurement: kWh
        device_class: energy
        state_class: measurement
        availability: >
            {{
               [ states('sensor.shellypro3em_34987a6779fc_phase_a_total_active_energy'),
                 states('sensor.shellypro3em_34987a6779fc_phase_b_total_active_energy'),
                 states('sensor.shellypro3em_34987a6779fc_phase_c_total_active_energy') ] | map('is_number') | min }}

Sehr wahrscheinlich müsste es bei dir dann heißen:

- name: "Herd Verbrauch Total"
        unique_id: herd_verbrauch_total
        state: >
          {{ states('sensor.shellyem3_08F9E047B7A5_channel_a_energy')|float(0) +
             states('sensor.shellyem3_08F9E047B7A5_channel_b_energy')|float(0) +
             states('sensor.shellyem3_08F9E047B7A5_channel_c_energy')|float(0) }}
        unit_of_measurement: kWh
        device_class: energy
        state_class: measurement
        availability: >
            {{
               [ states('sensor.shellyem3_08F9E047B7A5_channel_a_energy'),
                 states('sensor.shellyem3_08F9E047B7A5_channel_b_energy'),
                 states('sensor.shellyem3_08F9E047B7A5_channel_c_energy') ] | map('is_number') | min }}

Ist aber nur eine Vermutung.

Testen kannst du das in den Enwicklerwerkzeugen unter Template:

1 „Gefällt mir“

Ja, Kombinationssensor funktioniert hier nicht, weil der dann die falsche device_class und die falsche state_class hat.

Erstell dir einen Helfer Template Sensor und füge folgendes ein (die Sensornamen natürlich anpassen):

{{ states('sensor.phase_1') | float(0) + states('sensor.phase_2') | float(0) + states('sensor.phase_3') | float(0) }}

So kannst du beliebige Sensoren etc. summieren, dividieren, subtrahieren und so weiter und so fort.

mann mann mann, ja da hab ich wieder nicht genau geschaut! Danke!
Hab mir die Einzelsensoren für das Template aus dem Helfer raus kopiert, da steht aber nicht die ID selbst drin, sondern irgendeine Bezeichnung, was weiß ich woher…
Danke, mit der ID rechnet er zumindest mal hoch,…
bin derzeit nicht zuhause und der Herd ist aus… jetzt kann ich noch nicht sagen ob es auch im Energiedashboard funktioniert,… das seh ich erst Mittags wenn die Frau zuhause ist und kocht.

Aber wenn es bei euch so klappt, bin ich zuversichtlich dass es auch bei mir funktioniert! :wink:

Update:
zu früh gefreut :anguished:
Der Sensor selbst funktioniert, der Balken im Energie Dashboard bleibt trotzdem auf 0 :unamused:
Was kann da jetzt noch falsch sein?

  - sensor:
      - name: "Herd Verbrauch Total"
        unique_id: herd_verbrauch_total
        state: >
          {{ states('sensor.shelly_herd_backofen_channel_a_energy')|float(0) +
             states('sensor.shelly_herd_backofen_channel_b_energy')|float(0) +
             states('sensor.shelly_herd_backofen_channel_c_energy')|float(0) }}
        unit_of_measurement: kWh
        device_class: energy
        state_class: measurement
        availability: >
            {{
               [ states('sensor.shelly_herd_backofen_channel_a_energy'),
                 states('sensor.shelly_herd_backofen_channel_b_energy'),
                 states('sensor.shelly_herd_backofen_channel_c_energy') ] | map('is_number') | min }}

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

Jetzt hab ich gerade was entdeckt…


Wie kann man das (Letzter Reset fehlt) beheben?

Die Zustandsklasse sollte „Gesamt steigend“ sein.

Vielen Dank an alle Mitwirkenden!
Es funktioniert! Hab vorhin auch Google danach gefragt… da hab ich was von state_class total gelesen, das hab ich dann auch gleich mal rein geschrieben, 3h später ist der Wert im Dashboard schon hoch gestiegen, nachdem die Frau die Reste von Mittag gewärmt hat.

Die Finale Programmierung von dem Sensor sieht jetzt so aus;

  - sensor:
      - name: "Herd Verbrauch Total"
        unique_id: herd_verbrauch_total
        state: >
          {{ states('sensor.shelly_herd_backofen_channel_a_energy')|float(0) +
             states('sensor.shelly_herd_backofen_channel_b_energy')|float(0) +
             states('sensor.shelly_herd_backofen_channel_c_energy')|float(0) }}
        unit_of_measurement: kWh
        device_class: energy
        state_class: total
        availability: >
            {{
               [ states('sensor.shelly_herd_backofen_channel_a_energy'),
                 states('sensor.shelly_herd_backofen_channel_b_energy'),
                 states('sensor.shelly_herd_backofen_channel_c_energy') ] | map('is_number') | min }}

Finde es aber trotzdem schade dass es mit dem Kombinationssensor bei den Helfern nicht klappt,…
aber vielleicht wird das ja noch mit einem kommenden Update

Update …
Hab noch eine 2. Variante entdeckt die sogar mit dem Kombinationssensor funktioniert:
hab mir eine /homeassistant/customize.yaml Datei angelegt (natürlich verlinkt in der configuration.yaml) mit folgendem Inhalt:

sensor.herd_total:
  device_class: energy
  unit_of_measurement: 'kWh'
  state_class: total_increasing

Eintrag in configuration.yaml:

homeassistant:
  customize: !include customize.yaml

Denke ich werde die Variante in Zukunft verwenden, hier ist es einfacher / übersichtlicher Entitäten hinzu zu fügen oder zu entfernen (z.B. wenn man mehrere Lichter zusammenfassen will im Energie Dashoard,…)

Stimmt, hatte mich von dem (falschen) Beispiel in die Irre leiten lassen. Measurement gehört zu den Leistungssensoren in Watt oder Kilowatt. Bei den Verbrauchs-/Erzeungssensoren in KWh ist es total bzw. total_increasing. Sorry wegen der Verwirrung.

1 „Gefällt mir“

Deswegen habe ich ja den Template Sensor vorgeschlagen, da ist alles kompakt in einem Helfer, ohne customize etc.