Hello,
first of all, I am quite new and created the code with the help of AI. Unfortunately, I always get the following error messages, no matter what I correct in the code:
Error 1:
Logger: homeassistant.helpers.event
Quelle: helpers/template.py:645
Erstmals aufgetreten: 09:27:10 (1 Vorkommnisse)
Zuletzt protokolliert: 09:27:10
Error while processing template: Template<template=({% if states('sensor.solax_grid_import')|float > 0 %} {{ states('sensor.solax_grid_import')|float }} {% elif states('sensor.solax_grid_export')|float > 0 %} {{ -1 * states('sensor.solax_grid_export')|float }} {% else %} 0 {% endif %}) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2375, in forgiving_float_filter
return float(value)
ValueError: could not convert string to float: 'unavailable'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 643, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2756, in _render_with_context
return template.render(**kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2378, in forgiving_float_filter
raise_no_default("float", value)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1932, in raise_no_default
raise ValueError(
...<2 lines>...
)
ValueError: Template error: float got invalid input 'unavailable' when rendering template '{% if states('sensor.solax_grid_import')|float > 0 %}
{{ states('sensor.solax_grid_import')|float }}
{% elif states('sensor.solax_grid_export')|float > 0 %}
{{ -1 * states('sensor.solax_grid_export')|float }}
{% else %}
0
{% endif %}' but no default was specified
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 760, in async_render_to_info
render_info._result = self.async_render( # noqa: SLF001
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
variables, strict=strict, log_fn=log_fn, **kwargs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 645, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: float got invalid input 'unavailable' when rendering template '{% if states('sensor.solax_grid_import')|float > 0 %}
{{ states('sensor.solax_grid_import')|float }}
{% elif states('sensor.solax_grid_export')|float > 0 %}
{{ -1 * states('sensor.solax_grid_export')|float }}
{% else %}
0
{% endif %}' but no default was specified
Error 2
Logger: homeassistant.components.template.template_entity
Quelle: components/template/template_entity.py:203
Integration: Template (Dokumentation, Probleme)
Erstmals aufgetreten: 09:27:10 (1 Vorkommnisse)
Zuletzt protokolliert: 09:27:10
TemplateError('ValueError: Template error: float got invalid input 'unavailable' when rendering template '{% if states('sensor.solax_grid_import')|float > 0 %} {{ states('sensor.solax_grid_import')|float }} {% elif states('sensor.solax_grid_export')|float > 0 %} {{ -1 * states('sensor.solax_grid_export')|float }} {% else %} 0 {% endif %}' but no default was specified') while processing template 'Template<template=({% if states('sensor.solax_grid_import')|float > 0 %} {{ states('sensor.solax_grid_import')|float }} {% elif states('sensor.solax_grid_export')|float > 0 %} {{ -1 * states('sensor.solax_grid_export')|float }} {% else %} 0 {% endif %}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.stromfluss'
Here is the Part of configuration.yaml
- name: "Haus Stromverbrauch"
unique_id: haus_stromverbrauch
unit_of_measurement: "W"
state_class: measurement
device_class: power
state: >-
{% set pv = states('sensor.pv_power_total') | float(0) %}
{% set netz_export = states('sensor.solax_grid_export') %}
{% set netz_import = states('sensor.solax_grid_import') %}
{% set batterie = states('sensor.solax_battery_power_charge') %}
{% set netz_export = netz_export | float(0) if netz_export not in ['unavailable', 'unknown', None] else 0 %}
{% set netz_import = netz_import | float(0) if netz_import not in ['unavailable', 'unknown', None] else 0 %}
{% set batterie = batterie | float(0) if batterie not in ['unavailable', 'unknown', None] else 0 %}
{% set batterie_korrigiert = batterie if batterie < 0 else batterie * -1 %}
{{ pv - netz_export + netz_import + batterie_korrigiert }}
Basically, the code works and also calculates the correct value.
However, I would like the error to no longer be displayed under logs.