Umwandlung float überspringen

Hallo zusammen,
ich habe folgendes Template erstellt:

  - sensor:
    - name: "Stromzähler Gesamt"
      unique_id: "StromzaehlerGesamt"
      unit_of_measurement: 'kWh'
      device_class: energy
      state_class: total_increasing
      state: >
        {{ float(states('sensor.tasmota_strom_zaehler_mt175_zaehlerstand_total')) | round(3)}}

und folgende Fehlermeldung erhalten:

ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('ValueError: Template error: float got invalid input 'unavailable' when rendering template '{{ float(states('sensor.tasmota_strom_zaehler_mt175_zaehlerstand_total')) | round(3)}}' but no default was specified') while processing template 'Template<template=({{ float(states('sensor.tasmota_strom_zaehler_mt175_zaehlerstand_total')) | round(3)}}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.stromzahler_gesamt'

Das ist auch für mich verständlich und erfolgte bisher mit Absicht. Problem ist nämlich, wenn ich z.B. 0 als Default angebe, dann habe ich Stromverbrauchsspitzen in der Höhe des Zählerstandes.
Wenn ich den Default nicht angebe, dann wird der Wert ignoriert und bei der nächsten Aktualisierung ist schon alles wieder gut, ohne Stromspitze oder Probleme.
Ich würde aber gerne im Fehlerfall den Wert ignorieren oder NULL ausgeben ohne das HA ein Fehler im Log wirft. Kurz wie könnte ein Sensor aussehen der im Fehlerfall keinen Wert ausgibt?
Auch wenn ich nicht weiß, ob das überhaupt möglich ist oder nur an anderer Stelle einen Fehler kreiert.

Vielleicht so:

state: >
        {{ ((states('sensor.tasmota_strom_zaehler_mt175_zaehlerstand_total') | float) | round(3)}}

Nachtrag: Ich habe jetzt erst gelesen, dass du ein ganz anderes Problem beschreibst, als von HA gemeldet wird. Ich bin verwirrt.

Mir geht es darum, wie ich fehlerhafte Werte überspringe, ohne sie mit 0 zu ersetzen, da dann wie gesagt die falschen Stromverbrauchsspitzen entstehen.

Das sollte gehen.

{% set val = states('sensor.aqara_button_klimasusizauber_battery') %}
{{ (val | float | round(3)) if val not in ['unknown', 'unavailable', 'none'] }}

Wenn invalider Wert, wird gar nichts ausgegeben oder Du setzt ein else und gibst etwas an.

Besser geht es im Template Sensor mit Avalibility zu arbeiten. Such danach mal im Forum. Ich hab bloß keine Zeit mehr.

Schau mal hier, sollte genau das sein, was du benötigst!

Danke crypton, das war genau die Lösung die ich gesucht habe.
Allerdings frage ich mich, ob ich den Wert der ersten Umwandlung direkt abfragen kann oder ob HA es wirklich zweimal berechnen muss, um herauszufinden ob der Wert available ist.

  - sensor:
    - name: "Stromzähler Gesamt"
      unique_id: "StromzaehlerGesamt"
      unit_of_measurement: 'kWh'
      device_class: energy
      state_class: total_increasing
      state: >
        {{ float(states('sensor.tasmota_strom_zaehler_mt175_zaehlerstand_total'),0) | round(3)}}
      availability: "{{ float(states('sensor.tasmota_strom_zaehler_mt175_zaehlerstand_total'),0) >1 }}"

Du könntest es auch so lösen:

- sensor:
    - name: "Stromzähler Gesamt"
      unique_id: "StromzaehlerGesamt"
      unit_of_measurement: 'kWh'
      device_class: energy
      state_class: total_increasing
      state: >
        {{ float(states('sensor.tasmota_strom_zaehler_mt175_zaehlerstand_total'),0) | round(3)}}
      availability: "{{ has_value('sensor.tasmota_strom_zaehler_mt175_zaehlerstand_total') }}"