Same setup as above, just a different trigger: with Time Pattern trigger, the check is done every second → so there is no one minute lag → the reaction is instant
alias: test_toggles
description: ""
trigger:
- platform: time_pattern
seconds: "*"
condition:
- condition: template
value_template: |-
{{
states
| selectattr(
'entity_id',
'match',
'^(input_boolean).test_toggle_*'
)
| selectattr('state', 'eq', 'on')
| list
| count
!=
states('input_number.test_toggles_being_on_count')
| int(0)
}}
action:
- service: notify.persistent_notification
metadata: {}
data:
message: |-
test_toggles_being_on_count changed from {{
states('input_number.test_toggles_being_on_count')
| int(0)
}} to {{
states
| selectattr(
'entity_id',
'match',
'^(input_boolean).test_toggle_*'
)
| selectattr('state', 'eq', 'on')
| list
| count
}}
- service: input_number.set_value
metadata: {}
data:
value: |-
{{
states
| selectattr(
'entity_id',
'match',
'^(input_boolean).test_toggle_*'
)
| selectattr('state', 'eq', 'on')
| list
| count
| float(0.0)
}}
target:
entity_id: input_number.test_toggles_being_on_count
mode: single