I get the error message below in the log. However, if I paste the template into Developer Tools/Template I get the expected result and no error. What am I doing incorrectly?
Logger: homeassistant.helpers.template
Source: helpers/template.py:1254
First occurred: 05:03:02 (510 occurrences)
Last logged: 09:26:23Template warning: ‘float’ got invalid input ‘unknown’ when rendering template ‘blahblah’ but no default was specified. Currently ‘float’ will return ‘0’, however this template will fail to render in Home Assistant core 2022.1
But when I put the script into the Developer Tools/Template I get the following result with no error:
Result type: list
[
5,
5,
5,
5,
5,
5,
5,
5,
5,
5,
5,
5,
5,
5
]
The actual template is below
{% set day_trigger = states('input_number.day_trigger') | float %}
{% set night_trigger= states('input_number.night_trigger') | float %}
{% set day_baseline = states('input_number.day_baseline') | float %}
{% set night_baseline = states('input_number.night_baseline') | float %}
{% set twilight_baseline = states('input_number.twilight_baseline') | float %}
{% set solar_trigger = states('input_number.solar_trigger') | float %}
{% set solar_sensitivity = states('input_number.solar_sensitivity') | float %}
{% set temp_sensitivity = states('input_number.temp_sensitivity') | float %}
{% set temp_baseline = states('input_number.temp_baseline') | float %}
{% set outdoor_temp = states.sensor.miles_home_outdoor_temperature.state | float %}
{% set solar = states.sensor.miles_home_solar_percentage.state | float %}
{% set elevation = states.sun.sun.attributes.elevation | float %}
{% if elevation > day_trigger %}
{% set temp_offset = day_baseline %}
{% elif elevation < night_trigger %}
{% set temp_offset = night_baseline %}
{% else %}
{% set temp_offset = twilight_baseline %}
{% endif %}
{% if solar > solar_trigger %}
{% set temp_offset = temp_offset + solar_sensitivity*(100-solar)/(100-solar_trigger) %}
{% else %}
{% set temp_offset = temp_offset + solar_sensitivity %}
{% endif %}
{% set temp_offset = temp_offset + temp_sensitivity * (temp_baseline - outdoor_temp ) %}
{% set temp_offset = temp_offset | float | round(1) %}
{% set temperatures = namespace(new = [] )%}
{% if states('input_number.heating_on_off') == on %}
{% set num_thermostats = expand('group.tado_baseline') | list | count %}
{% for i in range(0,num_thermostats) %}
{% set temperatures.new = temperatures.new + [expand('group.tado_baseline')[i].state | float + temp_offset] %}
{% endfor %}
{% set num_thermostats = expand('group.tuya_baseline') | list | count %}
{% for i in range(0,num_thermostats) %}
{% set temperatures.new = temperatures.new + [expand('group.tado_baseline')[i].state | float + temp_offset] %}
{% endfor %}
{% else %}
{% set num_thermostats = expand('group.tado_baseline') | list | count %}
{% for i in range(0,num_thermostats) %}
{% set temperatures.new = temperatures.new + [5.0] %}
{% endfor %}
{% set num_thermostats = expand('group.tuya_baseline') | list | count %}
{% for i in range(0,num_thermostats) %}
{% set temperatures.new = temperatures.new + [5.0] %}
{% endfor %}
{% endif %}
{{temperatures.new}}