So here is my automation:
- alias: battery low detection
trigger:
- platform: template
value_template: >
{%- for state in states.sensor -%}
{%- if ('battery_level' in state.entity_id | lower) -%}
{%- if state.state | int < 10 -%}
true
{%- endif -%}
{%- endif -%}
{%- endfor -%}
condition:
- condition: state
entity_id: input_boolean.zwave_up
state: 'on'
action:
- data_template:
message: >-
node battery level low {{ trigger.entity_id }}, ({{ trigger.to_state.attributes.friendly_name }}).
title: HASS
service: notify.jurgen
- service: system_log.write
data_template:
message: 'node battery level low {{ trigger.entity_id }},{{ trigger.to_state.attributes.friendly_name }}'
level: warning
I changed some automations and run the config reload for automations and I get this execution:
2020-07-27 09:50:37 WARNING (MainThread) [homeassistant.components.system_log.external] node battery level low sensor.memory_free,Memory free
as you can see, that entity_id does not have “battery_level” in it.
Just running
{%- for state in states.sensor -%}
{%- if ('battery_level' in state.entity_id | lower) -%}
{{ state.entity_id }}
{% endif -%}
{%- endfor -%}
in the template builder I only have:
sensor.aarlo_battery_level_babymonitor
sensor.black_button_battery_level
sensor.front_door_battery_level
sensor.garage_side_door_battery_level
sensor.kitchen_battery_level
sensor.laundry_door_battery_level
sensor.master_bedroom_ensuite_battery_level
sensor.motion1_battery_level
sensor.motion2_battery_level
sensor.motion3_battery_level
sensor.motion4_battery_level
sensor.sm_t510_battery_level
sensor.storage_door_battery_level
sensor.terry_battery_level
so why does the sensor.memory_free trigger this automation?
doing it again it was a different trigger, not the sensor.memory_free.