There is a sensor:
value_template: >-
{{ (states('sensor.rpi_1_netdata_cpu_softirq') | float +
states('sensor.rpi_1_netdata_cpu_user') | float +
states('sensor.rpi_1_netdata_cpu_system') | float +
states('sensor.rpi_1_netdata_cpu_iowait') | float +
states('sensor.rpi_1_netdata_cpu_irq') | float +
states('sensor.rpi_1_netdata_cpu_nice') | float +
states('sensor.rpi_1_netdata_cpu_steal') | float) | round(1) }}
availability_template: >-
{% set SOURCE_SENSOR_MASK = "sensor.rpi_1_netdata_cpu_" -%}
{{ not states(SOURCE_SENSOR_MASK + "softirq") in ["unavailable","unknown"] and
not states(SOURCE_SENSOR_MASK + "user") in ["unavailable","unknown"] and
not states(SOURCE_SENSOR_MASK + "system") in ["unavailable","unknown"] and
not states(SOURCE_SENSOR_MASK + "iowait") in ["unavailable","unknown"] and
not states(SOURCE_SENSOR_MASK + "irq") in ["unavailable","unknown"] and
not states(SOURCE_SENSOR_MASK + "nice") in ["unavailable","unknown"] and
not states(SOURCE_SENSOR_MASK + "steal") in ["unavailable","unknown"] }}
It returns a total CPU load retrieved from Netdata.
When Netdata node is unavailable, then there are warnings in Log:
2021-11-27 01:43:35 WARNING (MainThread) [homeassistant.helpers.template] Template warning: 'float' got invalid input 'unavailable' when rendering template '{{ (states('sensor.rpi_1_netdata_cpu_softirq') | float +
states('sensor.rpi_1_netdata_cpu_user') | float +
states('sensor.rpi_1_netdata_cpu_system') | float +
states('sensor.rpi_1_netdata_cpu_iowait') | float +
states('sensor.rpi_1_netdata_cpu_irq') | float +
states('sensor.rpi_1_netdata_cpu_nice') | float +
states('sensor.rpi_1_netdata_cpu_steal') | float) | round(1) }}' but no default was specified. Currently 'float' will return '0', however this template will fail to render in Home Assistant core 2022.1
But I provided availability_template
to avoid this!
Why do these errors occur?