Tasmota Smartmeter im Energie Dashboard

Hallo,

habe mich wohl in der Doku etwas verrannt…
Der Versuch einen bitshake SmartMeterReader in Homassistant ins Energie-Dashboard zu bringen scheitert…

Den Tasmota Sensor kann ich als MQTT Entität
“sensor.bitshake_smartmeterreader_sml_power_curr” im Dashboard
anzeigen lassen. Dieser scheint zu stimmen und ändert sich auch.

Verständnisfrage am Rande:
Warum kann ich diese Entität nicht für das Energie Dashboard nutzen?

In meiner configuration.yaml versuche ich damit 2 Sensoren zu
definieren, die ich dann im Energie-Dashboard verwenden kann:

mqtt:
  sensor:
    - name: "Aktueller Verbrauch"
      state_topic: tasmota/discovery/CC50E3F45EBB/sensors
      value_template: '{{ value_json.sn.SML.Power_curr }}'
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: measurement
      
    - name: "Gesamtverbrauch"
      state_topic: tasmota/discovery/CC50E3F45EBB/sensors
      value_template: '{{ value_json.sn.SML.Total_in }}'
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing

Nun wird dort auch ein Wert angezeigt, der ändert sich aber nicht.

Wenn ich das Ganze als Template definiere:

template:
  - sensor:
      - name: "Stromzaehler Verbrauch"
        unique_id: "sensor.bitshake_smartmeterreader_sml_power_curr"
        unit_of_measurement: "W"
        device_class: energy
        state_class: total_increasing
        state: >-
            {{  float(states('sensor.bitshake_smartmeterreader_sml_power_curr')) | round(3)  }}

… wird der Wert in der Entität zwar angezeigt, ich kann diesen aber
nicht im Energie-Dashboard auswählen.

Ein Hinweis, wo ich falsch abgebogen sein könnte?

Grüße – peter

Hi, fürs das EnergyDashboard ist wichtig, dass es ein kWh- oder Wh-Wert von der Klasse “energy” ist, sonst wird Dir das nicht angeboten zum Auswählen. Bei Watt Werten soltest du device_class: power verwendden.
Du solltest auch paar Stunden warten, Im EnergyDashboard dauert das oftmals bis zu einem Tag.

template:
  - sensor:
      - name: "Stromzaehler Verbrauch"
        unique_id: "sensor.bitshake_smartmeterreader_sml_power_curr"
        unit_of_measurement: "W"
        device_class: power
        state_class: total_increasing
        state: >-
            {{  float(states('sensor.bitshake_smartmeterreader_sml_power_curr')) | round(3)  }}

Danke, das mit den “Wh” und mit der device_class (steht inzwischen auf energy) habe ich schon gemerkt, das stand im Protokoll von HA nach dem Neustart.

Das Problem ist eher, dass dennoch im Energie Dashboard die Entität nicht hinzufügen kann.

Peter

das sollte aber auf power stehen nicht energy da ein Watt Wer vorliegt…
Du könntest auch watt in kwh umrechen (Durch 1000) und dann unit_of_measurement: “kWh” verwenden

Es scheint jetzt zu gehen…
Geholfen hat letztlich Troubleshooting Missing Entities.

Durch die Umstellung der Einheit waren noch “Statistic Errrors” vorhanden.

Peter

Moin zusammen,
ich bin der “neue”, und Versuche (auch) gerade meinen Stromzähler in HA zu bringen.
Mosquitto läuft, und auch die PV hab ich schon drin; hier scheitere ich aber…
Habe mich an dem state_topic oben orientiert; aber…?!
Hier mal der Auszug aus dem Explorer, es geht erst mal um einen Wert, z.B. Total_in; die anderen sind ja dann dito.
Über nen Wink mit dem Zaunpfahl würde ich mich freuen…
VG Tom

Hallo @Bolschi
Als blutiger Anfänger, der besser noch nicht viel in yaml direkt gemacht hat, probiere ich deinen Ansatz zu reproduzieren. Ich habe ebenfalls einen Bitshake WiFi Lesekopf mit Tasmota. Im normalen Dashboard zeigt dieser mir den aktuellen Verbrauch in Watt, und die Einspeisung der PV sowie den Normalen Netzverbrauch an.

Unter Geräte —> Tasmota wird ein Gerät mit 13 Entitäten angezeigt. Die relevanten Sensoren dürften für mein Vorhaben, die Werte im Energie-Dashboard auslesen zu lassen, diese sein:

sensor.bitshake_smartmeterreader_power_power_curr
sensor.bitshake_smartmeterreader_power_total_in
sensor.bitshake_smartmeterreader_power_total_out

Ich habe nun mal banal deinen Code-Auszug kopiert und mit dem „File-Editor“ in die „configuration.yaml“ kopiert.

FRAGEN:
Wenn ich dies Konfigurationsänderung in configuration.yaml nun abspeichere, wie kommt diese Änderung dann ins Energie-Dashboard? Finde ich dort dann nach einigen Stunden den Sensor unter dem Bereich Energieeinstellungen-Konfiguration —> Stromnetz—> Verbrauch hinzufügen?

Wenn ja, gebe ich dort den Namen des Sensors ein - also z.B. sensor.bitshake….power_curr?

Ich könnte nach diesem Muster vermutlich die anderen Sensoren unter configuration.yaml auch einfügen - allerdings ohne „Template“ oben im Code erneut einzutragen, richtig?

Danke für jeden Hinweis

Den Sensor sensor.bitshake_smartmeterreader_power_power_curr kannst du nicht ins Energy Dashboard einbinden, da es eine Leistung ist.
Brauchst du aber auch nicht, da dir die beiden anderen sensor.bitshake_smartmeterreader_power_total_in für Netzbezug und sensor.bitshake_smartmeterreader_power_total_out für die Einspeisung reichen.

Hallo bigmirror,

ok - danke, ich glaube ich verstehe, frage aber jetzt dennoch ganz doof zur Sicherheit nach.

Mit folgendem Code, den ich in YAML in die Config einfüge, würde mir im Energie Dasboard ein Wert angezeigt. werden können?

Ich habe den Sensor gewechselt und unit of meassure von W in kwh geändert.

template:
  - sensor:
      - name: "Stromzaehler Verbrauch kwh"
        unique_id: "sensor.bitshake_smartmeterreader_sml_power_total_in"
        unit_of_measurement: "kwh"
        device_class: power
        state_class: total_increasing
        state: >-
            {{  float(states('sensor.bitshake_smartmeterreader_sml_power_total_in')) | round(3)  }}

Die device_class musst du noch in energy ändern.

1 „Gefällt mir“

Hi bigmirror,

ich habe nun den Code angepasst und in die config yaml (/homeassistant/configuration.yaml) hinzugefügt.


# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml

template:
  - sensor:
      - name: "Stromzaehler Verbrauch kwh"
        unique_id: "sensor.bitshake_smartmeterreader_power_total_in"
        unit_of_measurement: "kwh"
        device_class: energy
        state_class: total_increasing
        state: >-
            {{  float(states('sensor.bitshake_smartmeterreader_power_total_in')) | round(3)  }}


Unter. dem Energydashboard taucht es jedoch nicht auf:

Noch eine Idee?

könnte es ggf. an der Schreibweise liegen?

Den Fehler sehe ich leider erst jetzt, ist mir vorhin nicht aufgefallen.
Du erstellst einen Template Sensor, der den bitshake Sensor als Basis hast, gibst ihm aber den identischen Namen.
Das wird so nicht funktionieren.

Entweder du benennst deinen Template Sensor anders, oder du ergänzt bei den originalen des bitshake die device_class, state_class und unit per customize.

Hallo ihr,
ich habe zwischenzeitlich auch die Lösung gefunden:
Ich habe im Energiedashboard beim Hinzufügen des Bitshakesensors. nach dem Sensornamen (“sensor.bitshate…power_in”) gesucht. Das führte zu nichts.

Geklappt hat es dann mit dem im yaml-Code verwendeten Namen (name: Stromzähler Verbrauch). Nach einem Neustart waren die Werte nun da. Ich habe nun zugleich auch einen Einspeisezähler eingepflegt. Der Code sieht insgesamt so aus:


# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml

template:
  - sensor:
      - name: "Stromzaehler Verbrauch kwh"
        unique_id: "sensor.bitshake_smartmeterreader_power_total_in"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing
        state: >-
            {{  float(states('sensor.bitshake_smartmeterreader_power_total_in')) | round(3)  }}
     
      - name: "Stromzaehler Einspeisung kwh"
        unique_id: "sensor.bitshake_smartmeterreader_power_total_out"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing
        state: >-
            {{  float(states('sensor.bitshake_smartmeterreader_power_total_out')) | round(3)  }}

Ich hoffe, dies hilft anderen auch, die ähnliche Probleme haben.
Danke für euren Support!

Frage am Rande: Könnt ihr eine Dokumentation o. Ä. empfehlen, in der das Bearbeiten der configuration.yaml erklärt wird? So die zentralen Basics mit den Begrifflichkeiten, Abständen der Zeilen usw.