23 lines
1.0 KiB
YAML
23 lines
1.0 KiB
YAML
script:
|
|
get_room_services:
|
|
sequence:
|
|
- variables:
|
|
room_services: >-
|
|
{% set alexa_speaker = states.media_player |
|
|
selectattr('entity_id', 'in', area_entities(room)) |
|
|
rejectattr('attributes.last_called', 'undefined') |
|
|
selectattr('entity_id', 'search', 'echo_dot') |
|
|
map(attribute='entity_id') |
|
|
list | first %}
|
|
|
|
{% set google_speaker = states.media_player |
|
|
selectattr('entity_id', 'in', area_entities(room)) |
|
|
rejectattr('attributes.device_class', 'undefined') |
|
|
selectattr('attributes.device_class', 'search', '(speaker)') |
|
|
map(attribute='entity_id') |
|
|
list | first %}
|
|
|
|
{% set tts = "alexa" if alexa_speaker is defined else "google" %}
|
|
{"area":"{{room}}","alexa_speaker":"{{alexa_speaker|default({}) }}","jarvis_tts":"{{tts}}","google_speaker":"{{google_speaker|default({}) }}"}
|
|
- stop: "Services acquired"
|
|
response_variable: "room_services" |