Compare commits

..

12 Commits

10 changed files with 236 additions and 229 deletions

View File

@ -1 +1 @@
2025.4.2 2025.4.3

View File

@ -530,127 +530,126 @@
- id: '1667341156218' - id: '1667341156218'
alias: White Noise alias: White Noise
description: '' description: ''
trigger: triggers:
- platform: state - entity_id:
entity_id:
- input_boolean.white_noise_emma_bedroom - input_boolean.white_noise_emma_bedroom
to: 'on' to: 'on'
from: 'off' from: 'off'
id: emma-on id: emma-on
alias: Emma On alias: Emma On
- platform: state trigger: 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-on id: basement-on
alias: Basement On alias: Basement On
- platform: state trigger: 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-on id: kallen-on
alias: Kallen On alias: Kallen On
- platform: state trigger: state
entity_id: - entity_id:
- input_boolean.white_noise_emma_bedroom - input_boolean.white_noise_emma_bedroom
from: 'on' from: 'on'
to: 'off' to: 'off'
id: emma-off id: emma-off
alias: Emma Off alias: Emma Off
- platform: state trigger: state
entity_id: - entity_id:
- input_boolean.white_noise_basement - input_boolean.white_noise_basement
from: 'on' from: 'on'
to: 'off' to: 'off'
id: basement-off id: basement-off
alias: Basement Off alias: Basement Off
- platform: state trigger: state
entity_id: - entity_id:
- input_boolean.white_noise_kallen_bedroom - input_boolean.white_noise_kallen_bedroom
from: 'on' from: 'on'
to: 'off' to: 'off'
id: kallen-off id: kallen-off
alias: Kallen Off alias: Kallen Off
trigger: state
- alias: Emma Timeout - alias: Emma Timeout
platform: state
id: emma-timeout id: emma-timeout
entity_id: entity_id:
- media_player.emma_bedroom_google_speaker - media_player.emma_bedroom_google_speaker
to: 'off' to: 'off'
trigger: state
- alias: Basement Timeout - alias: Basement Timeout
platform: state
id: basement-timeout id: basement-timeout
entity_id: entity_id:
- media_player.basement_google_speaker - media_player.basement_google_speaker
to: 'off' to: 'off'
trigger: state
- alias: Kallen Timeout - alias: Kallen Timeout
platform: state
id: kallen-timeout id: kallen-timeout
entity_id: entity_id:
- media_player.kallen_bedroom_google_speaker - media_player.kallen_bedroom_google_speaker
to: 'off' to: 'off'
condition: [] trigger: state
action: conditions: []
actions:
- choose: - choose:
- conditions: - conditions:
- condition: trigger - condition: trigger
id: emma-on id: emma-on
sequence: sequence:
- alias: Start river sounds - alias: Start river sounds
service: google_assistant_sdk.send_text_command
data: data:
command: give me river noise on emma bedroom speaker command: give me river noise on emma bedroom speaker
- service: media_player.volume_set action: google_assistant_sdk.send_text_command
data: - data:
volume_level: '{{ states(''input_number.emma_bedroom_google_speaker_night_volume'') volume_level: '{{ states(''sensor.emma_bedroom_google_speaker_volume'')
}}' }}'
target: target:
entity_id: media_player.emma_bedroom_google_speaker entity_id: media_player.emma_bedroom_google_speaker
alias: Set volume alias: Set volume
action: media_player.volume_set
alias: Emma On alias: Emma On
- conditions: - conditions:
- condition: trigger - condition: trigger
id: basement-on id: basement-on
sequence: sequence:
- service: google_assistant_sdk.send_text_command - data:
data:
command: give me thunderstorm sounds on basement studio speaker command: give me thunderstorm sounds on basement studio speaker
alias: Start thunderstorm sounds alias: Start thunderstorm sounds
- service: media_player.volume_set action: google_assistant_sdk.send_text_command
data: - data:
volume_level: '{{ states(''input_number.basement_google_speaker_night_volume'') volume_level: '{{ states(''sensor.basement_google_speaker_volume'') }}'
}}'
target: target:
entity_id: media_player.basement_google_speaker entity_id: media_player.basement_google_speaker
alias: Set volume alias: Set volume
action: media_player.volume_set
alias: Basement On alias: Basement On
- conditions: - conditions:
- condition: trigger - condition: trigger
id: kallen-on id: kallen-on
sequence: sequence:
- alias: Start river sounds - alias: Start river sounds
service: google_assistant_sdk.send_text_command
data: data:
command: give me river noise on kallen bedroom speaker command: give me river noise on kallen bedroom speaker
- service: media_player.volume_set action: google_assistant_sdk.send_text_command
data: - data:
volume_level: '{{ states(''input_number.kallen_bedroom_google_speaker_night_volume'') volume_level: '{{ states(''sensor.kallen_bedroom_google_speaker_volume'')
}}' }}'
target: target:
entity_id: media_player.kallen_bedroom_google_speaker entity_id: media_player.kallen_bedroom_google_speaker
alias: Set volume alias: Set volume
action: media_player.volume_set
alias: Kallen On alias: Kallen On
- conditions: - conditions:
- condition: trigger - condition: trigger
id: emma-off id: emma-off
sequence: sequence:
- service: media_player.turn_off - data: {}
data: {}
target: target:
entity_id: media_player.emma_bedroom_google_speaker entity_id: media_player.emma_bedroom_google_speaker
alias: Turn off speaker alias: Turn off speaker
action: media_player.turn_off
- alias: If Emma is awake, reset volume - alias: If Emma is awake, reset volume
if: if:
- condition: state - condition: state
@ -662,49 +661,44 @@
minutes: 0 minutes: 0
seconds: 5 seconds: 5
milliseconds: 0 milliseconds: 0
- service: media_player.volume_set - data:
data: volume_level: '{{ states(''sensor.emma_bedroom_google_speaker_volume'')
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: target:
entity_id: media_player.emma_bedroom_google_speaker entity_id: media_player.emma_bedroom_google_speaker
alias: Reset volume alias: Reset volume
action: media_player.volume_set
alias: Emma Off alias: Emma Off
- conditions: - conditions:
- condition: trigger - condition: trigger
id: basement-off id: basement-off
sequence: sequence:
- service: media_player.turn_off - data: {}
data: {}
target: target:
entity_id: media_player.basement_google_speaker entity_id: media_player.basement_google_speaker
alias: Turn off speaker alias: Turn off speaker
action: media_player.turn_off
- delay: - delay:
hours: 0 hours: 0
minutes: 0 minutes: 0
seconds: 5 seconds: 5
milliseconds: 0 milliseconds: 0
- service: media_player.volume_set - data:
data: volume_level: '{{ states(''sensor.basement_google_speaker_volume'') }}'
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: target:
entity_id: media_player.basement_google_speaker entity_id: media_player.basement_google_speaker
alias: Reset volume alias: Reset volume
action: media_player.volume_set
alias: Basement Off alias: Basement Off
- conditions: - conditions:
- condition: trigger - condition: trigger
id: kallen-off id: kallen-off
sequence: sequence:
- service: media_player.turn_off - data: {}
data: {}
target: target:
entity_id: media_player.kallen_bedroom_google_speaker entity_id: media_player.kallen_bedroom_google_speaker
alias: Turn off speaker alias: Turn off speaker
action: media_player.turn_off
- alias: If Kallen is awake, reset volume - alias: If Kallen is awake, reset volume
if: if:
- condition: and - condition: and
@ -721,15 +715,13 @@
minutes: 0 minutes: 0
seconds: 5 seconds: 5
milliseconds: 0 milliseconds: 0
- service: media_player.volume_set - data:
data: volume_level: '{{ states(''sensor.kallen_bedroom_google_speaker_volume'')
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: target:
entity_id: media_player.kallen_bedroom_google_speaker entity_id: media_player.kallen_bedroom_google_speaker
alias: Reset volume alias: Reset volume
action: media_player.volume_set
alias: Kallen Off alias: Kallen Off
- conditions: - conditions:
- condition: trigger - condition: trigger
@ -749,16 +741,16 @@
seconds: 5 seconds: 5
milliseconds: 0 milliseconds: 0
- alias: Start river sounds - alias: Start river sounds
service: google_assistant_sdk.send_text_command
data: data:
command: give me river noise on emma bedroom speaker command: give me river noise on emma bedroom speaker
- service: media_player.volume_set action: google_assistant_sdk.send_text_command
data: - data:
volume_level: '{{ states(''input_number.emma_bedroom_google_speaker_night_volume'') volume_level: '{{ states(''sensor.emma_bedroom_google_speaker_volume'')
}}' }}'
target: target:
entity_id: media_player.emma_bedroom_google_speaker entity_id: media_player.emma_bedroom_google_speaker
alias: Set volume alias: Set volume
action: media_player.volume_set
alias: Emma Timeout alias: Emma Timeout
- conditions: - conditions:
- condition: trigger - condition: trigger
@ -778,16 +770,15 @@
seconds: 5 seconds: 5
milliseconds: 0 milliseconds: 0
- alias: Start thunderstorm sounds - alias: Start thunderstorm sounds
service: google_assistant_sdk.send_text_command
data: data:
command: give me thunderstorm sounds on basement studio speaker command: give me thunderstorm sounds on basement studio speaker
- service: media_player.volume_set action: google_assistant_sdk.send_text_command
data: - data:
volume_level: '{{ states(''input_number.basement_google_speaker_night_volume'') volume_level: '{{ states(''sensor.basement_google_speaker_volume'') }}'
}}'
target: target:
entity_id: media_player.basement_google_speaker entity_id: media_player.basement_google_speaker
alias: Set volume alias: Set volume
action: media_player.volume_set
alias: Basement Timeout alias: Basement Timeout
- conditions: - conditions:
- condition: trigger - condition: trigger
@ -807,16 +798,16 @@
seconds: 5 seconds: 5
milliseconds: 0 milliseconds: 0
- alias: Start river sounds - alias: Start river sounds
service: google_assistant_sdk.send_text_command
data: data:
command: give me river noise on kallen bedroom speaker command: give me river noise on kallen bedroom speaker
- service: media_player.volume_set action: google_assistant_sdk.send_text_command
data: - data:
volume_level: '{{ states(''input_number.kallen_bedroom_google_speaker_night_volume'') volume_level: '{{ states(''sensor.kallen_bedroom_google_speaker_volume'')
}}' }}'
target: target:
entity_id: media_player.kallen_bedroom_google_speaker entity_id: media_player.kallen_bedroom_google_speaker
alias: Set volume alias: Set volume
action: media_player.volume_set
alias: Kallen Timeout alias: Kallen Timeout
mode: parallel mode: parallel
max: 20 max: 20

View File

@ -32,8 +32,16 @@ frontend:
extra_module_url: extra_module_url:
- /hacsfiles/hass-hue-icons/hass-hue-icons.js - /hacsfiles/hass-hue-icons/hass-hue-icons.js
- /hacsfiles/hass-bha-icons/hass-bha-icons.js - /hacsfiles/hass-bha-icons/hass-bha-icons.js
- /hacsfiles/material-you-utilities/material-you-utilities.min.js
javascript_version: latest javascript_version: latest
panel_custom:
- name: material-you-panel
url_path: material-you-configuration
sidebar_title: Material You Utilities
sidebar_icon: mdi:material-design
module_url: /hacsfiles/material-you-utilities/material-you-utilities.min.js
http: http:
use_x_forwarded_for: true use_x_forwarded_for: true
trusted_proxies: trusted_proxies:
@ -107,6 +115,7 @@ recorder:
- sensor.*gpu_core_load - sensor.*gpu_core_load
- sensor.portainer* - sensor.portainer*
- sensor.mosquitto* - sensor.mosquitto*
- sensor.*_rssi
entities: entities:
- sensor.avg_ping - sensor.avg_ping
- sensor.max_ping - sensor.max_ping

View File

@ -32,9 +32,11 @@
{% else %} {% else %}
{% if ' - ' in game_clock %} {% if ' - ' in game_clock %}
{% set clock_time, quarter = game_clock.split(' - ') %} {% set clock_time, quarter = game_clock.split(' - ') %}
with {{ clock_time ~ ' remaining in the ' ~ quarter ~ ' ' ~ period_str }} {% if quarter == 'ot' %}
{% else %} with {{ clock_time ~ ' remaining in overtime' }}
with {{ game_clock ~ ' remaining in the ' ~ period_str }} {% else %}
with {{ clock_time ~ ' remaining in the ' ~ quarter ~ ' ' ~ period_str }}
{% endif %}
{% endif %} {% endif %}
{% endif %} {% endif %}
{% endmacro %} {% endmacro %}

View File

@ -116,16 +116,6 @@ template:
unique_id: 2ce31844-b115-42b8-8213-feccf24e236c unique_id: 2ce31844-b115-42b8-8213-feccf24e236c
state: "{{ state_attr('climate.master_bedroom_aircon','temperature') | float }}" state: "{{ state_attr('climate.master_bedroom_aircon','temperature') | float }}"
availability: "{{ states('climate.master_bedroom_aircon') not in ['unavailable','unknown'] }}" availability: "{{ states('climate.master_bedroom_aircon') not in ['unavailable','unknown'] }}"
- name: "Master Bedroom Eco Mode"
unique_id: edf36e23-adcf-4506-80eb-a14f4ea2fce0
state: "{{ is_state_attr('climate.master_bedroom_aircon','preset_mode','eco') }}"
icon: >-
{% if is_state_attr('climate.master_bedroom_aircon','preset_mode','eco') %}
mdi:home-lightning-bolt
{% else %}
mdi:home-lightning-bolt-outline
{% endif %}
availability: "{{ states('climate.master_bedroom_aircon') not in ['unavailable','unknown'] }}"
- name: "Master Bedroom Aircon Fan Mode" - name: "Master Bedroom Aircon Fan Mode"
unique_id: c0e4f9ba-0c6c-4673-9a75-13f253f2f2e8 unique_id: c0e4f9ba-0c6c-4673-9a75-13f253f2f2e8
state: "{{ state_attr('climate.master_bedroom_aircon','fan_mode') }}" state: "{{ state_attr('climate.master_bedroom_aircon','fan_mode') }}"
@ -146,16 +136,6 @@ template:
unique_id: b81152a1-d4d9-4e3e-8a78-6039de2884ad unique_id: b81152a1-d4d9-4e3e-8a78-6039de2884ad
state: "{{ state_attr('climate.emma_bedroom_aircon','temperature') | float }}" state: "{{ state_attr('climate.emma_bedroom_aircon','temperature') | float }}"
availability: "{{ states('climate.emma_bedroom_aircon') not in ['unavailable','unknown'] }}" availability: "{{ states('climate.emma_bedroom_aircon') not in ['unavailable','unknown'] }}"
- name: "Emma Bedroom Eco Mode"
unique_id: 4b6fc8fc-4152-4d8b-ad8d-80f97fcabe44
state: "{{ is_state_attr('climate.emma_bedroom_aircon','preset_mode','eco') }}"
icon: >-
{% if is_state_attr('climate.emma_bedroom_aircon','preset_mode','eco') %}
mdi:home-lightning-bolt
{% else %}
mdi:home-lightning-bolt-outline
{% endif %}
availability: "{{ states('climate.emma_bedroom_aircon') not in ['unavailable','unknown'] }}"
- name: "Emma Bedroom Aircon Fan Mode" - name: "Emma Bedroom Aircon Fan Mode"
unique_id: d678eb2e-be5b-4626-913d-fc1e32941ead unique_id: d678eb2e-be5b-4626-913d-fc1e32941ead
state: "{{ state_attr('climate.emma_bedroom_aircon','fan_mode') }}" state: "{{ state_attr('climate.emma_bedroom_aircon','fan_mode') }}"

View File

@ -659,14 +659,18 @@ template:
state: > state: >
{% set lights = states.light.upstairs_bathroom_lights, {% set lights = states.light.upstairs_bathroom_lights,
states.light.hallway_overhead, states.light.hallway_overhead,
states.light.downstairs_bathroom_lights %} states.light.downstairs_bathroom_lights,
states.light.living_room_lights,
states.light.front_porch_light %}
{% set issues = lights | selectattr('state','eq','unavailable') | list | count %} {% set issues = lights | selectattr('state','eq','unavailable') | list | count %}
{{ issues > 0 }} {{ issues > 0 }}
attributes: attributes:
issues: > issues: >
{% set lights = states.light.upstairs_bathroom_lights, {% set lights = states.light.upstairs_bathroom_lights,
states.light.hallway_overhead, states.light.hallway_overhead,
states.light.downstairs_bathroom_lights %} states.light.downstairs_bathroom_lights,
states.light.living_room_lights,
states.light.front_porch_light %}
{% set ids = lights | selectattr('state','eq','unavailable') | map(attribute='attributes.friendly_name') | list %} {% set ids = lights | selectattr('state','eq','unavailable') | map(attribute='attributes.friendly_name') | list %}
{{ ids | join(', ') }} {{ ids | join(', ') }}
- sensor: - sensor:

View File

@ -198,6 +198,57 @@ input_number:
step: 0.05 step: 0.05
icon: mdi:knob icon: mdi:knob
template:
- sensor:
- name: "Basement Echo Dot Volume"
state: >
{% 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 %}
icon: mdi:volume-high
- name: "Basement Google Speaker Volume"
state: >
{% 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 %}
icon: mdi:volume-high
- name: "Living Room Echo Dot Volume"
state: >
{% 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 %}
icon: mdi:volume-high
- name: "Master Bedroom Echo Dot Volume"
state: >
{% if is_state('input_boolean.give_me_darkness','on') or is_state('binary_sensor.people_sleeping','on') %}
{{ states('input_number.master_bedroom_echo_dot_night_volume') }}
{% else %}
{{ states('input_number.master_bedroom_echo_dot_day_volume') }}
{% endif %}
icon: mdi:volume-high
- name: "Kallen Bedroom Google Speaker Volume"
state: >
{% if is_state('input_boolean.give_me_darkness','on') or is_state('input_boolean.kallen_sleeping','on') %}
{{ states('input_number.kallen_bedroom_google_speaker_night_volume') }}
{% else %}
{{ states('input_number.kallen_bedroom_google_speaker_day_volume') }}
{% endif %}
icon: mdi:volume-high
- name: "Emma Bedroom Google Speaker Volume"
state: >
{% if is_state('input_boolean.give_me_darkness','on') or is_state('input_boolean.emma_sleeping','on') %}
{{ states('input_number.emma_bedroom_google_speaker_night_volume') }}
{% else %}
{{ states('input_number.emma_bedroom_google_speaker_day_volume') }}
{% endif %}
icon: mdi:volume-high
# 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:
@ -325,24 +376,14 @@ script:
- condition: template - condition: template
value_template: > value_template: >
{% set current = state_attr('media_player.basement_echo_dot','volume_level') | float %} {% set current = state_attr('media_player.basement_echo_dot','volume_level') | float %}
{% set night = states('input_number.basement_echo_dot_night_volume') | float %} {% set expected = states('sensor.basement_echo_dot_volume') | float %}
{% set day = states('input_number.basement_echo_dot_day_volume') | float %} {{ current != expected }}
{% if is_state('input_boolean.give_me_darkness','on') %}
{{ current != night }}
{% else %}
{{ current != day }}
{% endif %}
then: then:
- service: media_player.volume_set - service: media_player.volume_set
target: target:
entity_id: media_player.basement_echo_dot entity_id: media_player.basement_echo_dot
data: data:
volume_level: > volume_level: "{{ states('sensor.basement_echo_dot_volume') }}"
{% 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 %}
# Basement Google Speaker # Basement Google Speaker
- if: - if:
- condition: and - condition: and
@ -373,24 +414,14 @@ script:
- condition: template - condition: template
value_template: > value_template: >
{% set current = state_attr('media_player.basement_google_speaker','volume_level') | float %} {% set current = state_attr('media_player.basement_google_speaker','volume_level') | float %}
{% set night = states('input_number.basement_google_speaker_night_volume') | float %} {% set expected = states('sensor.basement_google_speaker_volume') | float %}
{% set day = states('input_number.basement_google_speaker_day_volume') | float %} {{ current != expected }}
{% if is_state('input_boolean.give_me_darkness','on') %}
{{ current != night }}
{% else %}
{{ current != day }}
{% endif %}
then: then:
- service: media_player.volume_set - service: media_player.volume_set
target: target:
entity_id: media_player.basement_google_speaker entity_id: media_player.basement_google_speaker
data: data:
volume_level: > volume_level: "{{ states('sensor.basement_google_speaker_volume') }}"
{% 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_mute - service: media_player.volume_mute
target: target:
entity_id: media_player.basement_google_speaker entity_id: media_player.basement_google_speaker
@ -405,24 +436,14 @@ script:
- condition: template - condition: template
value_template: > value_template: >
{% set current = state_attr('media_player.living_room_echo_dot','volume_level') | float %} {% set current = state_attr('media_player.living_room_echo_dot','volume_level') | float %}
{% set night = states('input_number.living_room_echo_dot_night_volume') | float %} {% set expected = states('sensor.living_room_echo_dot_volume') | float %}
{% set day = states('input_number.living_room_echo_dot_day_volume') | float %} {{ current != expected }}
{% if is_state('input_boolean.give_me_darkness','on') %}
{{ current != night }}
{% else %}
{{ current != day }}
{% endif %}
then: then:
- service: media_player.volume_set - service: media_player.volume_set
target: target:
entity_id: media_player.living_room_echo_dot entity_id: media_player.living_room_echo_dot
data: data:
volume_level: > volume_level: "{{ states('sensor.living_room_echo_dot_volume') }}"
{% 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 %}
# Master Bedroom Echo Dot # Master Bedroom Echo Dot
- if: - if:
- condition: state - condition: state
@ -435,24 +456,14 @@ script:
- condition: template - condition: template
value_template: > value_template: >
{% set current = state_attr('media_player.master_bedroom_echo_dot','volume_level') | float %} {% set current = state_attr('media_player.master_bedroom_echo_dot','volume_level') | float %}
{% set night = states('input_number.master_bedroom_echo_dot_night_volume') | float %} {% set expected = states('sensor.master_bedroom_echo_dot_volume') | float %}
{% set day = states('input_number.master_bedroom_echo_dot_day_volume') | float %} {{ current != expected }}
{% if is_state('input_boolean.give_me_darkness','on') %}
{{ current != night }}
{% else %}
{{ current != day }}
{% endif %}
then: then:
- service: media_player.volume_set - service: media_player.volume_set
target: target:
entity_id: media_player.master_bedroom_echo_dot entity_id: media_player.master_bedroom_echo_dot
data: data:
volume_level: > volume_level: "{{ states('sensor.master_bedroom_echo_dot_volume') }}"
{% 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 %}
# Kallen Bedroom Speaker # Kallen Bedroom Speaker
- if: - if:
- condition: and - condition: and
@ -483,24 +494,14 @@ script:
- condition: template - condition: template
value_template: > value_template: >
{% set current = state_attr('media_player.kallen_bedroom_google_speaker','volume_level') | float %} {% set current = state_attr('media_player.kallen_bedroom_google_speaker','volume_level') | float %}
{% set night = states('input_number.kallen_bedroom_google_speaker_night_volume') | float %} {% set expected = states('sensor.kallen_bedroom_google_speaker_volume') | float %}
{% set day = states('input_number.kallen_bedroom_google_speaker_day_volume') | float %} {{ current != expected }}
{% if is_state('input_boolean.give_me_darkness','on') %}
{{ current != night }}
{% else %}
{{ current != day }}
{% endif %}
then: then:
- service: media_player.volume_set - service: media_player.volume_set
target: target:
entity_id: media_player.kallen_bedroom_google_speaker entity_id: media_player.kallen_bedroom_google_speaker
data: data:
volume_level: > volume_level: "{{ states('sensor.kallen_bedroom_google_speaker_volume') }}"
{% 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 %}
- service: media_player.volume_mute - service: media_player.volume_mute
target: target:
entity_id: media_player.kallen_bedroom_google_speaker entity_id: media_player.kallen_bedroom_google_speaker
@ -536,24 +537,14 @@ script:
- condition: template - condition: template
value_template: > value_template: >
{% set current = state_attr('media_player.emma_bedroom_google_speaker','volume_level') | float %} {% set current = state_attr('media_player.emma_bedroom_google_speaker','volume_level') | float %}
{% set night = states('input_number.emma_bedroom_google_speaker_night_volume') | float %} {% set expected = states('sensor.emma_bedroom_google_speaker_volume') | float %}
{% set day = states('input_number.emma_bedroom_google_speaker_day_volume') | float %} {{ current != expected }}
{% if is_state('input_boolean.give_me_darkness','on') %}
{{ current != night }}
{% else %}
{{ current != day }}
{% endif %}
then: then:
- service: media_player.volume_set - service: media_player.volume_set
target: target:
entity_id: media_player.emma_bedroom_google_speaker entity_id: media_player.emma_bedroom_google_speaker
data: data:
volume_level: > volume_level: "{{ states('sensor.kallen_bedroom_google_speaker_volume') }}"
{% 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 %}
- service: media_player.volume_mute - service: media_player.volume_mute
target: target:
entity_id: media_player.emma_bedroom_google_speaker entity_id: media_player.emma_bedroom_google_speaker
@ -1326,53 +1317,34 @@ script:
media_player.basement_google_speaker media_player.basement_google_speaker
{% endif %} {% endif %}
volume_level: >- volume_level: >-
{% set numbers_night = [ {% set numbers = [
states.input_number.emma_bedroom_google_speaker_night_volume.state, states.sensor.emma_bedroom_google_speaker_volume.state,
states.input_number.kallen_bedroom_google_speaker_night_volume.state states.sensor.kallen_bedroom_google_speaker_volume.state
] %} ] %}
{% set numbers_day = [ {% set kidsgroup = numbers | list | min | float %}
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'] %} {% if type in ['critical'] %}
1.0 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_google_speaker'] %}
{{ states('input_number.kallen_bedroom_google_speaker_night_volume') }}
{% elif who in ['emma_bedroom','media_player.emma_bedroom_google_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 %} {% else %}
{% if who in ['Everywhere','everywhere','kids_bedrooms','all_bedrooms'] %} {% 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') %} {% 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') }} {{ states('sensor.kallen_bedroom_google_speaker_volume') }}
{% elif is_state('input_boolean.kallen_sleeping','on') and is_state('input_boolean.emma_sleeping','off') %} {% 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') }} {{ states('sensor.emma_bedroom_google_speaker_volume') }}
{% else %} {% else %}
{{ kidsgroup_day }} {{ kidsgroup }}
{% endif %} {% endif %}
{% elif who in ['kallen_bedroom','media_player.kallen_bedroom_google_speaker'] %} {% elif who in ['kallen_bedroom','media_player.kallen_bedroom_google_speaker'] %}
{{ states('input_number.kallen_bedroom_google_speaker_day_volume') }} {{ states('sensor.kallen_bedroom_google_speaker_volume') }}
{% elif who in ['emma_bedroom','media_player.emma_bedroom_google_speaker'] %} {% elif who in ['emma_bedroom','media_player.emma_bedroom_google_speaker'] %}
{{ states('input_number.emma_bedroom_google_speaker_day_volume') }} {{ states('sensor.emma_bedroom_google_speaker_volume') }}
{% elif who in ['Basement Google','basement_google'] %} {% elif who in ['Basement Google','basement_google'] %}
{{ states('input_number.basement_google_speaker_day_volume') }} {{ states('sensor.basement_google_speaker_volume') }}
{% else %} {% else %}
0.6 {% if is_state('input_boolean.give_me_darkness','on') %}
0.3
{% else %}
0.6
{% endif %}
{% endif %} {% endif %}
{% endif %} {% endif %}
- service: tts.amazon_polly_say - service: tts.amazon_polly_say

View File

@ -714,14 +714,19 @@ script:
entity_id: input_select.scheduled_climate_mode_emma_bedroom entity_id: input_select.scheduled_climate_mode_emma_bedroom
data: data:
option: > option: >
{% if is_state('input_boolean.emma_bedroom_aircon_installed','on') %} {% set low = states('sensor.overnight_lowest_temperature') | int %}
{% if (states('sensor.overnight_lowest_temperature') | int) >= (states('input_number.emma_aircon_threshold') | int) %} {% set run_threshold = states('input_number.emma_bedroom_aircon_run_threshold') | int %}
{% set mode_threshold = states('input_number.emma_bedroom_aircon_mode_threshold') | int %}
{% if is_state('input_boolean.emma_bedroom_aircon_installed','off') %}
N/A
{% elif low >= run_threshold %}
{% if low >= mode_threshold %}
AC AC
{% else %} {% else %}
White Noise Fan
{% endif %} {% endif %}
{% else %} {% else %}
White Noise N/A
{% endif %} {% endif %}
- service: input_datetime.set_datetime - service: input_datetime.set_datetime
target: target:

View File

@ -1210,14 +1210,23 @@
min_mireds: 153 min_mireds: 153
max_mireds: 500 max_mireds: 500
effect_list: effect_list:
- None - 'off'
- candle - candle
- fire - fire
- prism - prism
- sparkle
- opal
- glisten
- underwater
- cosmos
- sunbeam
- enchant
- sunrise
- sunset
supported_color_modes: supported_color_modes:
- color_temp - color_temp
- xy - xy
effect: None effect: 'off'
color_mode: xy color_mode: xy
brightness: 179 brightness: 179
color_temp_kelvin: color_temp_kelvin:
@ -1244,14 +1253,23 @@
min_mireds: 153 min_mireds: 153
max_mireds: 500 max_mireds: 500
effect_list: effect_list:
- None - 'off'
- candle - candle
- fire - fire
- prism - prism
- sparkle
- opal
- glisten
- underwater
- cosmos
- sunbeam
- enchant
- sunrise
- sunset
supported_color_modes: supported_color_modes:
- color_temp - color_temp
- xy - xy
effect: None effect: 'off'
color_mode: xy color_mode: xy
brightness: 255 brightness: 255
color_temp_kelvin: color_temp_kelvin:
@ -1278,10 +1296,13 @@
min_mireds: 153 min_mireds: 153
max_mireds: 500 max_mireds: 500
effect_list: effect_list:
- None - 'off'
- candle - candle
- fire - fire
- prism - prism
- sparkle
- opal
- glisten
supported_color_modes: supported_color_modes:
- color_temp - color_temp
- xy - xy
@ -1342,14 +1363,23 @@
min_mireds: 153 min_mireds: 153
max_mireds: 500 max_mireds: 500
effect_list: effect_list:
- None - 'off'
- candle - candle
- fire - fire
- prism - prism
- sparkle
- opal
- glisten
- underwater
- cosmos
- sunbeam
- enchant
- sunrise
- sunset
supported_color_modes: supported_color_modes:
- color_temp - color_temp
- xy - xy
effect: None effect: 'off'
color_mode: xy color_mode: xy
brightness: 255 brightness: 255
color_temp_kelvin: color_temp_kelvin:
@ -1376,14 +1406,23 @@
min_mireds: 153 min_mireds: 153
max_mireds: 500 max_mireds: 500
effect_list: effect_list:
- None - 'off'
- candle - candle
- fire - fire
- prism - prism
- sparkle
- opal
- glisten
- underwater
- cosmos
- sunbeam
- enchant
- sunrise
- sunset
supported_color_modes: supported_color_modes:
- color_temp - color_temp
- xy - xy
effect: None effect: 'off'
color_mode: xy color_mode: xy
brightness: 255 brightness: 255
color_temp_kelvin: color_temp_kelvin:
@ -1441,14 +1480,17 @@
min_mireds: 153 min_mireds: 153
max_mireds: 500 max_mireds: 500
effect_list: effect_list:
- None - 'off'
- candle - candle
- fire - fire
- prism - prism
- sparkle
- opal
- glisten
supported_color_modes: supported_color_modes:
- color_temp - color_temp
- xy - xy
effect: None effect: 'off'
color_mode: xy color_mode: xy
brightness: 204 brightness: 204
color_temp_kelvin: color_temp_kelvin:

View File

@ -2481,25 +2481,26 @@ kallen_morning_meds:
kallen_night_meds: kallen_night_meds:
alias: Kallen Night Meds alias: Kallen Night Meds
sequence: sequence:
- service: counter.increment - alias: Increment night reminder counter
metadata: {} metadata: {}
data: {} data: {}
alias: Increment night reminder counter action: counter.increment
- service: script.text_notify target:
data: entity_id: counter.kallen_night_meds_reminder_count
- data:
type: alert type: alert
who: all who: all
message: clear_notification message: clear_notification
tag: kallen-night-meds tag: kallen-night-meds
alias: Clear previous night notification alias: Clear previous night notification
action: script.text_notify
- delay: - delay:
hours: 0 hours: 0
minutes: 0 minutes: 0
seconds: 5 seconds: 5
milliseconds: 0 milliseconds: 0
- parallel: - parallel:
- service: script.text_notify - data:
data:
who: "{% if states('person.christina_stork') in ['Bob Evans','BobEvans'] %}\n who: "{% if states('person.christina_stork') in ['Bob Evans','BobEvans'] %}\n
\ tony\n{% else %}\n parents\n{% endif %}\n" \ tony\n{% else %}\n parents\n{% endif %}\n"
type: alert type: alert
@ -2512,8 +2513,8 @@ kallen_night_meds:
- action: KALLEN_NIGHT_MEDS_SKIPPED - action: KALLEN_NIGHT_MEDS_SKIPPED
title: Skip title: Skip
alias: Send to parents alias: Send to parents
action: script.text_notify
- alias: Send to Kallen - alias: Send to Kallen
service: script.text_notify
data: data:
who: kallen who: kallen
type: alert type: alert
@ -2525,6 +2526,7 @@ kallen_night_meds:
title: Taken title: Taken
- action: KALLEN_NIGHT_MEDS_SKIPPED - action: KALLEN_NIGHT_MEDS_SKIPPED
title: Skip title: Skip
action: script.text_notify
alias: Send text notifications alias: Send text notifications
icon: mdi:medication icon: mdi:medication
mode: restart mode: restart