Volume control and sleep mode improvements

This commit is contained in:
2023-02-22 16:36:05 -05:00
parent 8e4654f6f3
commit b6418b54b5
4 changed files with 667 additions and 54 deletions

View File

@ -11,28 +11,30 @@
entity_id: input_boolean.vacation_mode
state: 'off'
action:
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.audible_notifications
- service: script.max_brightness
data: {}
- service: notify.all_ios
- service: script.text_urgent_alert
data:
who: all
title: Tornado Warning - TAKE COVER!
message: The National Weather Service has issued a Tornado Warning for our area.
Take Cover NOW!!!!
- service: notify.tv_notifications
alias: CRITICAL PHONE ALERT
- service: script.tv_notify
data:
who: all
title: Tornado Warning - TAKE COVER!
message: The National Weather Service has issued a Tornado Warning for our area.
Take Cover NOW!!!!
alias: TV Alert
- service: script.speech_engine
data:
who: everywhere
who: Everywhere
message: A tornado warning has been issued, please take cover immediately! A
tornado warning has been issued, please take cover immediately! A tornado
warning has been issued, please take cover immediately!
type: Alert
alias: Elevated TTS alert
- delay:
hours: 0
minutes: 1
@ -44,6 +46,21 @@
message: A tornado warning has been issued, please take cover immediately! A
tornado warning has been issued, please take cover immediately! A tornado
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
- id: '1640916845901'
alias: Cast to Chromecast
@ -370,7 +387,12 @@
data:
topic: house/basement/server/glances
payload: restart
qos: 0
retain: false
alias: Restart Glances via MQTT
- service: script.volume_reset
data: {}
alias: Reset all speaker volumes
- if:
- condition: state
entity_id: input_boolean.studio_quiet
@ -389,7 +411,8 @@
alias: Shutdown
then:
- service: automation.turn_off
data: {}
data:
stop_actions: true
target:
entity_id:
- automation.family_has_arrived
@ -428,6 +451,8 @@
entity_id: input_boolean.vacation_mode
state: 'off'
action:
- service: script.volume_reset
data: {}
- service: script.max_brightness_cleanup
data: {}
- service: notify.all_ios
@ -477,19 +502,49 @@
- input_boolean.white_noise_emma_bedroom
to: 'on'
from: 'off'
id: emma
id: emma-on
- platform: state
entity_id:
- input_boolean.white_noise_basement
to: 'on'
from: 'off'
id: basement
id: basement-on
- platform: state
entity_id:
- input_boolean.white_noise_kallen_bedroom
to: 'on'
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: []
action:
- choose:
@ -504,7 +559,8 @@
milliseconds: 0
- service: media_player.volume_set
data:
volume_level: 0.35
volume_level: '{{ states(''input_number.emma_bedroom_google_speaker_night_volume'')
}}'
target:
entity_id: media_player.emma_bedroom_speaker
- conditions:
@ -518,7 +574,8 @@
milliseconds: 0
- service: media_player.volume_set
data:
volume_level: 0.5
volume_level: '{{ states(''input_number.basement_google_speaker_night_volume'')
}}'
target:
entity_id: media_player.basement_google_speaker
- conditions:
@ -532,11 +589,63 @@
milliseconds: 0
- service: media_player.volume_set
data:
volume_level: 0.3
volume_level: '{{ states(''input_number.kallen_bedroom_google_speaker_night_volume'')
}}'
target:
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
max: 6
max: 10
- id: '1671584633378'
alias: Delivery Mode Cleanup
description: ''

Submodule node-red/projects/NerdFlows updated: f0b66f6bec...3c0b1ede3a

View File

@ -122,6 +122,80 @@ input_text:
icon: mdi:text
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
mqtt:
sensor:
@ -216,8 +290,369 @@ notify:
- service: alexa_media_living_room_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
@ -725,6 +1160,17 @@ script:
- Justin
- Matthew
- 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:
voice: "{{ states('input_select.jarvis_voice') }}"
sequence:
@ -756,9 +1202,18 @@ script:
topic: 'house/polly/lastloc'
payload: '{{ who }}'
retain: true
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
- condition: or
conditions:
- 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
entity_id: group.adults
state: 'home'
@ -863,6 +1318,7 @@ script:
{{ message }}
{% endif %}
voice: '{{ voice }}'
type: '{{ type }}'
- condition: template
value_template: >
{% if who in ['Everywhere','everywhere','all_bedrooms','All Bedrooms','kids_bedrooms','Kids Bedrooms'] %}
@ -875,6 +1331,7 @@ script:
who: '{{ who }}'
message: >
{{ message }}
type: '{{ type }}'
@ -943,6 +1400,25 @@ script:
alexa_voice:
alias: 'Alexa Voice'
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
data:
message: >
@ -1051,19 +1527,57 @@ script:
media_player.emma_bedroom_speaker
{% elif who in ['Basement Google','basement_google'] %}
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 %}
volume_level: >-
{% if states.input_boolean.audible_notifications.state == 'on' %}
0.8
{% set numbers_night = [
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 %}
0.3
{% 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
data_template:
entity_id: >-
@ -1081,12 +1595,6 @@ script:
media_player.emma_bedroom_speaker
{% elif who in ['Basement Google','basement_google'] %}
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 %}
message: >-
<speak>

View File

@ -50,6 +50,8 @@ give_me_darkness:
continue_on_timeout: true
timeout:
seconds: 5
- service: script.volume_reset
data: {}
- service: script.evening_on_first_floor
data: {}
- service: script.evening_on_second_floor
@ -435,15 +437,9 @@ max_brightness_cleanup:
- input_text.upstairs_hallway_selected_scene
mode: single
icon: mdi:broom
freeze_cleanup:
alias: Freeze Cleanup
cleanup_crash:
alias: Cleanup Crash
sequence:
- service: input_boolean.turn_off
data: {}
target:
entity_id:
- input_boolean.night_mode
- input_boolean.shower_mode
- service: switch.turn_off
data: {}
target:
@ -452,6 +448,7 @@ freeze_cleanup:
- switch.basement_echo_dot_do_not_disturb_switch
- switch.living_room_echo_dot_do_not_disturb_switch
- switch.master_bedroom_echo_dot_do_not_disturb_switch
alias: Turn off switches
- if:
- condition: time
after: input_datetime.master_bedroom_wakeup
@ -474,6 +471,7 @@ freeze_cleanup:
data: {}
target:
entity_id: button.master_bedroom_night_mode
alias: Set climate state
- if:
- condition: state
entity_id: sensor.twitch_ironnerd24
@ -488,6 +486,7 @@ freeze_cleanup:
data: {}
target:
entity_id: input_boolean.studio_quiet
alias: Set studio quiet if Twitch stream is live
- if:
- condition: state
entity_id: calendar.family_tinawork
@ -505,6 +504,7 @@ freeze_cleanup:
data: {}
target:
entity_id: input_boolean.work_today
alias: Set Tina Work booleans
- if:
- condition: state
entity_id: calendar.kallen_school_days
@ -528,6 +528,7 @@ freeze_cleanup:
- input_boolean.kallen_school_today
- input_boolean.kallen_school_today_extended
- input_boolean.kallen_at_school
alias: Set Kallen School booleans
- if:
- condition: time
before: input_datetime.audible_notification_on
@ -542,6 +543,7 @@ freeze_cleanup:
data: {}
target:
entity_id: input_boolean.audible_notifications
alias: Set audible notifications
- service: switch.turn_on
data: {}
target:
@ -558,6 +560,7 @@ freeze_cleanup:
- switch.adaptive_lighting_emma_bedroom
- switch.adaptive_lighting_upstairs_bathroom
- switch.adaptive_lighting_upstairs_hallway
alias: Turn on all adaptive lighting
- service: input_text.set_value
data:
value: Adaptive
@ -575,21 +578,14 @@ freeze_cleanup:
- input_text.upstairs_bathroom_selected_scene
- input_text.upstairs_hallway_selected_scene
- input_text.dining_room_lamp_selected_scene
- service: media_player.volume_set
data:
volume_level: 0.6
target:
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
alias: Reset input texts to adaptive
- service: script.volume_reset
data: {}
alias: Reset all speaker volumes
- service: button.press
data: {}
target:
entity_id: button.cleanup
alias: Run Node-RED cleanup flow
mode: single
icon: mdi:truck-snowflake