245 lines
7.4 KiB
YAML
245 lines
7.4 KiB
YAML
sensor:
|
||
- platform: template
|
||
sensors:
|
||
master_bedroom_current_temp:
|
||
friendly_name: "Master Bedroom Current Temp"
|
||
value_template: >
|
||
{{ state_attr('climate.master_bedroom_aircon','current_temperature') | float }}
|
||
master_bedroom_outdoor_temp:
|
||
friendly_name: "Master Bedroom Outdoor Temp"
|
||
value_template: >
|
||
{{ state_attr('climate.master_bedroom_aircon','outdoor_temperature') | float }}
|
||
master_bedroom_target_temp:
|
||
friendly_name: "Master Bedroom Target Temp"
|
||
value_template: >
|
||
{{ state_attr('climate.master_bedroom_aircon','temperature') | float }}
|
||
master_bedroom_aircon_eco_mode:
|
||
friendly_name: "Master Bedroom Eco Mode"
|
||
value_template: >-
|
||
{% if is_state_attr('climate.master_bedroom_aircon','preset_mode','eco') %}
|
||
On
|
||
{% elif is_state_attr('climate.master_bedroom_aircon','preset_mode','none') %}
|
||
Off
|
||
{% else %}
|
||
Off
|
||
{% endif %}
|
||
icon_template: >-
|
||
{% if is_state_attr('climate.master_bedroom_aircon','preset_mode','eco') %}
|
||
mdi:home-lightning-bolt
|
||
{% elif is_state_attr('climate.master_bedroom_aircon','preset_mode','none') %}
|
||
mdi:home-lightning-bolt-outline
|
||
{% else %}
|
||
mdi:home-lightning-bolt-outline
|
||
{% endif %}
|
||
master_bedroom_aircon_fan_mode:
|
||
friendly_name: "Master Bedroom Aircon Fan Mode"
|
||
value_template: >
|
||
{{ state_attr('climate.master_bedroom_aircon','fan_mode') }}
|
||
icon_template: >
|
||
{% if is_state_attr('climate.master_bedroom_aircon','fan_mode','Auto') %}
|
||
mdi:fan-auto
|
||
{% elif is_state_attr('climate.master_bedroom_aircon','fan_mode','Low') %}
|
||
mdi:fan-speed-1
|
||
{% elif is_state_attr('climate.master_bedroom_aircon','fan_mode','Medium') %}
|
||
mdi:fan-speed-2
|
||
{% elif is_state_attr('climate.master_bedroom_aircon','fan_mode','High') %}
|
||
mdi:fan-speed-3
|
||
{% else %}
|
||
mdi:fan-off
|
||
{% endif %}
|
||
|
||
input_boolean:
|
||
master_bedroom_nighttime_protocol:
|
||
name: Master Bedroom Nighttime Protocol
|
||
icon: mdi:lightbulb-night
|
||
kallen_bedtime_protocol:
|
||
name: Kallen Bedtime Protocol
|
||
icon: mdi:lightbulb-night
|
||
# Turn on when master bedroom air conditioner is installed, turn off in winter when we take it out, for smarter automations
|
||
master_bedroom_aircon_installed:
|
||
name: Master Bedroom Aircon Installed
|
||
icon: mdi:tools
|
||
# Same thing, but for the nursery air conditioner
|
||
nursery_aircon_installed:
|
||
name: Nursery Aircon Installed
|
||
icon: mdi:tools
|
||
# Used internally for automations to know if cooling time has passed or not
|
||
master_bedroom_cooling_on:
|
||
name: Master Bedroom Cooling On
|
||
|
||
input_select:
|
||
scheduled_climate_mode_master_bedroom_aircon:
|
||
name: Scheduled Climate Mode - Master Bedroom Aircon
|
||
options:
|
||
- AC
|
||
- Fan
|
||
- None
|
||
icon: mdi:home-thermometer
|
||
scheduled_climate_mode_master_bedroom_fan:
|
||
name: Scheduled Climate Mode - Master Bedroom Fan
|
||
options:
|
||
- Fan
|
||
- None
|
||
icon: mdi:home-thermometer
|
||
scheduled_climate_mode_nursery_aircon:
|
||
name: Scheduled Climate Mode - Nursery Aircon
|
||
options:
|
||
- AC
|
||
- White Noise
|
||
- None
|
||
icon: mdi:home-thermometer
|
||
scheduled_climate_mode_kallen_fan:
|
||
name: Scheduled Climate Mode - Kallen Fan
|
||
options:
|
||
- Fan
|
||
- White Noise
|
||
- None
|
||
icon: mdi:home-thermometer
|
||
|
||
input_number:
|
||
master_bedroom_daytime_temp:
|
||
name: Master Bedroom Daytime Temp
|
||
min: 65
|
||
max: 80
|
||
step: 1
|
||
unit_of_measurement: °F
|
||
icon: mdi:thermometer
|
||
master_bedroom_night_temp:
|
||
name: Master Bedroom Night Temp
|
||
min: 65
|
||
max: 80
|
||
step: 1
|
||
unit_of_measurement: °F
|
||
icon: mdi:thermometer
|
||
master_bedroom_bedtime_temp:
|
||
name: Master Bedroom Bedtime Temp
|
||
min: 65
|
||
max: 80
|
||
step: 1
|
||
unit_of_measurement: °F
|
||
icon: mdi:thermometer
|
||
master_bedroom_aircon_run_threshold:
|
||
name: Master Bedroom Aircon Run Threshold
|
||
min: 40
|
||
max: 70
|
||
step: 1
|
||
unit_of_measurement: °F
|
||
icon: mdi:thermometer
|
||
master_bedroom_aircon_mode_threshold:
|
||
name: Master Bedroom Aircon Mode Threshold
|
||
min: 40
|
||
max: 70
|
||
step: 1
|
||
unit_of_measurement: °F
|
||
icon: mdi:thermometer
|
||
master_bedroom_fan_threshold:
|
||
name: Master Bedroom Fan Threshold
|
||
min: 40
|
||
max: 70
|
||
step: 1
|
||
unit_of_measurement: °F
|
||
icon: mdi:thermometer
|
||
master_bedroom_daytime_threshold:
|
||
name: Master Bedroom Daytime Threshold
|
||
min: 60
|
||
max: 90
|
||
step: 1
|
||
unit_of_measurement: °F
|
||
icon: mdi:thermometer
|
||
nursery_aircon_threshold:
|
||
name: Nursery Aircon Threshold
|
||
min: 40
|
||
max: 70
|
||
step: 1
|
||
unit_of_measurement: °F
|
||
icon: mdi:thermometer
|
||
kallen_fan_threshold:
|
||
name: Kallen Fan Threshold
|
||
min: 40
|
||
max: 70
|
||
step: 1
|
||
unit_of_measurement: °F
|
||
icon: mdi:thermometer
|
||
|
||
automation:
|
||
- id: '1655415573165'
|
||
alias: Nursery Cooling
|
||
description: For keeping the baby’s room at a safe temperature
|
||
trigger:
|
||
- platform: time
|
||
at: input_datetime.nursery_cooling
|
||
condition:
|
||
- condition: state
|
||
entity_id: input_boolean.nursery_aircon_installed
|
||
state: 'on'
|
||
- condition: template
|
||
value_template: >
|
||
{% if states('sensor.tonights_low_temp') >= states('input_number.nursery_aircon_threshold') %}
|
||
true
|
||
{% else %}
|
||
false
|
||
{% endif %}
|
||
action:
|
||
- service: fan.turn_on
|
||
target:
|
||
entity_id: fan.nursery_air_conditioner
|
||
- service: script.text_notify
|
||
data:
|
||
who: "parents"
|
||
title: "Nursery Climate Schedule"
|
||
message: "The air conditioner in the nursery has been activated."
|
||
mode: restart
|
||
|
||
script:
|
||
master_bedroom_climate_scheduling:
|
||
sequence:
|
||
- service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.scheduled_climate_mode_master_bedroom_aircon
|
||
data:
|
||
option: >
|
||
{% if states('sensor.tonights_low_temp') >= states('input_number.master_bedroom_aircon_run_threshold') %}
|
||
{% if states('sensor.tonights_low_temp') >= states('input_number.master_bedroom_aircon_mode_threshold') %}
|
||
AC
|
||
{% else %}
|
||
Fan
|
||
{% endif %}
|
||
{% else %}
|
||
None
|
||
{% endif %}
|
||
- service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.scheduled_climate_mode_master_bedroom_fan
|
||
data:
|
||
option: >
|
||
{% if states('sensor.tonights_low_temp') >= states('input_number.master_bedroom_fan_threshold') %}
|
||
Fan
|
||
{% else %}
|
||
None
|
||
{% endif %}
|
||
|
||
nursery_climate_scheduling:
|
||
sequence:
|
||
- service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.scheduled_climate_mode_nursery_aircon
|
||
data:
|
||
option: >
|
||
{% if states('sensor.tonights_low_temp') >= states('input_number.nursery_aircon_threshold') %}
|
||
AC
|
||
{% else %}
|
||
White Noise
|
||
{% endif %}
|
||
|
||
kallen_fan_scheduling:
|
||
sequence:
|
||
- service: input_select.select_option
|
||
target:
|
||
entity_id: input_select.scheduled_climate_mode_kallen_fan
|
||
data:
|
||
option: >
|
||
{% if states('sensor.tonights_low_temp') >= states('input_number.kallen_fan_threshold') %}
|
||
Fan
|
||
{% else %}
|
||
White Noise
|
||
{% endif %} |