Tasmota Leseköpfe ohne Fehler im Energie-Dashboard oder Diagramme

ich bin leider ein bisschen Leidgeplagt mit meiner Einbindung meines Wärmemengenzählers (Sharky775)

Wärmemengenzähler Abtastung ca. alle 110 min

Probleme:

  • nach stromlos machen des Lesekopf = erster Wert = 0 kWh beim Totalwert
  • nach Neustart machen des Lesekopf = erster Wert = 0 kWh beim Totalwert

Resultat:

  • falsche Werte im Energie Dashboard (Werte und Kosten)
  • Diagramm falsch

Hier mal ein Beispiel am Diagramm mit der Originalen Entität:

und das Ergebnis mit einem zusätzlichen Template Sensor (nur in Yaml möglich):

Meine Lösung daher:

  • anlegen von zusätzlichen Template Sensoren von dem Lesekopf
  • in diesen Sensoren wird ein „availability“ eingebaut
  • beim ersten Sensor (der Total in kWh) wird nur erlaubt: erreichbar und ein Grenzwert
  • alle andere Sensoren wird auch genau dieser verwendet

das sieht dann so aus mit „nicht erreichbar“ oder Wert „w_total < 67200“ (neu links, orginal rechts)

Nachdem der Lesekopf dann wieder einen definierten richtigen Wert sendet sieht das dann wieder so aus:

Also dann den neuen Sensor im Energy Board verwenden (ohne manuelles Eingreifen in die Statistik)


sowie

Das Diagramm (sieht dann auch wieder ok aus)

Beim zusätzlichen angelegten Verbrauchszähler (Tag/Monat/Jahr) unbedingt diese Option deaktivieren, da sonst der letzte Wert nicht einfließt

Yaml Template Sensor sieht dann bei mir so aus:

#V3
#
#template:    auskommentiert da ausgelagert
  - sensor:
      - name: Sharky775v3 WAERME w_total stabil
        state_class: total_increasing
        device_class: energy
        unit_of_measurement: 'kWh'
        state: >
          {{ states('sensor.sharky775v3_waerme_w_total') }}
        availability: >
          {{ has_value('sensor.sharky775v3_waerme_w_total') and
             states('sensor.sharky775v3_waerme_w_total')|float(0) > 67200 }}
        unique_id: sharky775v3_waerme_w_total_stabil_0000000000
#This will replace values under 67200 kWh with unknown, which the utility meter will ignore
#
#
  - sensor:
      - name: Sharky775v3 WAERME v_total stabil
        state_class: total_increasing
        device_class: volume
        unit_of_measurement: 'm³'
        state: >
          {{ states('sensor.sharky775v3_waerme_v_total') }}
        availability: >
          {{ has_value('sensor.sharky775v3_waerme_w_total') and
             states('sensor.sharky775v3_waerme_w_total')|float(0) > 67200 }}
        unique_id: sharky775v3_waerme_v_total_stabil_0000000000
#
#
  - sensor:
      - name: Sharky775v3 WAERME F_akt stabil
        device_class: volume_flow_rate
        unit_of_measurement: 'm³/h'
        state: >
          {{ states('sensor.sharky775v3_waerme_f_akt') }}
        availability: >
          {{ has_value('sensor.sharky775v3_waerme_w_total') and
             states('sensor.sharky775v3_waerme_w_total')|float(0) > 67200 }}
        unique_id: sharky775v3_waerme_f_akt_stabil_0000000000
#
#
  - sensor:
      - name: Sharky775v3 WAERME p_act stabil
        device_class: power
        unit_of_measurement: 'W'
        state: >
          {{ states('sensor.sharky775v3_waerme_p_act') }}
        availability: >
          {{ has_value('sensor.sharky775v3_waerme_w_total') and
             states('sensor.sharky775v3_waerme_w_total')|float(0) > 67200 }}
        unique_id: sharky775v3_waerme_p_act_stabil_0000000000       
#
#
  - sensor:
      - name: Sharky775v3 WAERME t_diff stabil
        device_class: temperature
        unit_of_measurement: '°C'
        state: >
          {{ states('sensor.sharky775v3_waerme_t_diff') }}
        availability: >
          {{ has_value('sensor.sharky775v3_waerme_w_total') and
             states('sensor.sharky775v3_waerme_w_total')|float(0) > 67200 }}
        unique_id: sharky775v3_waerme_t_diff_stabil_0000000000          
#
#
  - sensor:
      - name: Sharky775v3 WAERME t_flow stabil
        device_class: temperature
        unit_of_measurement: '°C'
        state: >
          {{ states('sensor.sharky775v3_waerme_t_flow') }}
        availability: >
          {{ has_value('sensor.sharky775v3_waerme_w_total') and
             states('sensor.sharky775v3_waerme_w_total')|float(0) > 67200 }}
        unique_id: sharky775v3_waerme_t_flow_stabil_0000000000        
#
#
  - sensor:
      - name: Sharky775v3 WAERME t_return stabil
        device_class: temperature
        unit_of_measurement: '°C'
        state: >
          {{ states('sensor.sharky775v3_waerme_t_return') }}
        availability: >
          {{ has_value('sensor.sharky775v3_waerme_w_total') and
             states('sensor.sharky775v3_waerme_w_total')|float(0) > 67200 }}
        unique_id: sharky775v3_waerme_t_return_stabil_0000000000

Das geht natürlich auch mit anderen Entitäten

Viel Spaß und viel Erfolg

2 „Gefällt mir“