Skip to content

Instantly share code, notes, and snippets.

@thejeffreystone
Last active August 3, 2023 23:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thejeffreystone/92c99010c084c0d36f1eecad19aa27ea to your computer and use it in GitHub Desktop.
Save thejeffreystone/92c99010c084c0d36f1eecad19aa27ea to your computer and use it in GitHub Desktop.
script:
get_room_services:
sequence:
- variables:
room: >
{% if room is defined %}
{{ room }}
{% else %}
{{ states('sensor.room_audio') }}
{% endif %}
room_services: >
{% if room in ['kitchen', 'media_player.kitchen_display'] and is_state('binary_sensor.quiet_time','off') %}
{% set room = 'living_room' %}
{% set speaker = 'media_player.living_room_echo' %}
{% set tts = 'amp' %}
{% elif room in ['livingroom_echo','media_player.living_room_echo','living_room','main'] and is_state('binary_sensor.quiet_time','off') %}
{% set room = 'living_room' %}
{% set speaker = 'media_player.living_room_echo' %}
{% set tts = 'amp' %}
{% elif room in ['skylars_bedroom','skylar_bedroom','skylars_echo','media_player.skylars_bedroom_echo'] and is_state('binary_sensor.quiet_time','off') and not is_state('sensor.skylar_location','bed') %}
{% set room = 'skylar_bedroom' %}
{% set speaker = 'media_player.skylars_room' %}
{% set tts = 'amp' %}
{% elif room in ['master_bedroom','media_player.master_bedroom_speaker','master_bedroom_echo'] and is_state('binary_sensor.quiet_time','off')%}
{% set room = 'master_bedroom' %}
{% set speaker = 'media_player.master_bedroom_echo' %}
{% set tts = 'amp' %}
{% elif room in ['studio','slacker_labs','media_player.dads_desk'] and is_state('sensor.jeff_room','studio')%}
{% set room = 'studio' %}
{% set speaker = 'media_player.slacker_labs_echo' %}
{% set tts = 'amp' %}
{% elif room in ['theater'] and is_state('input_boolean.guest_mode','off') and is_state('binary_sensor.quiet_time','off')%}
{% set room = 'theater' %}
{% set speaker = 'media_player.theater_echo' %}
{% set tts = 'amp' %}
{% elif room in ['exercise_room'] and is_state('input_boolean.audible_notifications','on')%}
{% set room = 'exercise_room' %}
{% set speaker = 'media_player.studio_speaker' %}
{% set tts = 'polly' %}
{% elif room in ['basement', 'media_player.basement_echo'] and is_state('input_boolean.audible_notifications','on') %}
{% set room = 'basement' %}
{% set speaker = 'media_player.basement_echo' %}
{% set tts = 'amp' %}
{% elif is_state('input_boolean.guestmode','off') and is_state('input_boolean.audible_notifications','on') and is_state('binary_sensor.quiet_time','off') %}
{% set room = 'main' %}
{% set speaker = 'media_player.living_room_echo' %}
{% set tts = 'amp' %}
{% else %}
{% set room = 'none' %}
{% set speaker = 'none' %}
{% set tts = 'none' %}
{% endif %}
{% if room == 'main' %}
{% set google_speaker = 'media_player.kitchen_display' %}
{% elif room == 'living_room' %}
{% set google_speaker = 'media_player.kitchen_display' %}
{% elif room == 'skylar_bedroom' %}
{% set google_speaker = 'media_player.skylars_bedroom_speaker' %}
{% elif room == 'master_bedroom' %}
{% set google_speaker = 'media_player.master_bedroom_speaker' %}
{% elif room in ['studio']%}
{% set google_speaker = 'media_player.studio_speaker' %}
{% elif room == 'theater' %}
{% set google_speaker = 'media_player.theater' %}
{% elif room in ['exercise_room','basement']%}
{% set google_speaker = 'media_player.basement_tv' %}
{% else %}
{% set google_speaker = 'none' %}
{% endif %}
{"area":"{{room}}","jarvis_speaker":"{{speaker}}","jarvis_tts":"{{tts}}","google_speaker":"{{google_speaker}}"}
- stop: "ok, Im done."
response_variable: "room_services"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment