Tasmota Lesekopf / Homeassistant / MQTT

el_harry

New member
Hallo zusammen,
ich habe einen IR Lesekopf auf meinem Stromzähler und bekomme in Tasmota wunderbar die Werte angezeigt.
Auch im MQTT Explorer sehe ich die Werte. Diese kann ich aber nicht in Entitäten umsetzen so das ich diese auf dem Dashboard sehen kann oder gar ins Energiedaschboard einbinden kann.Tasmota.jpg

Bild vom MQTT Explorer
1696331725369.png

Mein Eintrag in der Configuration.YAML Bei den Hoymiles (lezter Eintrag) bekomme ich den Wert auf das Dashboard, diese sind aber auch im MQTT Explorer als einzelne Zeilen definiert)
Code:
# MQTT---------------------------------------------
#mqtt:
- sensor:
  # Stromzähler Keller Verbrauch
    #- state_topic: "tele/Stromzaehler_76E214/SENSOR"
    - name: "Gesamtverbrauch" 
      unique_id: "Total_in"
      unit_of_measurement: "kWh"
      device_class: "energy"
      state_class: "total_increasing"
      state: >-
       {{ float(states('sensor.Total_in')) | round(3) }}

    - state_topic: "tele/Stromzaehler_76E214/SENSOR"
      name: "Aktuellerverbrauch" 
      unique_id: "Power_in"
      unit_of_measurement: "W"
      device_class: "energy"
      state_class: measurement

    - state_topic: "tele/Stromzaehler_76E214/SENSOR" 
      name: "Einspeisung" 
      unique_id: "Total_out"
      unit_of_measurement: "kWh"
      device_class: "energy"
      state_class: "total_increasing"

    - state_topic: "Hoymiles800/total/P_AC"
      name: "Hoymiles800_aktuell"
      unique_id: "Hoymiles800_Aktuell"
      unit_of_measurement: "W"
      device_class: energy
      state_class: total_increasing

Wenn ich das ganze mit State: wie bei Simon42 versuche bekomme ich immer eine Fehlermeldung das die Syntax so nicht OK ist. Sowohl im YAML Editor als auch bei den Entwickleroptionen.

Bitte seht es mir nach das ich nicht ständig am Rechner bin und es etwas dauern kann bis ich antworte oder bis ich die Ratschläge umgesetzt habe.

Liebe grüße Harry
 
Hi Paddy0174 gerne doch,
dachte das das Problem wo anders liegt.

Gier die Configuration.yaml komplett ab dem was ich Eingefügt habe.

Code:
# IR Stromzähler
homeassistant:
  customize_glob:
    sensor.Total_in:
      unit_of_measurement: "kWh"   
      device_class: energy
      state_class: total_increasing
      last_reset: 1970-01-01T00:00:00+00:00
    sensor.Total_out:
      unit_of_measurement: "kWh"   
      device_class: energy
      state_class: total_increasing
      last_reset: 1970-01-01T00:00:00+00:00
    sensor.Power:
      unit_of_measurement: "Wh"   
      device_class: energy
      state_class: total
      last_reset: 1970-01-01T00:00:00+00:00

utility_meter:
  stromverbrauch_aktuell_daily:
    source: sensor.Power
    cycle: daily
  stromverbrauch_aktuell_weekly:
    source: sensor.Power
    cycle: weekly
  stromverbrauch_aktuell_monthly:
    source: sensor.Power
    cycle: monthly
  stromverbrauch_aktuell_yearly:
    source: sensor.Power
    cycle: yearly
    
  stromverbrauch_total_daily:
    source: sensor.Total_In
    cycle: daily
  stromverbrauch_total_weekly:
    source: ssensor.Total_In
    cycle: weekly
  stromverbrauch_total_monthly:
    source: sensor.Total_In
    cycle: monthly
  stromverbrauch_total_yearly:
    source: sensor.Total_In
    cycle: yearly

# MQTT---------------------------------------------
mqtt:
  - sensor:
    # Stromzähler Keller Verbrauch
    - state_topic: "tele/Stromzaehler_76E214/SENSOR"
      name: "Gesamtverbrauch" 
      unique_id: "Total_in"
      unit_of_measurement: "kWh"
      device_class: "energy"
      state_class: "total_increasing"
      state: >-
            {{ float(states('sensor.Total_in')) | round(3) }}
            
    - state_topic: "tele/Stromzaehler_76E214/SENSOR"
      name: "Aktuellerverbrauch" 
      unique_id: "Power_in"
      unit_of_measurement: "W"
      device_class: "energy"
      state_class: measurement

    - state_topic: "tele/Stromzaehler_76E214/SENSOR" 
      name: "Einspeisung" 
      unique_id: "Total_out"
      unit_of_measurement: "kWh"
      device_class: "energy"
      state_class: "total_increasing"

    - state_topic: "Hoymiles800/total/P_AC"
      name: "Hoymiles800_aktuell"
      unique_id: "Hoymiles800_Aktuell"
      unit_of_measurement: "W"
      device_class: energy
      state_class: total_increasing
      
    - state_topic: "Hoymiles800/total/YieldTotal"
      name: "Hoymiles800_Total"
      unique_id: "Hoymiles800_Total"
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing
      
    - state_topic: "Hoymiles800/total/YieldDay"
      name: "Hoymiles800_Day"
      unique_id: "Hoymiles800_Day"
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing

Die Meldung die ich bekomme wenn ich über die Entwicklerwerkzeuge die Konfiguration Prüfe

Fehlermeldung_.jpg
 
Sieht nach packages aus, sehr löblich! (y) (y)😂 Ich bin ja quasi der inoffizielle Marketingbeauftragte für packages - ich find die super! 😍

Das da
YAML:
state: >-
  {{ float(states('sensor.Total_in')) | round(3) }}
gehört da nicht hin. MQTT-Sensoren haben keinen state.

Ausserdem bin ich mir gar nicht sicher, ob Du float als Funktion nutzen kannst. Ich würde das auf einen Filter umstellen, so in etwa {{ states('sensor.Total_in') | float(1) | round(3) }}. Damit hättest Du auch gleich den default Wert abgefrühstückt, der muss bei einem float filter nämlich dazu.

Aber nachdem Du da ohnehin keinen state setzen kannst, müsstest Du das in einem Eintrag value_template: berücksichtigen.

Also ungefähr so:
YAML:
mqtt:
  - sensor:
    # Stromzähler Keller Verbrauch
    - state_topic: "tele/Stromzaehler_76E214/SENSOR"
      name: "Gesamtverbrauch"
      unique_id: "Total_in"
      unit_of_measurement: "kWh"
      device_class: "energy"
      state_class: "total_increasing"
      value_template: "{{ states('sensor.Total_in') | float(1) | round(3) }}"

Sag bitte Bescheid, ob ich da irgendwelche Fehler versteckt habe, ich bin mir bei den value_templates nie ganz sicher, ob die so richtig sind.... 😳
 
Hi Paddy,

Habe das Value_Template eingefügt, und bekomme nun im Dashboard Werte angezeigt diese sind aber alle mit 1kWh usw. siehe Bild unten. Die Verbindung zu den Werten die im MTTQ angezeigt werden scheint nicht zu funktionieren. Ich habe auch nicht wirklich verstanden wie diese zustande kommt da ich Anzeige.jpg
Code:
# MQTT---------------------------------------------
mqtt:
  - sensor:
    # Stromzähler Keller Verbrauch
    - state_topic: "tele/Stromzaehler_76E214/SENSOR"
      name: "Gesamtverbrauch" 
      unique_id: "Total_in"
      unit_of_measurement: "kWh"
      device_class: "energy"
      state_class: "total_increasing"
      value_template: "{{ states('sensor.Total_in') | float(1) | round(3) }}"
            
    - state_topic: "tele/Stromzaehler_76E214/SENSOR"
      name: "Aktuellerverbrauch" 
      unique_id: "Power_in"
      unit_of_measurement: "W"
      device_class: "energy"
      state_class: measurement
      value_template: "{{ states('sensor.Power_in') | float(1) | round(3) }}"

    - state_topic: "tele/Stromzaehler_76E214/SENSOR" 
      name: "Einspeisung" 
      unique_id: "Total_out"
      unit_of_measurement: "kWh"
      device_class: "energy"
      state_class: "total_increasing"
      value_template: "{{ states('sensor.Total_out') | float(1) | round(3) }}"

    - state_topic: "Hoymiles800/total/P_AC"
      name: "Hoymiles800_aktuell"
      unique_id: "Hoymiles800_Aktuell"
      unit_of_measurement: "W"
      device_class: energy
      state_class: total_increasing
      
    - state_topic: "Hoymiles800/total/YieldTotal"
      name: "Hoymiles800_Total"
      unique_id: "Hoymiles800_Total"
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing
      
    - state_topic: "Hoymiles800/total/YieldDay"
      name: "Hoymiles800_Day"
      unique_id: "Hoymiles800_Day"
      unit_of_measurement: "kWh"
      device_class: energy
      state_class: total_increasing
 
Hast Du mitten im Satz aufgehört? Da fehlt doch noch Text, oder? :unsure:

Hmmm, also das dir eins (1) angezeigt wird, dürfte am default liegen, der ist nämlich eins. Heisst, der Sensor funktioniert soweit, er erhält aber keine Werte. Du erwischt mich da echt an einer Ecke, wo ich nicht so wahnsinnig firm bin. Ich versuche die MQTT Sensoren immer zu vermeiden, eben weil ich mir nie so wirklich sicher bin, was ich da eigentlich tue... :ROFLMAO::ROFLMAO::ROFLMAO:

Andererseits kann das auch nicht funktionieren, wir arbeiten ja unter value_template mit dem Sensor, den wir eigentlich gerade erst erstellen.... 🤪

Versuch es bitte mal so, und dann schauen wir, was draus wird (bitte für die anderen Sensoren entsprechend das value_template anpassen).
YAML:
mqtt:
  - sensor:
    # Stromzähler Keller Verbrauch
    - state_topic: "tele/Stromzaehler_76E214/SENSOR"
      name: "Gesamtverbrauch"
      unique_id: "Total_in"
      unit_of_measurement: "kWh"
      device_class: "energy"
      state_class: "total_increasing"
      value_template: "{{ value_json.Power.Total_in | float(0) | round(3) }}"
Ich hab da jetzt einmal den Sensor raus und mit dem Wert aus dem JSON ersetzt, und ausserdem den default Wert von (1) auf (0) gesetzt.

Probier das bitte mal, und gib Bescheid. ☺️
 
Hi PAddy,
ja den Satz oben hat es mir zerlegt als ich das Bild eingefügt habe.
Nach der Änderung habe ich folgendes Bild
anzeige2.jpg
Wenn Du auf die MQQT Sensoren verzichtest wie machst Du es das dir der aktuelle Stromzählerstand angezeigt wird?
 
Hi Paddy,

super herzlichen Dank, das funktioniert. Weis nicht was ich grad noch falsch gemacht habe. Nach einem Neustart funktioniert es.

Hier noch die Zusammenfassung.

Im MTTQ-Explorer sah es so aus.
MTTQ Explorer.jpg

In meiner Configuration.yaml habe ich da unten stehende:

Code:
# MQTT---------------------------------------------
mqtt:
  - sensor:
    # Stromzähler Keller Verbrauch
    - state_topic: "tele/Stromzaehler_76E214/SENSOR"
      name: "Gesamtverbrauch" 
      unique_id: "Total_in"
      unit_of_measurement: "kWh"
      device_class: "energy"
      state_class: "total_increasing"
      value_template: "{{ value_json.Power.Total_in | float(0) | round(3) }}"

    # Stromzähler Keller Verbrauch
    - state_topic: "tele/Stromzaehler_76E214/SENSOR"
      name: "Einspeisen" 
      unique_id: "Total_out"
      unit_of_measurement: "kWh"
      device_class: "energy"
      state_class: "total_increasing"
      value_template: "{{ value_json.Power.Total_out | float(0) | round(3) }}"

    # Stromzähler Keller Verbrauch
    - state_topic: "tele/Stromzaehler_76E214/SENSOR"
      name: "Aktuell" 
      unique_id: "Power"
      unit_of_measurement: "kWh"
      device_class: "energy"
      state_class: "total_increasing"
      value_template: "{{ value_json.Power.Power | float(0) | round(3) }}"
            
    - state_topic: "Hoymiles800/total/P_AC"
      name: "Hoymiles800_aktuell"
      unique_id: "Hoymiles800_Aktuell"
      unit_of_measurement: "W"
      device_class: energy
      state_class: total_increasing


Damit konnte ich nun im Dashboard eine Kachel anlegen.
daschboard kachel.jpg



Und bekomme das folgende im Angezeigt. Damit kann ich nun mein Energy Dashboard befüllen.
Dashboard anezige.jpg

Das ist genau das was ich wollte.

Paddy, herzlichen Dank dafür.
 
Wenn Du auf die MQQT Sensoren verzichtest wie machst Du es das dir der aktuelle Stromzählerstand angezeigt wird?
Gar nicht! 😎 😂 Ich habe das Glück auf die Daten via API zugreifen zu können, deshalb brauche ich das an der Stelle nicht (glücklicherweise)! ☺️(y)
Das ist genau das was ich wollte.

Paddy, herzlichen Dank dafür.
Gern geschehen, freut mich, wenn ich helfen konnte! ☺️
 
Genau, die nutze ich auch und du hast automatisch alle Werte als Entität.

Außerdem sind nur kWh Werte device_class „Energy“. W ist „Power“
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
4.608
Beiträge
47.204
Mitglieder
4.258
Neuestes Mitglied
fumdock
Zurück
Oben