"get room services" script

This commit is contained in:
2023-08-15 16:26:09 -04:00
parent 49f9e99439
commit ec8e22513c

23
packages/variables.yaml Normal file
View File

@ -0,0 +1,23 @@
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"