Template Leistungssensor, Umgang mit Status "unavailable"

Hallo Zusammen,

ich habe einen Sensor, der verschiedene Verbraucher und meine PV Leistung miteinander verrechnet. Funktioniert soweit auch - heute ist mir aber eine Fehlermeldung im Log aufgefallen.

Diese ist darauf zurückzuführen, dass der PV Wechselrichter über nacht aus ist, somit die PV ERzeugung auf “unavailable” geht.
Logisch, dass dann hier keine Zahl mer für die REchnung verfügbar ist.

Das Template scheint dennoch korrekt zu rechnen, dennoch würde ich das gern anpassen.

Kann mir hier jmd. weiterhelfen wie ich den Code meines Templates anpassen müsste, um bei der PV den Fall “unavailable” auf 0 zu setzen?

{{  ((states('sensor.shellypro3em_a0dd6ca0f580_total_active_power') | float(0) +(states('sensor.go_echarger_242273_nrg_12') | float(0)) - (states('sensor.solar_gesamtleistung') | float(0)) ))| round(2) }}

Hast Du doch schon ein Default Wert berücksichtigt?!

states('sensor.solar_gesamtleistung') | float(0)

Damit gibts Du den Wert des Sensors sensor.solar_gesamtleistung als Gleitkommazahl wieder, ist der Sensor nicht verfügbar wird eine 0 zurück gegeben float(0)

Wie lautet den die Fehlermeldung?

Gruß
Osorkon

Ich dachte genau das gleiche, ich habe die Fehlermeldung so gedeutet, dass hier das Problem liegt.

Hier die Meldung:

Logger: homeassistant.components.template.template_entity
Quelle: components/template/template_entity.py:199
Integration: Template (Dokumentation, Probleme)
Erstmals aufgetreten: 17. Oktober 2024, 20:18:10 (11 Vorkommnisse)
Zuletzt protokolliert: 12:54:19

TemplateError('ValueError: Template error: round got invalid input 'unavailable' when rendering template '{% if is_number(states('sensor.leistung_haus_privat_pv')) and states('sensor.leistung_haus_privat_pv') | float(0) < 0 %} {{ ( (states('sensor.leistung_haus_privat_pv') | float(0) ) + (states('sensor.solar_gesamtleistung') | float(0) ) ) | round (3) }} {% else %} {{ states('sensor.solar_gesamtleistung') | round (3) }}{% endif %}' but no default was specified') while processing template 'Template<template=({% if is_number(states('sensor.leistung_haus_privat_pv')) and states('sensor.leistung_haus_privat_pv') | float(0) < 0 %} {{ ( (states('sensor.leistung_haus_privat_pv') | float(0) ) + (states('sensor.solar_gesamtleistung') | float(0) ) ) | round (3) }} {% else %} {{ states('sensor.solar_gesamtleistung') | round (3) }}{% endif %}) renders=17790>' for attribute '_attr_native_value' in entity 'sensor.solar_eigenverbrauch_watt'
TemplateError('ValueError: Template error: round got invalid input 'unavailable' when rendering template '{% if is_number(states('sensor.leistung_haus_privat_pv')) and states('sensor.leistung_haus_privat_pv') | float(0) < 0 %} {{ ( (states('sensor.leistung_haus_privat_pv') | float(0) ) + (states('sensor.solar_gesamtleistung') | float(0) ) ) | round (3) }} {% else %} {{ states('sensor.solar_gesamtleistung') | round (3) }}{% endif %}' but no default was specified') while processing template 'Template<template=({% if is_number(states('sensor.leistung_haus_privat_pv')) and states('sensor.leistung_haus_privat_pv') | float(0) < 0 %} {{ ( (states('sensor.leistung_haus_privat_pv') | float(0) ) + (states('sensor.solar_gesamtleistung') | float(0) ) ) | round (3) }} {% else %} {{ states('sensor.solar_gesamtleistung') | round (3) }}{% endif %}) renders=27554>' for attribute '_attr_native_value' in entity 'sensor.solar_eigenverbrauch_watt'
TemplateError('ValueError: Template error: round got invalid input 'unavailable' when rendering template '{% if is_number(states('sensor.leistung_haus_privat_pv')) and states('sensor.leistung_haus_privat_pv') | float(0) < 0 %} {{ ( (states('sensor.leistung_haus_privat_pv') | float(0) ) + (states('sensor.solar_gesamtleistung') | float(0) ) ) | round (3) }} {% else %} {{ states('sensor.solar_gesamtleistung') | round (3) }}{% endif %}' but no default was specified') while processing template 'Template<template=({% if is_number(states('sensor.leistung_haus_privat_pv')) and states('sensor.leistung_haus_privat_pv') | float(0) < 0 %} {{ ( (states('sensor.leistung_haus_privat_pv') | float(0) ) + (states('sensor.solar_gesamtleistung') | float(0) ) ) | round (3) }} {% else %} {{ states('sensor.solar_gesamtleistung') | round (3) }}{% endif %}) renders=29894>' for attribute '_attr_native_value' in entity 'sensor.solar_eigenverbrauch_watt'
TemplateError('ValueError: Template error: round got invalid input 'unavailable' when rendering template '{% if is_number(states('sensor.leistung_haus_privat_pv')) and states('sensor.leistung_haus_privat_pv') | float(0) < 0 %} {{ ( (states('sensor.leistung_haus_privat_pv') | float(0) ) + (states('sensor.solar_gesamtleistung') | float(0) ) ) | round (3) }} {% else %} {{ states('sensor.solar_gesamtleistung') | round (3) }}{% endif %}' but no default was specified') while processing template 'Template<template=({% if is_number(states('sensor.leistung_haus_privat_pv')) and states('sensor.leistung_haus_privat_pv') | float(0) < 0 %} {{ ( (states('sensor.leistung_haus_privat_pv') | float(0) ) + (states('sensor.solar_gesamtleistung') | float(0) ) ) | round (3) }} {% else %} {{ states('sensor.solar_gesamtleistung') | round (3) }}{% endif %}) renders=30870>' for attribute '_attr_native_value' in entity 'sensor.solar_eigenverbrauch_watt'
TemplateError('ValueError: Template error: round got invalid input 'unavailable' when rendering template '{% if is_number(states('sensor.leistung_haus_privat_pv')) and states('sensor.leistung_haus_privat_pv') | float(0) < 0 %} {{ ( (states('sensor.leistung_haus_privat_pv') | float(0) ) + (states('sensor.solar_gesamtleistung') | float(0) ) ) | round (3) }} {% else %} {{ states('sensor.solar_gesamtleistung') | round (3) }}{% endif %}' but no default was specified') while processing template 'Template<template=({% if is_number(states('sensor.leistung_haus_privat_pv')) and states('sensor.leistung_haus_privat_pv') | float(0) < 0 %} {{ ( (states('sensor.leistung_haus_privat_pv') | float(0) ) + (states('sensor.solar_gesamtleistung') | float(0) ) ) | round (3) }} {% else %} {{ states('sensor.solar_gesamtleistung') | round (3) }}{% endif %}) renders=34214>' for attribute '_attr_native_value' in entity 'sensor.solar_eigenverbrauch_watt'

Da finden sich im Template ja weitere Sensoren, für welche Du keinen Default wert definiert hast. :wink:

Gruß
Osorkon

Klar, ich hatte den falschen Sensor im Verdacht, so find ich natürlich nix…

Habe jetzt den Übeltäter gefunden :smiley: