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 %}