Volume control and sleep mode improvements
This commit is contained in:
139
automations.yaml
139
automations.yaml
@ -11,28 +11,30 @@
|
|||||||
entity_id: input_boolean.vacation_mode
|
entity_id: input_boolean.vacation_mode
|
||||||
state: 'off'
|
state: 'off'
|
||||||
action:
|
action:
|
||||||
- service: input_boolean.turn_on
|
|
||||||
data: {}
|
|
||||||
target:
|
|
||||||
entity_id: input_boolean.audible_notifications
|
|
||||||
- service: script.max_brightness
|
- service: script.max_brightness
|
||||||
data: {}
|
data: {}
|
||||||
- service: notify.all_ios
|
- service: script.text_urgent_alert
|
||||||
data:
|
data:
|
||||||
|
who: all
|
||||||
title: Tornado Warning - TAKE COVER!
|
title: Tornado Warning - TAKE COVER!
|
||||||
message: The National Weather Service has issued a Tornado Warning for our area.
|
message: The National Weather Service has issued a Tornado Warning for our area.
|
||||||
Take Cover NOW!!!!
|
Take Cover NOW!!!!
|
||||||
- service: notify.tv_notifications
|
alias: CRITICAL PHONE ALERT
|
||||||
|
- service: script.tv_notify
|
||||||
data:
|
data:
|
||||||
|
who: all
|
||||||
title: Tornado Warning - TAKE COVER!
|
title: Tornado Warning - TAKE COVER!
|
||||||
message: The National Weather Service has issued a Tornado Warning for our area.
|
message: The National Weather Service has issued a Tornado Warning for our area.
|
||||||
Take Cover NOW!!!!
|
Take Cover NOW!!!!
|
||||||
|
alias: TV Alert
|
||||||
- service: script.speech_engine
|
- service: script.speech_engine
|
||||||
data:
|
data:
|
||||||
who: everywhere
|
who: Everywhere
|
||||||
message: A tornado warning has been issued, please take cover immediately! A
|
message: A tornado warning has been issued, please take cover immediately! A
|
||||||
tornado warning has been issued, please take cover immediately! A tornado
|
tornado warning has been issued, please take cover immediately! A tornado
|
||||||
warning has been issued, please take cover immediately!
|
warning has been issued, please take cover immediately!
|
||||||
|
type: Alert
|
||||||
|
alias: Elevated TTS alert
|
||||||
- delay:
|
- delay:
|
||||||
hours: 0
|
hours: 0
|
||||||
minutes: 1
|
minutes: 1
|
||||||
@ -44,6 +46,21 @@
|
|||||||
message: A tornado warning has been issued, please take cover immediately! A
|
message: A tornado warning has been issued, please take cover immediately! A
|
||||||
tornado warning has been issued, please take cover immediately! A tornado
|
tornado warning has been issued, please take cover immediately! A tornado
|
||||||
warning has been issued, please take cover immediately!
|
warning has been issued, please take cover immediately!
|
||||||
|
type: critical
|
||||||
|
alias: CRITICAL TTS ALERT
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 1
|
||||||
|
seconds: 0
|
||||||
|
milliseconds: 0
|
||||||
|
- service: input_boolean.turn_off
|
||||||
|
data: {}
|
||||||
|
target:
|
||||||
|
entity_id:
|
||||||
|
- input_boolean.white_noise_kallen_bedroom
|
||||||
|
- input_boolean.white_noise_basement
|
||||||
|
- input_boolean.white_noise_emma_bedroom
|
||||||
|
alias: Turn off white noise
|
||||||
mode: single
|
mode: single
|
||||||
- id: '1640916845901'
|
- id: '1640916845901'
|
||||||
alias: Cast to Chromecast
|
alias: Cast to Chromecast
|
||||||
@ -370,7 +387,12 @@
|
|||||||
data:
|
data:
|
||||||
topic: house/basement/server/glances
|
topic: house/basement/server/glances
|
||||||
payload: restart
|
payload: restart
|
||||||
|
qos: 0
|
||||||
|
retain: false
|
||||||
alias: Restart Glances via MQTT
|
alias: Restart Glances via MQTT
|
||||||
|
- service: script.volume_reset
|
||||||
|
data: {}
|
||||||
|
alias: Reset all speaker volumes
|
||||||
- if:
|
- if:
|
||||||
- condition: state
|
- condition: state
|
||||||
entity_id: input_boolean.studio_quiet
|
entity_id: input_boolean.studio_quiet
|
||||||
@ -389,7 +411,8 @@
|
|||||||
alias: Shutdown
|
alias: Shutdown
|
||||||
then:
|
then:
|
||||||
- service: automation.turn_off
|
- service: automation.turn_off
|
||||||
data: {}
|
data:
|
||||||
|
stop_actions: true
|
||||||
target:
|
target:
|
||||||
entity_id:
|
entity_id:
|
||||||
- automation.family_has_arrived
|
- automation.family_has_arrived
|
||||||
@ -428,6 +451,8 @@
|
|||||||
entity_id: input_boolean.vacation_mode
|
entity_id: input_boolean.vacation_mode
|
||||||
state: 'off'
|
state: 'off'
|
||||||
action:
|
action:
|
||||||
|
- service: script.volume_reset
|
||||||
|
data: {}
|
||||||
- service: script.max_brightness_cleanup
|
- service: script.max_brightness_cleanup
|
||||||
data: {}
|
data: {}
|
||||||
- service: notify.all_ios
|
- service: notify.all_ios
|
||||||
@ -477,19 +502,49 @@
|
|||||||
- input_boolean.white_noise_emma_bedroom
|
- input_boolean.white_noise_emma_bedroom
|
||||||
to: 'on'
|
to: 'on'
|
||||||
from: 'off'
|
from: 'off'
|
||||||
id: emma
|
id: emma-on
|
||||||
- platform: state
|
- platform: state
|
||||||
entity_id:
|
entity_id:
|
||||||
- input_boolean.white_noise_basement
|
- input_boolean.white_noise_basement
|
||||||
to: 'on'
|
to: 'on'
|
||||||
from: 'off'
|
from: 'off'
|
||||||
id: basement
|
id: basement-on
|
||||||
- platform: state
|
- platform: state
|
||||||
entity_id:
|
entity_id:
|
||||||
- input_boolean.white_noise_kallen_bedroom
|
- input_boolean.white_noise_kallen_bedroom
|
||||||
to: 'on'
|
to: 'on'
|
||||||
from: 'off'
|
from: 'off'
|
||||||
id: kallen
|
id: kallen-on
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- input_boolean.white_noise_emma_bedroom
|
||||||
|
from: 'on'
|
||||||
|
to: 'off'
|
||||||
|
for:
|
||||||
|
hours: 0
|
||||||
|
minutes: 5
|
||||||
|
seconds: 0
|
||||||
|
id: emma-off
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- input_boolean.white_noise_basement
|
||||||
|
from: 'on'
|
||||||
|
to: 'off'
|
||||||
|
id: basement-off
|
||||||
|
for:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 5
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- input_boolean.white_noise_kallen_bedroom
|
||||||
|
from: 'on'
|
||||||
|
to: 'off'
|
||||||
|
for:
|
||||||
|
hours: 0
|
||||||
|
minutes: 15
|
||||||
|
seconds: 0
|
||||||
|
id: kallen-off
|
||||||
condition: []
|
condition: []
|
||||||
action:
|
action:
|
||||||
- choose:
|
- choose:
|
||||||
@ -504,7 +559,8 @@
|
|||||||
milliseconds: 0
|
milliseconds: 0
|
||||||
- service: media_player.volume_set
|
- service: media_player.volume_set
|
||||||
data:
|
data:
|
||||||
volume_level: 0.35
|
volume_level: '{{ states(''input_number.emma_bedroom_google_speaker_night_volume'')
|
||||||
|
}}'
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.emma_bedroom_speaker
|
entity_id: media_player.emma_bedroom_speaker
|
||||||
- conditions:
|
- conditions:
|
||||||
@ -518,7 +574,8 @@
|
|||||||
milliseconds: 0
|
milliseconds: 0
|
||||||
- service: media_player.volume_set
|
- service: media_player.volume_set
|
||||||
data:
|
data:
|
||||||
volume_level: 0.5
|
volume_level: '{{ states(''input_number.basement_google_speaker_night_volume'')
|
||||||
|
}}'
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.basement_google_speaker
|
entity_id: media_player.basement_google_speaker
|
||||||
- conditions:
|
- conditions:
|
||||||
@ -532,11 +589,63 @@
|
|||||||
milliseconds: 0
|
milliseconds: 0
|
||||||
- service: media_player.volume_set
|
- service: media_player.volume_set
|
||||||
data:
|
data:
|
||||||
volume_level: 0.3
|
volume_level: '{{ states(''input_number.kallen_bedroom_google_speaker_night_volume'')
|
||||||
|
}}'
|
||||||
target:
|
target:
|
||||||
entity_id: media_player.kallen_bedroom_speaker
|
entity_id: media_player.kallen_bedroom_speaker
|
||||||
|
- conditions:
|
||||||
|
- condition: trigger
|
||||||
|
id: emma-off
|
||||||
|
sequence:
|
||||||
|
- if:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.emma_sleeping
|
||||||
|
state: 'off'
|
||||||
|
then:
|
||||||
|
- service: media_player.volume_set
|
||||||
|
data:
|
||||||
|
volume_level: "{% if is_state('input_boolean.give_me_darkness','on') %}\n
|
||||||
|
\ {{ states('input_number.emma_bedroom_google_speaker_night_volume')
|
||||||
|
}}\n{% else %}\n {{ states('input_number.emma_bedroom_google_speaker_day_volume')
|
||||||
|
}}\n{% endif %}\n"
|
||||||
|
target:
|
||||||
|
entity_id: media_player.emma_bedroom_speaker
|
||||||
|
- conditions:
|
||||||
|
- condition: trigger
|
||||||
|
id: basement-off
|
||||||
|
sequence:
|
||||||
|
- service: media_player.volume_set
|
||||||
|
data:
|
||||||
|
volume_level: "{% if is_state('input_boolean.give_me_darkness','on') %}\n
|
||||||
|
{{ states('input_number.basement_google_speaker_night_volume') }}\n{%
|
||||||
|
else %}\n {{ states('input_number.basement_google_speaker_day_volume')
|
||||||
|
}}\n{% endif %}\n"
|
||||||
|
target:
|
||||||
|
entity_id: media_player.basement_google_speaker
|
||||||
|
- conditions:
|
||||||
|
- condition: trigger
|
||||||
|
id: kallen-off
|
||||||
|
sequence:
|
||||||
|
- if:
|
||||||
|
- condition: and
|
||||||
|
conditions:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.kallen_sleeping
|
||||||
|
state: 'off'
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.kallen_morning_briefing
|
||||||
|
state: 'off'
|
||||||
|
then:
|
||||||
|
- service: media_player.volume_set
|
||||||
|
data:
|
||||||
|
volume_level: "{% if is_state('input_boolean.give_me_darkness','on') %}\n
|
||||||
|
\ {{ states('input_number.kallen_bedroom_google_speaker_night_volume')
|
||||||
|
}}\n{% else %}\n {{ states('input_number.kallen_bedroom_google_speaker_day_volume')
|
||||||
|
}}\n{% endif %}\n"
|
||||||
|
target:
|
||||||
|
entity_id: media_player.kallen_bedroom_speaker
|
||||||
mode: parallel
|
mode: parallel
|
||||||
max: 6
|
max: 10
|
||||||
- id: '1671584633378'
|
- id: '1671584633378'
|
||||||
alias: Delivery Mode Cleanup
|
alias: Delivery Mode Cleanup
|
||||||
description: ''
|
description: ''
|
||||||
|
Submodule node-red/projects/NerdFlows updated: f0b66f6bec...3c0b1ede3a
@ -122,6 +122,80 @@ input_text:
|
|||||||
icon: mdi:text
|
icon: mdi:text
|
||||||
initial: Type your title here
|
initial: Type your title here
|
||||||
|
|
||||||
|
input_number:
|
||||||
|
basement_echo_dot_day_volume:
|
||||||
|
name: Basement Echo Dot Day Volume
|
||||||
|
min: 0
|
||||||
|
max: 1.0
|
||||||
|
step: 0.01
|
||||||
|
icon: mdi:knob
|
||||||
|
basement_echo_dot_night_volume:
|
||||||
|
name: Basement Echo Dot Night Volume
|
||||||
|
min: 0
|
||||||
|
max: 1.0
|
||||||
|
step: 0.01
|
||||||
|
icon: mdi:knob
|
||||||
|
basement_google_speaker_day_volume:
|
||||||
|
name: Basement Google Speaker Day Volume
|
||||||
|
min: 0
|
||||||
|
max: 1.0
|
||||||
|
step: 0.01
|
||||||
|
icon: mdi:knob
|
||||||
|
basement_google_speaker_night_volume:
|
||||||
|
name: Basement Google Speaker Night Volume
|
||||||
|
min: 0
|
||||||
|
max: 1.0
|
||||||
|
step: 0.01
|
||||||
|
icon: mdi:knob
|
||||||
|
living_room_echo_dot_day_volume:
|
||||||
|
name: Living Room Echo Dot Day Volume
|
||||||
|
min: 0
|
||||||
|
max: 1.0
|
||||||
|
step: 0.01
|
||||||
|
icon: mdi:knob
|
||||||
|
living_room_echo_dot_night_volume:
|
||||||
|
name: Living Room Echo Dot Night Volume
|
||||||
|
min: 0
|
||||||
|
max: 1.0
|
||||||
|
step: 0.01
|
||||||
|
icon: mdi:knob
|
||||||
|
master_bedroom_echo_dot_day_volume:
|
||||||
|
name: Master Bedroom Echo Dot Day Volume
|
||||||
|
min: 0
|
||||||
|
max: 1.0
|
||||||
|
step: 0.01
|
||||||
|
icon: mdi:knob
|
||||||
|
master_bedroom_echo_dot_night_volume:
|
||||||
|
name: Master Bedroom Echo Dot Night Volume
|
||||||
|
min: 0
|
||||||
|
max: 1.0
|
||||||
|
step: 0.01
|
||||||
|
icon: mdi:knob
|
||||||
|
emma_bedroom_google_speaker_day_volume:
|
||||||
|
name: Emma Bedroom Google Speaker Day Volume
|
||||||
|
min: 0
|
||||||
|
max: 1.0
|
||||||
|
step: 0.01
|
||||||
|
icon: mdi:knob
|
||||||
|
emma_bedroom_google_speaker_night_volume:
|
||||||
|
name: Emma Bedroom Google Speaker Night Volume
|
||||||
|
min: 0
|
||||||
|
max: 1.0
|
||||||
|
step: 0.01
|
||||||
|
icon: mdi:knob
|
||||||
|
kallen_bedroom_google_speaker_day_volume:
|
||||||
|
name: Kallen Bedroom Google Speaker Day Volume
|
||||||
|
min: 0
|
||||||
|
max: 1.0
|
||||||
|
step: 0.01
|
||||||
|
icon: mdi:knob
|
||||||
|
kallen_bedroom_google_speaker_night_volume:
|
||||||
|
name: Kallen Bedroom Google Speaker Night Volume
|
||||||
|
min: 0
|
||||||
|
max: 1.0
|
||||||
|
step: 0.01
|
||||||
|
icon: mdi:knob
|
||||||
|
|
||||||
# Amazon Polly Sensors to see last message and location of audible notification
|
# Amazon Polly Sensors to see last message and location of audible notification
|
||||||
mqtt:
|
mqtt:
|
||||||
sensor:
|
sensor:
|
||||||
@ -216,8 +290,369 @@ notify:
|
|||||||
- service: alexa_media_living_room_echo_dot
|
- service: alexa_media_living_room_echo_dot
|
||||||
- service: alexa_media_basement_echo_dot
|
- service: alexa_media_basement_echo_dot
|
||||||
|
|
||||||
script:
|
# The below was the initial attempt at day/night volume handling.
|
||||||
|
# I am keeping it here in case I decide I want to use it, but for now I think I have a better solution.
|
||||||
|
|
||||||
|
# automation:
|
||||||
|
# - id: a3bfc13c-b01f-4b85-8e47-b45cd173a774
|
||||||
|
# alias: 'Speaker Volume Handling'
|
||||||
|
# mode: parallel
|
||||||
|
# max: 12
|
||||||
|
# trigger:
|
||||||
|
# - platform: state
|
||||||
|
# entity_id: input_number.basement_echo_dot_day_volume
|
||||||
|
# for:
|
||||||
|
# seconds: 1
|
||||||
|
# id: basement-echo-day
|
||||||
|
# - platform: state
|
||||||
|
# entity_id: input_number.basement_echo_dot_night_volume
|
||||||
|
# for:
|
||||||
|
# seconds: 1
|
||||||
|
# id: basement-echo-night
|
||||||
|
# - platform: state
|
||||||
|
# entity_id: input_number.basement_google_speaker_day_volume
|
||||||
|
# for:
|
||||||
|
# seconds: 1
|
||||||
|
# id: basement-google-day
|
||||||
|
# - platform: state
|
||||||
|
# entity_id: input_number.basement_google_speaker_night_volume
|
||||||
|
# for:
|
||||||
|
# seconds: 1
|
||||||
|
# id: basement-google-night
|
||||||
|
# - platform: state
|
||||||
|
# entity_id: input_number.living_room_echo_dot_day_volume
|
||||||
|
# for:
|
||||||
|
# seconds: 1
|
||||||
|
# id: living-room-echo-day
|
||||||
|
# - platform: state
|
||||||
|
# entity_id: input_number.living_room_echo_dot_night_volume
|
||||||
|
# for:
|
||||||
|
# seconds: 1
|
||||||
|
# id: living-room-echo-night
|
||||||
|
# - platform: state
|
||||||
|
# entity_id: input_number.master_bedroom_echo_dot_day_volume
|
||||||
|
# for:
|
||||||
|
# seconds: 1
|
||||||
|
# id: master-bedroom-echo-day
|
||||||
|
# - platform: state
|
||||||
|
# entity_id: input_number.master_bedroom_echo_dot_night_volume
|
||||||
|
# for:
|
||||||
|
# seconds: 1
|
||||||
|
# id: master-bedroom-echo-night
|
||||||
|
# - platform: state
|
||||||
|
# entity_id: input_number.emma_bedroom_google_speaker_day_volume
|
||||||
|
# for:
|
||||||
|
# seconds: 1
|
||||||
|
# id: emma-bedroom-google-day
|
||||||
|
# - platform: state
|
||||||
|
# entity_id: input_number.emma_bedroom_google_speaker_night_volume
|
||||||
|
# for:
|
||||||
|
# seconds: 1
|
||||||
|
# id: emma-bedroom-google-night
|
||||||
|
# - platform: state
|
||||||
|
# entity_id: input_number.kallen_bedroom_google_speaker_day_volume
|
||||||
|
# for:
|
||||||
|
# seconds: 1
|
||||||
|
# id: kallen-bedroom-google-day
|
||||||
|
# - platform: state
|
||||||
|
# entity_id: input_number.kallen_bedroom_google_speaker_night_volume
|
||||||
|
# for:
|
||||||
|
# seconds: 1
|
||||||
|
# id: kallen-bedroom-google-night
|
||||||
|
# action:
|
||||||
|
# - choose:
|
||||||
|
# - conditions:
|
||||||
|
# - condition: trigger
|
||||||
|
# id: basement-echo-day
|
||||||
|
# sequence:
|
||||||
|
# - if:
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.give_me_darkness
|
||||||
|
# state: 'off'
|
||||||
|
# then:
|
||||||
|
# - service: media_player.volume_set
|
||||||
|
# target:
|
||||||
|
# entity_id: media_player.basement_echo_dot
|
||||||
|
# data:
|
||||||
|
# volume_level: "{{ states('input_number.basement_echo_dot_day_volume') }}"
|
||||||
|
# - conditions:
|
||||||
|
# - condition: trigger
|
||||||
|
# id: basement-echo-night
|
||||||
|
# sequence:
|
||||||
|
# - if:
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.give_me_darkness
|
||||||
|
# state: 'on'
|
||||||
|
# then:
|
||||||
|
# - service: media_player.volume_set
|
||||||
|
# target:
|
||||||
|
# entity_id: media_player.basement_echo_dot
|
||||||
|
# data:
|
||||||
|
# volume_level: "{{ states('input_numnber.basement_echo_dot_night_volume') }}"
|
||||||
|
# - conditions:
|
||||||
|
# - condition: trigger
|
||||||
|
# id: basement-google-day
|
||||||
|
# sequence:
|
||||||
|
# - if:
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.give_me_darkness
|
||||||
|
# state: 'off'
|
||||||
|
# then:
|
||||||
|
# - service: media_player.volume_set
|
||||||
|
# target:
|
||||||
|
# entity_id: media_player.basement_google_speaker
|
||||||
|
# data:
|
||||||
|
# volume_level: "{{ states('input_number.basement_google_speaker_day_volume') }}"
|
||||||
|
# - conditions:
|
||||||
|
# - condition: trigger
|
||||||
|
# id: basement-google-night
|
||||||
|
# sequence:
|
||||||
|
# - if:
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.give_me_darkness
|
||||||
|
# state: 'on'
|
||||||
|
# then:
|
||||||
|
# - service: media_player.volume_set
|
||||||
|
# target:
|
||||||
|
# entity_id: media_player.basement_google_speaker
|
||||||
|
# data:
|
||||||
|
# volume_level: "{{ states('input_number.basement_google_speaker_night_volume') }}"
|
||||||
|
# - conditions:
|
||||||
|
# - condition: trigger
|
||||||
|
# id: living-room-echo-day
|
||||||
|
# sequence:
|
||||||
|
# - if:
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.give_me_darkness
|
||||||
|
# state: 'off'
|
||||||
|
# then:
|
||||||
|
# - service: media_player.volume_set
|
||||||
|
# target:
|
||||||
|
# entity_id: media_player.living_room_echo_dot
|
||||||
|
# data:
|
||||||
|
# volume_level: "{{ states('input_number.living_room_echo_dot_day_volume') }}"
|
||||||
|
# - conditions:
|
||||||
|
# - condition: trigger
|
||||||
|
# id: living-room-echo-night
|
||||||
|
# sequence:
|
||||||
|
# - if:
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.give_me_darkness
|
||||||
|
# state: 'on'
|
||||||
|
# then:
|
||||||
|
# - service: media_player.volume_set
|
||||||
|
# target:
|
||||||
|
# entity_id: media_player.living_room_echo_dot
|
||||||
|
# data:
|
||||||
|
# volume_level: "{{ states('input_number.living_room_echo_dot_night_volume') }}"
|
||||||
|
# - conditions:
|
||||||
|
# - condition: trigger
|
||||||
|
# id: master-bedroom-echo-day
|
||||||
|
# sequence:
|
||||||
|
# - if:
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.give_me_darkness
|
||||||
|
# state: 'off'
|
||||||
|
# then:
|
||||||
|
# - service: media_player.volume_set
|
||||||
|
# target:
|
||||||
|
# entity_id: media_player.master_bedroom_echo_dot
|
||||||
|
# data:
|
||||||
|
# volume_level: "{{ states('input_number.master_bedroom_echo_dot_day_volume') }}"
|
||||||
|
# - conditions:
|
||||||
|
# - condition: trigger
|
||||||
|
# id: master-bedroom-echo-night
|
||||||
|
# sequence:
|
||||||
|
# - if:
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.give_me_darkness
|
||||||
|
# state: 'on'
|
||||||
|
# then:
|
||||||
|
# - service: media_player.volume_set
|
||||||
|
# target:
|
||||||
|
# entity_id: media_player.master_bedroom_echo_dot
|
||||||
|
# data:
|
||||||
|
# volume_level: "{{ states('input_number.master_bedroom_echo_dot_night_volume') }}"
|
||||||
|
# - conditions:
|
||||||
|
# - condition: trigger
|
||||||
|
# id: emma-bedroom-google-day
|
||||||
|
# sequence:
|
||||||
|
# - if:
|
||||||
|
# - condition: and
|
||||||
|
# conditions:
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.give_me_darkness
|
||||||
|
# state: 'off'
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.white_noise_emma_bedroom
|
||||||
|
# state: 'off'
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.emma_sleeping
|
||||||
|
# state: 'off'
|
||||||
|
# then:
|
||||||
|
# - service: media_player.volume_set
|
||||||
|
# target:
|
||||||
|
# entity_id: media_player.emma_bedroom_speaker
|
||||||
|
# data:
|
||||||
|
# volume_level: "{{ states('input_number.emma_bedroom_google_speaker_day_volume') }}"
|
||||||
|
# - conditions:
|
||||||
|
# - condition: trigger
|
||||||
|
# id: emma-bedroom-google-night
|
||||||
|
# sequence:
|
||||||
|
# - if:
|
||||||
|
# - condition: and
|
||||||
|
# conditions:
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.give_me_darkness
|
||||||
|
# state: 'on'
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.white_noise_emma_bedroom
|
||||||
|
# state: 'off'
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.emma_sleeping
|
||||||
|
# state: 'off'
|
||||||
|
# then:
|
||||||
|
# - service: media_player.volume_set
|
||||||
|
# target:
|
||||||
|
# entity_id: media_player.emma_bedroom_speaker
|
||||||
|
# data:
|
||||||
|
# volume_level: "{{ states('input_number.emma_bedroom_google_speaker_night_volume') }}"
|
||||||
|
# - conditions:
|
||||||
|
# - condition: trigger
|
||||||
|
# id: kallen-bedroom-google-day
|
||||||
|
# sequence:
|
||||||
|
# - if:
|
||||||
|
# - condition: and
|
||||||
|
# conditions:
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.give_me_darkness
|
||||||
|
# state: 'off'
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.white_noise_kallen_bedroom
|
||||||
|
# state: 'off'
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.kallen_sleeping
|
||||||
|
# state: 'off'
|
||||||
|
# then:
|
||||||
|
# - service: media_player.volume_set
|
||||||
|
# target:
|
||||||
|
# entity_id: media_player.kallen_bedroom_speaker
|
||||||
|
# data:
|
||||||
|
# volume_level: "{{ states('input_number.kallen_bedroom_google_speaker_day_volume') }}"
|
||||||
|
# - conditions:
|
||||||
|
# - condition: trigger
|
||||||
|
# id: kallen-bedroom-google-night
|
||||||
|
# sequence:
|
||||||
|
# - if:
|
||||||
|
# - condition: and
|
||||||
|
# conditions:
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.give_me_darkness
|
||||||
|
# state: 'on'
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.white_noise_kallen_bedroom
|
||||||
|
# state: 'off'
|
||||||
|
# - condition: state
|
||||||
|
# entity_id: input_boolean.kallen_sleeping
|
||||||
|
# state: 'off'
|
||||||
|
# then:
|
||||||
|
# - service: media_player.volume_set
|
||||||
|
# target:
|
||||||
|
# entity_id: media_player.kallen_bedroom_speaker
|
||||||
|
# data:
|
||||||
|
# volume_level: "{{ states('input_number.kallen_bedroom_google_speaker_night_volume') }}"
|
||||||
|
|
||||||
|
script:
|
||||||
|
volume_reset:
|
||||||
|
alias: 'Volume Reset'
|
||||||
|
description: 'Use this to reset volumes to day or night on each speaker, depending on the time of day'
|
||||||
|
mode: restart
|
||||||
|
sequence:
|
||||||
|
- service: media_player.volume_set
|
||||||
|
target:
|
||||||
|
entity_id: media_player.basement_echo_dot
|
||||||
|
data:
|
||||||
|
volume_level: >
|
||||||
|
{% if is_state('input_boolean.give_me_darkness','on') %}
|
||||||
|
{{ states('input_number.basement_echo_dot_night_volume') }}
|
||||||
|
{% else %}
|
||||||
|
{{ states('input_number.basement_echo_dot_day_volume') }}
|
||||||
|
{% endif %}
|
||||||
|
- service: media_player.volume_set
|
||||||
|
target:
|
||||||
|
entity_id: media_player.basement_google_speaker
|
||||||
|
data:
|
||||||
|
volume_level: >
|
||||||
|
{% if is_state('input_boolean.give_me_darkness','on') %}
|
||||||
|
{{ states('input_number.basement_google_speaker_night_volume') }}
|
||||||
|
{% else %}
|
||||||
|
{{ states('input_number.basement_google_speaker_day_volume') }}
|
||||||
|
{% endif %}
|
||||||
|
- service: media_player.volume_set
|
||||||
|
target:
|
||||||
|
entity_id: media_player.living_room_echo_dot
|
||||||
|
data:
|
||||||
|
volume_level: >
|
||||||
|
{% if is_state('input_boolean.give_me_darkness','on') %}
|
||||||
|
{{ states('input_number.living_room_echo_dot_night_volume') }}
|
||||||
|
{% else %}
|
||||||
|
{{ states('input_number.living_room_echo_dot_day_volume') }}
|
||||||
|
{% endif %}
|
||||||
|
- if:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.master_bedroom_sleeping
|
||||||
|
state: 'off'
|
||||||
|
then:
|
||||||
|
- service: media_player.volume_set
|
||||||
|
target:
|
||||||
|
entity_id: media_player.master_bedroom_echo_dot
|
||||||
|
data:
|
||||||
|
volume_level: >
|
||||||
|
{% if is_state('input_boolean.give_me_darkness','on') %}
|
||||||
|
{{ states('input_number.master_bedroom_echo_dot_night_volume') }}
|
||||||
|
{% else %}
|
||||||
|
{{ states('input_number.master_bedroom_echo_dot_day_volume') }}
|
||||||
|
{% endif %}
|
||||||
|
- if:
|
||||||
|
- condition: and
|
||||||
|
conditions:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.white_noise_kallen_bedroom
|
||||||
|
state: 'off'
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.kallen_sleeping
|
||||||
|
state: 'off'
|
||||||
|
then:
|
||||||
|
- service: media_player.volume_set
|
||||||
|
target:
|
||||||
|
entity_id: media_player.kallen_bedroom_speaker
|
||||||
|
data:
|
||||||
|
volume_level: >
|
||||||
|
{% if is_state('input_boolean.give_me_darkness','on') %}
|
||||||
|
{{ states('input_number.kallen_bedroom_google_speaker_night_volume') }}
|
||||||
|
{% else %}
|
||||||
|
{{ states('input_number.kallen_bedroom_google_speaker_day_volume') }}
|
||||||
|
{% endif %}
|
||||||
|
- if:
|
||||||
|
- condition: and
|
||||||
|
conditions:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.white_noise_emma_bedroom
|
||||||
|
state: 'off'
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.emma_sleeping
|
||||||
|
state: 'off'
|
||||||
|
then:
|
||||||
|
- service: media_player.volume_set
|
||||||
|
target:
|
||||||
|
entity_id: media_player.emma_bedroom_speaker
|
||||||
|
data:
|
||||||
|
volume_level: >
|
||||||
|
{% if is_state('input_boolean.give_me_darkness','on') %}
|
||||||
|
{{ states('input_number.emma_bedroom_google_speaker_night_volume') }}
|
||||||
|
{% else %}
|
||||||
|
{{ states('input_number.emma_bedroom_google_speaker_day_volume') }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Txt Notify
|
# Txt Notify
|
||||||
@ -725,6 +1160,17 @@ script:
|
|||||||
- Justin
|
- Justin
|
||||||
- Matthew
|
- Matthew
|
||||||
- Salli
|
- Salli
|
||||||
|
type:
|
||||||
|
name: 'Type'
|
||||||
|
description: 'What type of message is this? Can override some settings depending on the option selected. Alert bypasses time restrictions but respects volume settings. Critical also bypasses time restrictions, but also sets all volumes to max.'
|
||||||
|
required: false
|
||||||
|
example: 'normal, alert, critical'
|
||||||
|
selector:
|
||||||
|
select:
|
||||||
|
options:
|
||||||
|
- Normal
|
||||||
|
- Alert
|
||||||
|
- Critical
|
||||||
variables:
|
variables:
|
||||||
voice: "{{ states('input_select.jarvis_voice') }}"
|
voice: "{{ states('input_select.jarvis_voice') }}"
|
||||||
sequence:
|
sequence:
|
||||||
@ -756,9 +1202,18 @@ script:
|
|||||||
topic: 'house/polly/lastloc'
|
topic: 'house/polly/lastloc'
|
||||||
payload: '{{ who }}'
|
payload: '{{ who }}'
|
||||||
retain: true
|
retain: true
|
||||||
- condition: state
|
- condition: or
|
||||||
entity_id: input_boolean.audible_notifications
|
conditions:
|
||||||
state: 'on'
|
- condition: state
|
||||||
|
entity_id: input_boolean.audible_notifications
|
||||||
|
state: 'on'
|
||||||
|
- condition: template
|
||||||
|
value_template: >
|
||||||
|
{% if type in ['critical','Critical','alert','Alert'] %}
|
||||||
|
true
|
||||||
|
{% else %}
|
||||||
|
false
|
||||||
|
{% endif %}
|
||||||
- condition: state
|
- condition: state
|
||||||
entity_id: group.adults
|
entity_id: group.adults
|
||||||
state: 'home'
|
state: 'home'
|
||||||
@ -863,6 +1318,7 @@ script:
|
|||||||
{{ message }}
|
{{ message }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
voice: '{{ voice }}'
|
voice: '{{ voice }}'
|
||||||
|
type: '{{ type }}'
|
||||||
- condition: template
|
- condition: template
|
||||||
value_template: >
|
value_template: >
|
||||||
{% if who in ['Everywhere','everywhere','all_bedrooms','All Bedrooms','kids_bedrooms','Kids Bedrooms'] %}
|
{% if who in ['Everywhere','everywhere','all_bedrooms','All Bedrooms','kids_bedrooms','Kids Bedrooms'] %}
|
||||||
@ -875,6 +1331,7 @@ script:
|
|||||||
who: '{{ who }}'
|
who: '{{ who }}'
|
||||||
message: >
|
message: >
|
||||||
{{ message }}
|
{{ message }}
|
||||||
|
type: '{{ type }}'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -943,6 +1400,25 @@ script:
|
|||||||
alexa_voice:
|
alexa_voice:
|
||||||
alias: 'Alexa Voice'
|
alias: 'Alexa Voice'
|
||||||
sequence:
|
sequence:
|
||||||
|
- if:
|
||||||
|
- condition: template
|
||||||
|
value_template: >
|
||||||
|
{% if type in ['critical','Critical'] %}
|
||||||
|
true
|
||||||
|
{% else %}
|
||||||
|
false
|
||||||
|
{% endif %}
|
||||||
|
then:
|
||||||
|
- service: media_player.volume_set
|
||||||
|
target:
|
||||||
|
entity_id:
|
||||||
|
- media_player.living_room_echo_dot
|
||||||
|
- media_player.basement_echo_dot
|
||||||
|
- media_player.master_bedroom_echo_dot
|
||||||
|
data:
|
||||||
|
volume_level: 1.0
|
||||||
|
- delay:
|
||||||
|
seconds: 3
|
||||||
- service: notify.alexa_media
|
- service: notify.alexa_media
|
||||||
data:
|
data:
|
||||||
message: >
|
message: >
|
||||||
@ -1051,19 +1527,57 @@ script:
|
|||||||
media_player.emma_bedroom_speaker
|
media_player.emma_bedroom_speaker
|
||||||
{% elif who in ['Basement Google','basement_google'] %}
|
{% elif who in ['Basement Google','basement_google'] %}
|
||||||
media_player.basement_google_speaker
|
media_player.basement_google_speaker
|
||||||
{% else %}
|
|
||||||
{% if states.input_boolean.audible_notifications.state == 'on' %}
|
|
||||||
media_player.living_room_tv
|
|
||||||
{% else %}
|
|
||||||
media_player.living_room_tv
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
volume_level: >-
|
volume_level: >-
|
||||||
{% if states.input_boolean.audible_notifications.state == 'on' %}
|
{% set numbers_night = [
|
||||||
0.8
|
states.input_number.emma_bedroom_google_speaker_night_volume.state,
|
||||||
|
states.input_number.kallen_bedroom_google_speaker_night_volume.state
|
||||||
|
] %}
|
||||||
|
{% set numbers_day = [
|
||||||
|
states.input_number.emma_bedroom_google_speaker_day_volume.state,
|
||||||
|
states.input_number.kallen_bedroom_google_speaker_day_volume.state
|
||||||
|
] %}
|
||||||
|
{% set kidsgroup_night = numbers_night | list | min | float %}
|
||||||
|
{% set kidsgroup_day = numbers_day | list | max | float %}
|
||||||
|
{% if type in ['critical'] %}
|
||||||
|
1.0
|
||||||
|
{% elif is_state('input_boolean.give_me_darkness','on') %}
|
||||||
|
{% if who in ['Everywhere','everywhere','kids_bedrooms','all_bedrooms'] %}
|
||||||
|
{% if is_state('input_boolean.emma_sleeping','on') and is_state('input_boolean.kallen_sleeping','off') %}
|
||||||
|
{{ states('input_number.kallen_bedroom_google_speaker_night_volume') }}
|
||||||
|
{% elif is_state('input_boolean.kallen_sleeping','on') and is_state('input_boolean.emma_sleeping','off') %}
|
||||||
|
{{ states('input_number.emma_bedroom_google_speaker_night_volume') }}
|
||||||
|
{% else %}
|
||||||
|
{{ kidsgroup_night }}
|
||||||
|
{% endif %}
|
||||||
|
{% elif who in ['kallen_bedroom','media_player.kallen_bedroom_speaker'] %}
|
||||||
|
{{ states('input_number.kallen_bedroom_google_speaker_night_volume') }}
|
||||||
|
{% elif who in ['emma_bedroom','media_player.emma_bedroom_speaker'] %}
|
||||||
|
{{ states('input_number.emma_bedroom_google_speaker_night_volume') }}
|
||||||
|
{% elif who in ['Basement Google','basement_google'] %}
|
||||||
|
{{ states('input_number.basement_google_speaker_night_volume') }}
|
||||||
{% else %}
|
{% else %}
|
||||||
0.3
|
0.3
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% else %}
|
||||||
|
{% if who in ['Everywhere','everywhere','kids_bedrooms','all_bedrooms'] %}
|
||||||
|
{% if is_state('input_boolean.emma_sleeping','on') and is_state('input_boolean.kallen_sleeping','off') %}
|
||||||
|
{{ states('input_number.kallen_bedroom_google_speaker_day_volume') }}
|
||||||
|
{% elif is_state('input_boolean.kallen_sleeping','on') and is_state('input_boolean.emma_sleeping','off') %}
|
||||||
|
{{ states('input_number.emma_bedroom_google_speaker_day_volume') }}
|
||||||
|
{% else %}
|
||||||
|
{{ kidsgroup_day }}
|
||||||
|
{% endif %}
|
||||||
|
{% elif who in ['kallen_bedroom','media_player.kallen_bedroom_speaker'] %}
|
||||||
|
{{ states('input_number.kallen_bedroom_google_speaker_day_volume') }}
|
||||||
|
{% elif who in ['emma_bedroom','media_player.emma_bedroom_speaker'] %}
|
||||||
|
{{ states('input_number.emma_bedroom_google_speaker_day_volume') }}
|
||||||
|
{% elif who in ['Basement Google','basement_google'] %}
|
||||||
|
{{ states('input_number.basement_google_speaker_day_volume') }}
|
||||||
|
{% else %}
|
||||||
|
0.6
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
- service: tts.amazon_polly_say
|
- service: tts.amazon_polly_say
|
||||||
data_template:
|
data_template:
|
||||||
entity_id: >-
|
entity_id: >-
|
||||||
@ -1081,12 +1595,6 @@ script:
|
|||||||
media_player.emma_bedroom_speaker
|
media_player.emma_bedroom_speaker
|
||||||
{% elif who in ['Basement Google','basement_google'] %}
|
{% elif who in ['Basement Google','basement_google'] %}
|
||||||
media_player.basement_google_speaker
|
media_player.basement_google_speaker
|
||||||
{% else %}
|
|
||||||
{% if states.input_boolean.audible_notifications.state == 'on' %}
|
|
||||||
media_player.living_room_tv
|
|
||||||
{% else %}
|
|
||||||
media_player.living_room_tv
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
message: >-
|
message: >-
|
||||||
<speak>
|
<speak>
|
||||||
|
36
scripts.yaml
36
scripts.yaml
@ -50,6 +50,8 @@ give_me_darkness:
|
|||||||
continue_on_timeout: true
|
continue_on_timeout: true
|
||||||
timeout:
|
timeout:
|
||||||
seconds: 5
|
seconds: 5
|
||||||
|
- service: script.volume_reset
|
||||||
|
data: {}
|
||||||
- service: script.evening_on_first_floor
|
- service: script.evening_on_first_floor
|
||||||
data: {}
|
data: {}
|
||||||
- service: script.evening_on_second_floor
|
- service: script.evening_on_second_floor
|
||||||
@ -435,15 +437,9 @@ max_brightness_cleanup:
|
|||||||
- input_text.upstairs_hallway_selected_scene
|
- input_text.upstairs_hallway_selected_scene
|
||||||
mode: single
|
mode: single
|
||||||
icon: mdi:broom
|
icon: mdi:broom
|
||||||
freeze_cleanup:
|
cleanup_crash:
|
||||||
alias: Freeze Cleanup
|
alias: Cleanup Crash
|
||||||
sequence:
|
sequence:
|
||||||
- service: input_boolean.turn_off
|
|
||||||
data: {}
|
|
||||||
target:
|
|
||||||
entity_id:
|
|
||||||
- input_boolean.night_mode
|
|
||||||
- input_boolean.shower_mode
|
|
||||||
- service: switch.turn_off
|
- service: switch.turn_off
|
||||||
data: {}
|
data: {}
|
||||||
target:
|
target:
|
||||||
@ -452,6 +448,7 @@ freeze_cleanup:
|
|||||||
- switch.basement_echo_dot_do_not_disturb_switch
|
- switch.basement_echo_dot_do_not_disturb_switch
|
||||||
- switch.living_room_echo_dot_do_not_disturb_switch
|
- switch.living_room_echo_dot_do_not_disturb_switch
|
||||||
- switch.master_bedroom_echo_dot_do_not_disturb_switch
|
- switch.master_bedroom_echo_dot_do_not_disturb_switch
|
||||||
|
alias: Turn off switches
|
||||||
- if:
|
- if:
|
||||||
- condition: time
|
- condition: time
|
||||||
after: input_datetime.master_bedroom_wakeup
|
after: input_datetime.master_bedroom_wakeup
|
||||||
@ -474,6 +471,7 @@ freeze_cleanup:
|
|||||||
data: {}
|
data: {}
|
||||||
target:
|
target:
|
||||||
entity_id: button.master_bedroom_night_mode
|
entity_id: button.master_bedroom_night_mode
|
||||||
|
alias: Set climate state
|
||||||
- if:
|
- if:
|
||||||
- condition: state
|
- condition: state
|
||||||
entity_id: sensor.twitch_ironnerd24
|
entity_id: sensor.twitch_ironnerd24
|
||||||
@ -488,6 +486,7 @@ freeze_cleanup:
|
|||||||
data: {}
|
data: {}
|
||||||
target:
|
target:
|
||||||
entity_id: input_boolean.studio_quiet
|
entity_id: input_boolean.studio_quiet
|
||||||
|
alias: Set studio quiet if Twitch stream is live
|
||||||
- if:
|
- if:
|
||||||
- condition: state
|
- condition: state
|
||||||
entity_id: calendar.family_tinawork
|
entity_id: calendar.family_tinawork
|
||||||
@ -505,6 +504,7 @@ freeze_cleanup:
|
|||||||
data: {}
|
data: {}
|
||||||
target:
|
target:
|
||||||
entity_id: input_boolean.work_today
|
entity_id: input_boolean.work_today
|
||||||
|
alias: Set Tina Work booleans
|
||||||
- if:
|
- if:
|
||||||
- condition: state
|
- condition: state
|
||||||
entity_id: calendar.kallen_school_days
|
entity_id: calendar.kallen_school_days
|
||||||
@ -528,6 +528,7 @@ freeze_cleanup:
|
|||||||
- input_boolean.kallen_school_today
|
- input_boolean.kallen_school_today
|
||||||
- input_boolean.kallen_school_today_extended
|
- input_boolean.kallen_school_today_extended
|
||||||
- input_boolean.kallen_at_school
|
- input_boolean.kallen_at_school
|
||||||
|
alias: Set Kallen School booleans
|
||||||
- if:
|
- if:
|
||||||
- condition: time
|
- condition: time
|
||||||
before: input_datetime.audible_notification_on
|
before: input_datetime.audible_notification_on
|
||||||
@ -542,6 +543,7 @@ freeze_cleanup:
|
|||||||
data: {}
|
data: {}
|
||||||
target:
|
target:
|
||||||
entity_id: input_boolean.audible_notifications
|
entity_id: input_boolean.audible_notifications
|
||||||
|
alias: Set audible notifications
|
||||||
- service: switch.turn_on
|
- service: switch.turn_on
|
||||||
data: {}
|
data: {}
|
||||||
target:
|
target:
|
||||||
@ -558,6 +560,7 @@ freeze_cleanup:
|
|||||||
- switch.adaptive_lighting_emma_bedroom
|
- switch.adaptive_lighting_emma_bedroom
|
||||||
- switch.adaptive_lighting_upstairs_bathroom
|
- switch.adaptive_lighting_upstairs_bathroom
|
||||||
- switch.adaptive_lighting_upstairs_hallway
|
- switch.adaptive_lighting_upstairs_hallway
|
||||||
|
alias: Turn on all adaptive lighting
|
||||||
- service: input_text.set_value
|
- service: input_text.set_value
|
||||||
data:
|
data:
|
||||||
value: Adaptive
|
value: Adaptive
|
||||||
@ -575,21 +578,14 @@ freeze_cleanup:
|
|||||||
- input_text.upstairs_bathroom_selected_scene
|
- input_text.upstairs_bathroom_selected_scene
|
||||||
- input_text.upstairs_hallway_selected_scene
|
- input_text.upstairs_hallway_selected_scene
|
||||||
- input_text.dining_room_lamp_selected_scene
|
- input_text.dining_room_lamp_selected_scene
|
||||||
- service: media_player.volume_set
|
alias: Reset input texts to adaptive
|
||||||
data:
|
- service: script.volume_reset
|
||||||
volume_level: 0.6
|
data: {}
|
||||||
target:
|
alias: Reset all speaker volumes
|
||||||
entity_id:
|
|
||||||
- media_player.basement_echo_dot
|
|
||||||
- media_player.living_room_echo_dot
|
|
||||||
- service: media_player.volume_set
|
|
||||||
data:
|
|
||||||
volume_level: 0.5
|
|
||||||
target:
|
|
||||||
entity_id: media_player.master_bedroom_echo_dot
|
|
||||||
- service: button.press
|
- service: button.press
|
||||||
data: {}
|
data: {}
|
||||||
target:
|
target:
|
||||||
entity_id: button.cleanup
|
entity_id: button.cleanup
|
||||||
|
alias: Run Node-RED cleanup flow
|
||||||
mode: single
|
mode: single
|
||||||
icon: mdi:truck-snowflake
|
icon: mdi:truck-snowflake
|
||||||
|
Reference in New Issue
Block a user