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 %} availability_template: >- {% if is_state('input_boolean.master_bedroom_aircon_installed','on') %} true {% else %} false {% 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 Emma's bedroom air conditioner emma_bedroom_aircon_installed: name: Emma Bedroom 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 # Activated if the day will be excessively hot. For use with automations for daytime climate control. hot_day: name: Hot Day icon: mdi:heat-wave cold_day: name: Cold Day icon: mdi:snowflake input_select: scheduled_climate_mode_master_bedroom_aircon: name: Scheduled Climate Mode - Master Bedroom Aircon options: - AC - Fan - N/A icon: mdi:home-thermometer scheduled_climate_mode_master_bedroom_fan: name: Scheduled Climate Mode - Master Bedroom Fan options: - Fan - N/A icon: mdi:home-thermometer scheduled_climate_mode_emma_aircon: name: Scheduled Climate Mode - Emma Aircon options: - AC - White Noise - N/A icon: mdi:home-thermometer scheduled_climate_mode_kallen_fan: name: Scheduled Climate Mode - Kallen Fan options: - Fan - White Noise - N/A 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 emma_aircon_threshold: name: Emma 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 hot_day_threshold: name: Hot Day Threshold min: 70 max: 100 step: 1 unit_of_measurement: °F icon: mdi:thermometer heat_index_threshold: name: Heat Index Threshold min: 70 max: 100 step: 1 unit_of_measurement: °F icon: mdi:thermometer cold_day_threshold: name: Cold Day Threshold min: 0 max: 40 step: 1 unit_of_measurement: °F icon: mdi:thermometer overnight_low_threshold: name: Overnight Low Threshold min: -20 max: 20 step: 1 unit_of_measurement: °F icon: mdi:thermometer wind_chill_threshold: name: Wind Chill Threshold min: 0 max: 40 step: 1 unit_of_measurement: °F icon: mdi:thermometer automation: - id: '1655415573165' alias: Emma Bedroom Handling description: "For scheduled operations in Emma's bedroom" trigger: - platform: time at: input_datetime.emma_wakeup id: emma-wakeup - platform: time at: input_datetime.emma_bedtime id: emma-bedtime condition: - condition: state entity_id: input_boolean.vacation_mode state: 'off' action: - if: - condition: trigger id: emma-wakeup then: - service: script.emma_wakeup - if: - condition: trigger id: emma-bedtime then: - choose: - conditions: - condition: state entity_id: input_select.scheduled_climate_mode_emma_aircon state: AC sequence: - service: fan.turn_on target: entity_id: fan.emma_air_conditioner - service: script.text_notify data: who: "parents" title: "Emma Climate Schedule" message: "The air conditioner in Emma's Bedroom has been activated." - conditions: - condition: state entity_id: input_select.scheduled_climate_mode_emma_aircon state: White Noise sequence: - service: input_boolean.turn_on target: entity_id: input_boolean.white_noise_emma_bedroom - service: script.text_notify data: who: "parents" title: "Emma Climate Schedule" message: "White noise has been activated in Emma's Bedroom." default: - service: script.text_notify data: who: "parents" title: "Emma Climate Schedule" message: "No option selected for Emma's climate mode. No devices will be activated." mode: restart script: emma_wakeup: alias: "Emma Wakeup" mode: restart sequence: - choose: - conditions: - condition: state entity_id: binary_sensor.early_night_mode state: 'on' sequence: - service: input_select.select_option target: entity_id: input_select.emma_bedroom_scenes data: option: Nightlight - service: light.turn_on target: entity_id: light.hallway_overhead - delay: seconds: 2 - service: input_select.select_option target: entity_id: - input_select.upstairs_hallway_scenes - input_select.master_bedroom_scenes data: option: Adaptive - conditions: - condition: or conditions: - condition: state entity_id: binary_sensor.morning state: 'on' - condition: state entity_id: binary_sensor.late_morning state: 'on' sequence: - service: light.turn_on target: entity_id: light.emma_bedroom_light - service: input_select.select_option target: entity_id: input_select.emma_bedroom_scenes data: option: Adaptive - delay: minutes: 5 - service: input_boolean.turn_off target: entity_id: input_boolean.white_noise_emma_bedroom - if: - condition: template value_template: >- {% set ct = ((now().hour * 60 + now().minute) * 60 ) %} {% if is_state('input_boolean.hot_day','off') and ct < state_attr('input_datetime.emma_bedtime','timestamp') and ct >= state_attr('input_datetime.emma_wakeup','timestamp') %} true {% else %} false {% endif %} then: - service: fan.turn_off target: entity_id: fan.emma_air_conditioner