Template-Fehler bei Default-Spezifikation

Hallo, ich bitte um Unterstützung der Template-Spezialisten hier im Forum.

Mein Problem:
Das Template (habe mehrere ähnlich die sich gleichfalls verhalten)

    # Stromzähler Keller Verbrauch Gesamt aktuell
      - name: "Strom-EG-aktuell"
        unit_of_measurement: "W"
        device_class: "power"
        state_class: "measurement"
        state: >-
            {{ float(states('sensor.tasmota_lk13be_power_curr')) | round(0) }}

wirft mir den Fehler:

TemplateError('ValueError: Template error: float got invalid input 'unavailable' when rendering template '{{ float(states('sensor.tasmota_lk13be_power_curr')) | round(0) }}' but no default was specified') while processing template 'Template<template=({{ float(states('sensor.tasmota_lk13be_power_curr')) | round(0) }}) renders=13686>' for attribute '_attr_native_value' in entity 'sensor.strom_eg_aktuell'

im Protokoll.

Nach Recherche konnte ich den Fehler mit einfügen von “,0” im Template lösen.
{{ float(states(‘sensor.tasmota_lk13be_power_curr’),0) | round(0) }}

Diese Änderung hat das oben beschriebene Problem gelöst. Allerdings tritt jetzt sporadisch (ca. 1-5 mal am Tag) dass nächste Problem auf. Wenn ich das so laufen lasse werden in unregelmäßigen Abständen Mondwerte im MegaWatt-Bereich zurück gemeldet.
Das die Korrektur (einfügen “,0”) der Auslöser dieser falschen Werte ist, kann ich deshalb feststellen, da auf meinem Testsystem diese falschen Werte nicht vorkommen. Allerdings dann die Fehlermeldung des undefinierten Default. Sollten noch Infos fehlen gerne nachfragen.

Gib es eine Möglichkeit den Default-Wert im Template vor zu geben ohne das die Werte sporadisch verfälscht werden.

Vielen Dank.

such mal hier im Forum oder mit google nach “availability”

1 „Gefällt mir“

Vielen Dank, Thema war mir neu.
Man lernt nie aus

Habe den Code wie folgt ergänzt und werde testen ob noch Fehlwerte kommen:

    # Stromzähler Keller Verbrauch Out
      - name: "PV-Einspeisung"
        unique_id: "PV-Einspeisung"
        unit_of_measurement: 'kWh'
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.tasmota_lk13be_power_total_out'),0) | round(3) }}
        availability: "{{ has_value('sensor.tasmota_lk13be_power_total_out') }}"

Erklärt aber noch nicht warum die Fehlwerte nur dann kommen, wenn ich den Default-Wert mit “,0” vorgebe. Mache ich das nicht kommen keine Fehlwerte.

schätze, er sieht dann halt für diesen Datenpunkt die Differenz zwischen 0 und dem nun wieder verfügbaren echten Wert als Verbrauch dazwischen.

1 „Gefällt mir“