Devanl
1
Hello,
Trying to make an automation that will return the friendly name of a triggered sensor but I’m a little confused on the template.
This does not appear to be the answer. I get ,“None has triggered”
- action:
- data_template:
message: '{{ states[trigger.entity_id].name }} has triggered'
title: Occupancy Sensor
service: notify.ios_devansiphone7
alias: Occupancy Sensors
condition: []
id: '1510542576177'
trigger:
- entity_id: binary_sensor.basement, binary_sensor.basement_double_doors, binary_sensor.basement_slider,
binary_sensor.evas_room_occupancy, binary_sensor.family_room, binary_sensor.front_door,
binary_sensor.front_rooms, binary_sensor.garage_door, binary_sensor.garage_side_door,
binary_sensor.guest_door, binary_sensor.guest_room, binary_sensor.kitchen_slider,
binary_sensor.side_door, binary_sensor.upstairs_occupancy
from: 'off'
platform: state
to: 'on'
I
Devanl
2
Needed to split the entity_id in to domain and state
- data_template:
message: '{{ states[trigger.entity_id.split(".")[0]][ trigger.entity_id.split(".")[1]].name }} has triggered'
title: Occupancy Sensor
3 Likes
keithh666
(Keith Hull)
3
Or if you want the friendly name -
{{ trigger.from_state.attributes.friendly_name }}
I think will work
11 Likes
Devanl
4
thanks, I should have realized that the trigger was providing a state object and not the string value.
much more readable than what I came up with.
- action:
- data_template:
message: '{{ trigger.from_state.name }} has triggered'
title: Occupancy Sensor
service: notify.ios_devansiphone7
alias: Occupancy Sensors
condition: []
id: '1510542576177'
trigger:
- entity_id: binary_sensor.basement, binary_sensor.basement_double_doors, binary_sensor.basement_slider,
binary_sensor.evas_room_occupancy, binary_sensor.family_room, binary_sensor.front_door,
binary_sensor.front_rooms, binary_sensor.garage_door, binary_sensor.garage_side_door,
binary_sensor.guest_door, binary_sensor.guest_room, binary_sensor.kitchen_slider,
binary_sensor.side_door, binary_sensor.upstairs_occupancy
from: 'off'
platform: state
to: 'on'
petro
(Petro)
6
Change your action to:
- alias: HA Mode set
trigger:
platform: state
entity_id: input_boolean.ha_mode_home,
input_boolean.ha_mode_away,
input_boolean.ha_mode_holiday,
input_boolean.ha_mode_night
to: 'on'
action:
- service: input_boolean.turn_off
data_template:
entity_id: >
{% set booleans = [ 'input_boolean.ha_mode_home', 'input_boolean.ha_mode_away', 'input_boolean.ha_mode_holiday', 'input_boolean.ha_mode_night' ] | reject('equalto', trigger.entity_id) %}
{{ booleans | list | join(', ') }}
Not sure if it will work because these fields typically don’t take comma separated lists and jinja templates do not return lists.
1 Like
I moved my post as a new issue due to the original post in this tread was marked as Closed.
Your solution works like a charm.
Thanks!