Stromzähler Tasmota Sensor in Energie funktioniert nicht (Erfolgreich erledigt)

Hallo
Ich wende mich mal an alle die Interesse haben mir zu helfen. Ich bin vor wenigen Tagen von Iobroker auf Home Assistant umgestiegen weil irgendwie alles so einfach mit Proxmox funktioniert hat.
Nun wollte ich im Dashboard Energie meine Stromzähler integrieren der Mit Tasmota geloggt wird. Unter Tasmota Geräte sehe ich die Daten.
Nun habe ich ein Youtube Video gesehen das dies Schritt für Schrit zeigt
Ich habe Das Tasmota Gerät installiert dass die Daten von Tasmota kommen.
Dann habe ich die Sensoren in der Configuration.yaml angelegt.
Dann habe ich unter Dashboard in Energie die Sensoren eingefügt.
Irgendwo ist der Fehler obwohl ich das Gefühl hatte alles richtig gemacht zu haben.
Ich habe mal Bilder angehängt an denen ein Profi eventuell den Fehler erkennen kann
Danke Fränki

Hallo und willkommen,

Zeile 22 müsste gelöscht werden und dürfte in der jetzigen Form die Verarbeitung erschweren.
Wenn man template definiert, darf - sensor in diesem Zusammenhang nur einmal dort stehen.

Aber basierend auf dem Screenshot ist es nicht ganz einfach zu identifizieren, ob auch immer richtig eingerückt wurde.
Ist immer etwas einfacher für den Helfenden, wenn es direkt als Code eingestellt wird…

Ich habe einmal versucht, das darzustellen:

template:
  - sensor:
      - name: "Stromzaehler Verbauch"
        unique_id: "StromSWPVerbrauch"
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
        state: >
            {{ float(states('sensor.tasmota_stromzahler_swp_mt681_total_in')) | round(3) }}
      - name: "Stromzaehler Einspeisen"
        unique_id: "StromSWPEinspeisen"
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
        state: >
            {{ float(states('sensor.tasmota_stromzahler_swp_mt681_total_out')) | round(3) }}

Bitte kontrolliere noch einmal die Namen der Sensoren und den round Wert für den Fall, dass die Zeilen 12-31 damit komplett ersetzt werden…

Nach erfolgtem Speichern in den Entwicklerwerkzeugen noch einmal zur Sicherheit die Konfiguration prüfen.

Vielen Dank für Deine schnelle Hilfe. Das mit dem Einrücken verstehe ich nicht . Ist das der Abstand in den Zeilen von Links?
Die Namen der Sensoren habe ich aus Tasmota herraus kopiert und eingefügt. Müssten passen.
Wenn Ich deinen Code eingebe sieht das so aus


Hier mal meine Configuration:


# 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
script: !include scripts.yaml
scene: !include scenes.yaml
template:
 - sensor:
    # Stromzähler Garage Verbrauch
      - name: "Stromzaehler Verbrauch"
        unique_id: "StromSWPVerbrauch"
        unit_of_measurement: 'kWh'
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.tasmota_stromzahler_swp_mt681_total_in')) | round(0) }
            
    # Stromzähler Keller Einspeisen
      - name: "Stromzaehler Einspeisen"
        unique_id: "StromSWPEinspeisen"
        unit_of_measurement: 'kWh'
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.tasmota_stromzahler_swp_mt681_total_out')) | round(0) }}
            
 Ich hab mal den Code meine Config eingefügt. Vieleicht erkennt man da etwas .
Du mußt Nachsichtig mit mir sein, da das alles Neuland für mich ist.
Gruß und Dank Fränki
Oder mal ein Tutorial das ich abarbeiten kann


Das meinte ich - ja :slight_smile:

Mich verwirrt gerade nur etwas die Darstellung im Editor nach dem Kopieren+Einfügen.
Ich habe meinen Code oben noch einmal angepasst und es sollte jetzt auch beim Einfügen etwas geordneter aussehen.

Hallo Thalion
Danke für deine Hilfe. Jetzt mit dem geänderten Code klappt es.
Hab leider nicht so recht verstanden warum es ohne Fehler geht. Ich hoffe mal dass ich nicht zu oft solche Dinge tun muss damit etwas funktioniert. HA ist so mächtig
Vielen Dank Gruß Fränki

Hallo zusammen,

ich bin dank der genialen Videos von Simon hier im Forum gelandet.
An dieser Stelle erstmal: DANKE Simon, ohne die Videos wäre nie
soweit gekommen.

Aber jetzt hänge ich bei der Integration eines Tasmota Sensors und komme nicht mehr weiter.
Situation: Der Sensor funktioniert und wird in HA erkannt, Entitäten stehen zur Verfügung und werden aktualisiert.
Soweit so gut, was funktioniert nicht:

  • Der Eintrag in der config.yaml um die Entitäten des Sensors in HA mit Einheiten bekannt zu machen
  • Speicherung der Daten in InfluxDB

Auszug aus der config.yaml:

template:
  sensor:
   # Stromzaehler Keller Verbrauch
  - name: "Stromzaehler 1. OG rechts Verbrauch"
    unit_of_measurement: 'kWh'
    device_class: "energy"
    state_class: "total_increasing"
    state: >
            {{ float(states('bitShake SmartMeterReader SML Verbrauch_Summe')) | round(3) }}

Vielleicht habe ich auch nur Tomaten auf den Augen und jemand kann mir noch sagen was falsch ist.

Danke schonmal!
Michael

:crayon:by HarryP: Codezeilen formatiert (bitte immer in </> einbinden)

Hallo zusammen,

als HA-Neuling (vor 3 Wochen Umstieg von ioBroker) habe ich meine liebe Not mit dem SML-Sensor.
Die Daten kommen in HA an, ich bekomme sie nur nicht ins Energie-Dashbord.
Die sensor.yaml ist ausgelagert.
Beim Test der YAML kommt folgender Hinweis.
“Invalid config for ‘sensor’ at sensor.yaml, line 2: required key ‘platform’ not provided”

Es ist auch egal, ob ich {{ float(states.sensor.wifi_ir_smart_meter_interface_sml_Power.state) | round(1) }}
oder
{{ float(states.sensor.wifi_ir_smart_meter_interface_sml_Power.state) | round(1) }}
(mit oder ohne ’ vor dem states) schreibe (mit ist Text rot, ohne schwarz)

Mit dem weiter Einrücken habe ich ebenfalls getestet - so gibt’s wenigstens keine Fehlermeldungen in der sensor.yaml.
Mein Zähler liefert u.a. die Leistung (“Power” in “W”), den Bezug (“in” in "kWh) und die Einspeisung (“out” in kWh). Den Rest brauche ich nicht.
Das Script:

D
B
->sensor53 r
M 1
+1,3,s,16,9600,SML
1,77070100010800ff@1000,Bezug Gesamt,kWh,in,1
1,77070100020800ff@1000,Einspeisung,kWh,out,4
1,77070100100700ff@1,Aktueller Verbrauch,W,Power,0

Der mqtt-Datensatz in Tasmota:
17:12:04.472 MQT: tele/Stromzaehler/SENSOR = {“Time”:“2024-01-30T17:12:04”,“SML”:{“in”:17714.8,“out”:0.0000,“Power”:869,“zählerstand_tarif_1”:10917.0,“zählerstand_tarif_2”:6797.8}}

eine “templet.yaml” gib es bei mir nicht

Unter Entwicklerwerkzeuge → Template habe ich den Sensor ausgelesen bekommen:
{{ states.sensor.wifi_ir_smart_meter_interface_sml_power.state }}

# Stromzähler Power
  - name: "Stromzähler Power"
    unique_id: "StromPower"
    unit_of_measurement: 'W'
    device_class: "energy"
    state_class: "total_increasing"
    state: >-
      {{ float('states.sensor.wifi_ir_smart_meter_interface_sml_Power.state') | round(1) }}

# Stromzähler Verbrauch
  - name: "Stromzähler Verbrauch"
    unique_id: "StromVerbrauch"
    unit_of_measurement: 'kWh'
    device_class: "energy"
    state_class: "total_increasing"
    state: "{{ float(states.sensor.wifi_ir_smart_meter_interface_sml_in.state) | round(1) }}"

Wo ist nur der Fehler, weshalb ich die Daten nicht ins Energie-Dashbord bekomme ??? :face_with_monocle:

Wielen liebe Dank für eure Hilfe
Sören

Erster Hinweis wäre schon mal, dass deine unique_ids Großbuchstaben enthalten. Bitte hier nur kleinschreiben, nur Unterstriche und Zahlen verwenden.
Zweitens ist beim Sensor Power die device_class falsch. Ein Watt Wert ist vom Typ “power” und seine state_class: measurement.
Drittens dann bei Developer Tools > Statistics schauen, ob es Probleme bei dem Sensor gibt uns diese gegebenenfalls beheben.

Hallo bigmirror,
vielen Dank für die schnelle Antwort.
Ich habe deine Hinweise umgesetzt
unique_id: “strom_power”
unit_of_measurement: ‘W’
device_class: “power”

Unter Entwicklerwerkzeuge → Statistik ist kein Fehler erkennbar:

WiFi IR Smart Meter Interface SML Power
sensor.wifi_ir_smart_meter_interface_sml_power
W
recorder
Kein Problem

HA habe ich natürlich neu gestartet.

Nach wie vor kommt beim yaml-Test folgende Meldung:
Invalid config for ‘sensor’ at sensor.yaml, line 2: required key ‘platform’ not provided

(betrifft die 2. Zeile in :

# Stromzähler Power
  - name: "Stromzähler Power"
    unique_id: "strom_power"
    unit_of_measurement: 'W'
    device_class: "power"
    state_class: "measurement"
    state: >-
      {{ float('states.sensor.wifi_ir_smart_meter_interface_sml_Power.state') | round(1) }}

Leider sind die Änderungen ohne Erfolg.

Im log ist noch folgender Hinweis:
2024-01-30 17:33:36.569 ERROR (MainThread) [homeassistant.config] Invalid config for ‘sensor’ at sensor.yaml, line 2: required key ‘platform’ not provided, please check the docs at Sensor - Home Assistant
:thinking:

Nur leider verstehe ist es (noch) nicht.
Die Daten kommen per mqtt in HA an (ich kann sie mit auch in JSON via mqttfx ansehen), nur verarbeitet HA sie nicht richtig.
Meine anderen Tasmota-Sensoren funktionieren tedellos

Das Problem steht ja da, beim Sensor fehlt die platform.
Soweit ich weiß ist das die alte Schreibweise, die ich nicht richtig kenne, daher würde ich empfehlen, den Sensor in der template.yaml zu definieren. Wenn die nicht verfügbar ist, einfach eine anlegen.

In die configuration.yaml dann:

template: !include template.yaml

In der template.yaml:


- sensor
# Stromzähler Power
  - name: "Stromzähler Power"
    unique_id: "strom_power"
    unit_of_measurement: 'W'
    device_class: "power"
    state_class: "measurement"
    state: >-
      {{ float('states.sensor.wifi_ir_smart_meter_interface_sml_Power.state') | round(1) }}

Hier noch ein Link, wo der Unterschied der Schreibweise dargestellt wird.

Hallo bigmirror,

Danke, meine template.yaml sieht jetzt so aus:

sensor:
# Stromzähler Power
  - platform: template
    name: "Stromzähler Power"
    unique_id: "strom_power"
    unit_of_measurement: 'W'
    device_class: "power"
    state_class: "measurement"
    state: >-
      {{ float('states.sensor.wifi_ir_smart_meter_interface_sml_Power.state') | round(1) }}

Alle anderen Einträge in sensor.yaml habe ich mit # auskommentiert.
Fehlermeldungen gibts doch noch im Log für die template.yaml - Daten fürs Energy-Bord hab ich nicht :tired_face

Ich habe mir auch schon einen Helfer gebaut - er funktioniert wunderbar - nur ins Dashbord bekommen ich seine Daten nicht…

Ich werde im Netz noch etwas nach Lösungsansätzen suchen…

Vielen Dank für die Unterstützung :+1:

Vor das sensor muss noch ein Bindestrich

an dem Bindestrich liegt es nicht - ich suche weiter :slightly_frowning_face:

Danke
Sören

Du brings hier die alte Template Platform und die aktuelle Template Integration durcheinander. Es ist ein mix aus beiden, was nicht funktionieren kann.
Hier der Template Sensor:

#configuration.yaml
template:
  - sensor:
    - name: Stromzähler Power
      state: |
        {{ states('sensor.wifi_ir_smart_meter_interface_sml_Power') | float(0) | round(1) }}
      unique_id: 88e8ef05-c9cc-4fad-a28a-552a093fb1bc
      unit_of_measurement: 'W'
      device_class: power
      state_class: measurement

Die Frage die sich mir aber stellt. Warum erstellst Du ein Template Sensor der ein 1:1 Abbild des Original Sensors ist?

Gruß
Osorkon

Hallo Osorkon,

Danke für den Hinweis.
Ich habe mit HA Vers. 2023.12 überhaupt erst begonnen und muss mich nun in die Differenzierung yaml alt / neu einlesen.
Ich “dachte”, so wie Simon in seinem Video vorgegangen zu sein und habe anschließend div. Änderungen/ Fehler versucht zu korrigieren…
Das Problem befindet sich bekanntlich 30cm vor der Tastatur.

VG Sören

Home Assistant entwickelt sich so schnell, jeden Monat kommt was neues dazu.
Da sind die Video Tutorials oft bereits veraltet sobald der Videoschnitt fertig ist. :man_shrugging:

Habe gerade bemerkt, das ich oben auf die template.yaml referenziere. Das ist natürlich Quatsch, ist ein Auszug aus der configuration.yaml.
Habs oben bereits korrigiert.

Gruß
Osorkon

Hallo auch,
ich weiss, das Thema ist schon geklärt, habe aber eine Grundsatzfrage zu der Einstellung des Tasmota Sensors für Stromzähler.
Mein Ziel ist es ebenfalls die Leistungen und Verbrauch durch HA zuzuordnen, jedoch müsste ich auch die dementsprechenden Templates einfügen. Was ich mich aber Frage ist nun folgendes:
Ich besitze eine Tasmota Steckdose durch die die Leistung/der Verbrauch des Verbrauchers gemessen werden soll. Wenn ich den wie gewohnt über MQTT bzw das Tasmota Addon in HA laufen lassen, werden alle Templates hinsichtlich Energie automatisch erkannt. Die EInheiten werden zugeodnet und ich könnte sie sogar über das EnergieDashboard auswählen.
Sie hierzu folgendes Bild

Ich muss hierbei keine Templates oder der gleichen Anlegen.

Beim tasmota Stromleser jedoch, wird dies nicht automatisch erkannt.
grafik

Jetzt frage ich mich, ob irgendwelche Voreinstellungen in der Tasmota software dazu führen könnten, dass die Enrgie und Power und Verbrauchsparameter als die zugehörigen Templates automatisch erkannt werden.

MQTT STring Stromzähler:
State={"Time":"2025-02-04T13:40:41","Uptime":"0T02:01:20","UptimeSec":7280,"Heap":18,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"ON","Wifi"{"AP":1,"SSId":"*","BSSId":"30:D3:2D:BB:F8:2C","Channel":6,"Mode":"11n","RSSI":100,"Signal":-41,"LinkCount":1,"Downtime":"0T00:00:03"}}

SENSOR={"Time":"2025-02-04T13:42:11","ENERGY":{"Total_in":190.0638,"Power_cur":216,"Power_p1":-141,"Power_p2":543,"Power_p3":-186,"Total_out":0.2035,"Meter_id":"090149534b000583cbb7"}}

MQTT String Plug:
State={"Time":"2025-02-04T13:43:49","Uptime":"0T16:10:51","UptimeSec":58251,"Heap":176,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Berry":{"HeapUsed":4,"Objects":46},"POWER":"ON","Wifi":{"AP":1,"SSId":"Keller","BSSId":"30:D3:2D:BB:F8:2C","Channel":6,"Mode":"HT40","RSSI":88,"Signal":-56,"LinkCount":1,"Downtime":"0T00:00:03"}}

Sensor={"Time":"2025-02-04T13:44:09","ENERGY":{"TotalStartTime":"2025-01-19T10:46:39","Total":6.017,"Yesterday":0.016,"Today":0.009,"Period":0,"Power":0,"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":229,"Current":0.000}}

Die Strings stimmen auch größtenteils überein, so dass ich davon ausgehe, das HA die einkommenden Daten -warum auch immer- verschieden interpretiert.

Also lange Rede kurzer Sinn, was muss ich ändern umd die Werte wie im vorangegangenen Beispiel automatisch erkennen zu lassen?

Hat da keine eine Idee? :slight_smile:

(Beitrag vom Verfasser gelöscht)