Friends,
I am struggling to get this sensor stable and correctly working.
I have essentially 2 challenges:
- Error : “Template loop detected while processing event”
Detailed log message:
Logger: homeassistant.helpers.template_entity
Source: helpers/template_entity.py:350
First occurred: 14:13:30 (2 occurrences)
Last logged: 14:13:30
Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.unavailable_devices, old_state=<state sensor.unavailable_devices=4; unavail_list_entity_id=sensor.nr_of_updates, sensor.nr_of_low_batteries, sensor.afval_ophaling_vandaag_of_morgen, sensor.nr_of_calendar_events_next_5_days, friendly_name=Unavailable Devices @ 2023-08-22T14:11:30.739241+02:00>, new_state=<state sensor.unavailable_devices=1; unavail_list_entity_id=sensor.nr_of_updates, sensor.nr_of_low_batteries, sensor.afval_ophaling_vandaag_of_morgen, sensor.nr_of_calendar_events_next_5_days, friendly_name=Unavailable Devices @ 2023-08-22T14:12:30.744909+02:00>>, skipping template render for Template[{% set polled_domains = ['light', 'power', 'switch', 'binary_sensor', 'lock', 'sensor'] %} {% set polled_states = ['unavailable', 'unknown'] %} {% set reject_filter = ['sensor.unavailable_devices', 'binary_sensor.mba_aruba', 'binary_sensor.iphone_koen'] %} {{ states | selectattr('domain', 'in', polled_domains) | selectattr('state','in', polled_states) | rejectattr('entity_id', 'in', reject_filter) | rejectattr('attributes.friendly_name','search','Browser') | rejectattr('entity_id','search','screen') | map(attribute='entity_id') | list | count }}]
- This template sensor does not immediately update when any of the states is changed.
This might be a consequence of the above error.
Any help is much appreciated !
My template sensor:
- sensor:
- name: "Unavailable Devices"
unique_id: 7d0c949e-c251-44d4-b535-96cbfefe2f7e
state: >
{% set polled_domains = ['light', 'power', 'switch', 'binary_sensor', 'lock', 'sensor'] %}
{% set polled_states = ['unavailable', 'unknown'] %}
{% set reject_filter = ['sensor.unavailable_devices', 'binary_sensor.mba_aruba', 'binary_sensor.iphone_koen'] %}
{{ states
| selectattr('domain', 'in', polled_domains)
| selectattr('state','in', polled_states)
| rejectattr('entity_id', 'in', reject_filter)
| rejectattr('attributes.friendly_name','search','Browser')
| rejectattr('entity_id','search','screen')
| map(attribute='entity_id')
| list
| count
}}
attributes:
unavail_list_entity_id: >
{% set polled_domains = ['light', 'power', 'switch', 'binary_sensor', 'lock', 'sensor'] %}
{% set polled_states = ['unavailable', 'unknown'] %}
{% set reject_filter = ['sensor.unavailable_devices', 'binary_sensor.mba_aruba', 'binary_sensor.iphone_koen'] %}
{{ states
| selectattr('domain', 'in', polled_domains)
| selectattr('state','in', polled_states)
| rejectattr('entity_id', 'in', reject_filter)
| rejectattr('attributes.friendly_name','search','Browser')
| rejectattr('entity_id','search','screen')
| map(attribute='entity_id')
| list
| join(', ')
}}