Skip to content
Permalink
master
Go to file
 
 
Cannot retrieve contributors at this time
executable file 1576 lines (1357 sloc) 40.9 KB
#################################################################
## Thermostat Automations
#################################################################
##########################################################
## Set Thermostat Home
##########################################################
- alias: Climate - Home
id: 'climate_home'
trigger:
- platform: state
entity_id: group.household
from: 'not_home'
to: 'home'
condition:
- condition: state
entity_id: input_boolean.disable_home_away
state: 'off'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: state
entity_id: group.household
state: 'home'
action:
- service: homeassistant.turn_off
entity_id: input_boolean.thermostat_away
- delay: '00:00:30'
- service: ecobee.set_fan_min_on_time
data:
entity_id: climate.main_floor
fan_min_on_time: '15'
##########################################################
## Set Thermostat Away
##########################################################
- alias: Climate - Away
id: 'climate_away'
trigger:
- platform: state
entity_id: group.household
from: 'home'
to: 'not_home'
for:
hours: 0
minutes: 30
seconds: 0
condition:
- condition: state
entity_id: input_boolean.disable_home_away
state: 'off'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: not
conditions:
- condition: state
entity_id: group.household
state: 'home'
- condition: not
conditions:
- condition: state
entity_id: group.friends_and_family
state: 'home'
action:
- service: notify.mobile_app_USER1s_iphone
data:
message: House has been empty for 30 mins, shutting Off HVAC
data:
apns_headers:
'apns-collapse-id': 'climate-away'
- service: homeassistant.turn_on
entity_id: input_boolean.thermostat_away
- delay: '00:00:30'
- service: ecobee.set_fan_min_on_time
data:
entity_id: climate.main_floor
fan_min_on_time: '0'
##########################################################
## Thermostat On Demand Home
##########################################################
- alias: Climate - On Demand Home
id: 'climate_on_demand_home'
trigger:
- platform: state
entity_id: input_boolean.thermostat_away
from: 'on'
to: 'off'
action:
- service: ecobee.resume_program
data:
entity_id: climate.main_floor
resume_all: true
##########################################################
## Thermostat On Demand Away
##########################################################
- alias: Climate - On Demand Away
id: 'climate_on_demand_away'
trigger:
- platform: state
entity_id: input_boolean.thermostat_away
from: 'off'
to: 'on'
action:
- service: climate.set_preset_mode
data:
entity_id: climate.main_floor
preset_mode: 'away'
##########################################################
## Turn Thermostat On Summer
##########################################################
- alias: Climate - Turn Thermostat On Summer
id: 'climate_turn_thermostat_on_summer'
trigger:
- platform: numeric_state
entity_id: sensor.REDACTED_temperature
above: 68
for:
hours: 0
minutes: 30
seconds: 0
condition:
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: state
entity_id: group.household
state: 'home'
- condition: numeric_state
entity_id: 'sensor.uptime'
above: 0.01
- condition: state
entity_id: input_boolean.thermostat_away
state: 'on'
- condition: state
entity_id: switch.summer_mode
state: 'on'
action:
- service: homeassistant.turn_off
entity_id: input_boolean.thermostat_away
- service: notify.mobile_app_USER1s_iphone
data:
message: Outside temp above 68 turning On AC
data:
apns_headers:
'apns-collapse-id': 'climate-summer'
##########################################################
## Turn Thermostat Off Summer
##########################################################
- alias: Climate - Turn Thermostat Off Summer
id: 'climate_turn_thermostat_off_summer'
trigger:
- platform: numeric_state
entity_id: sensor.REDACTED_temperature
below: 68
for:
hours: 0
minutes: 30
seconds: 0
condition:
- condition: state
entity_id: group.household
state: 'home'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: state
entity_id: input_boolean.thermostat_away
state: 'off'
- condition: numeric_state
entity_id: 'sensor.uptime'
above: 0.01
- condition: state
entity_id: switch.summer_mode
state: 'on'
- condition: not
conditions:
- condition: state
entity_id: group.friends_and_family
state: 'home'
action:
- service: homeassistant.turn_on
entity_id: input_boolean.thermostat_away
- service: notify.mobile_app_USER1s_iphone
data:
message: Outside temp below 68 shutting Off AC
data:
apns_headers:
'apns-collapse-id': 'climate-summer'
##########################################################
## Turn Thermostat On Winter
##########################################################
- alias: Climate - Turn Thermostat On Winter
id: 'climate_turn_thermostat_on_winter'
trigger:
- platform: numeric_state
entity_id: sensor.REDACTED_temperature
below: 65
for:
hours: 0
minutes: 30
seconds: 0
condition:
- condition: state
entity_id: group.household
state: 'home'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: numeric_state
entity_id: 'sensor.uptime'
above: 0.01
- condition: state
entity_id: input_boolean.thermostat_away
state: 'on'
- condition: state
entity_id: switch.winter_mode
state: 'on'
action:
- service: homeassistant.turn_off
entity_id: input_boolean.thermostat_away
- service: notify.mobile_app_USER1s_iphone
data:
message: Outside temp below 65 turning On Heat
data:
apns_headers:
'apns-collapse-id': 'climate-winter'
##########################################################
## Turn Thermostat Off Winter
##########################################################
- alias: Climate - Turn Thermostat Off Winter
id: 'climate_turn_thermostat_off_winter'
trigger:
- platform: numeric_state
entity_id: sensor.REDACTED_temperature
above: 65
for:
hours: 0
minutes: 30
seconds: 0
condition:
- condition: state
entity_id: group.household
state: 'home'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: numeric_state
entity_id: 'sensor.uptime'
above: 0.01
- condition: state
entity_id: input_boolean.thermostat_away
state: 'off'
- condition: state
entity_id: switch.winter_mode
state: 'on'
- condition: not
conditions:
- condition: state
entity_id: group.friends_and_family
state: 'home'
action:
- service: homeassistant.turn_on
entity_id: input_boolean.thermostat_away
- service: notify.mobile_app_USER1s_iphone
data:
message: Outside temp above 65 turning Off Heat
data:
apns_headers:
'apns-collapse-id': 'climate-winter'
##########################################################
## Turn Thermostat On Spring/Fall
##########################################################
- alias: Climate - Turn Thermostat On Spring/Fall
id: 'climate_turn_thermostat_on_spring_fall'
trigger:
- platform: numeric_state
entity_id: sensor.REDACTED_temperature
below: 65
for:
hours: 0
minutes: 30
seconds: 0
- platform: numeric_state
entity_id: sensor.REDACTED_temperature
above: 82
for:
hours: 0
minutes: 30
seconds: 0
condition:
- condition: state
entity_id: group.household
state: 'home'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: numeric_state
entity_id: 'sensor.uptime'
above: 0.01
- condition: state
entity_id: input_boolean.thermostat_away
state: 'on'
- condition: state
entity_id: switch.spring_fall_mode
state: 'on'
- condition: not
conditions:
- condition: state
entity_id: group.friends_and_family
state: 'home'
action:
- service: homeassistant.turn_off
entity_id: input_boolean.thermostat_away
- service: notify.mobile_app_USER1s_iphone
data:
message: Outside temp below 65 or above 78 turning On HVAC
data:
apns_headers:
'apns-collapse-id': 'climate-winter'
##########################################################
## Turn Thermostat Off Spring/Fall
##########################################################
- alias: Climate - Turn Thermostat Off Spring/Fall
id: 'climate_turn_thermostat_off_spring_fall'
trigger:
- platform: numeric_state
entity_id: sensor.REDACTED_temperature
above: 65
below: 75
for:
hours: 0
minutes: 30
seconds: 0
condition:
- condition: state
entity_id: group.household
state: 'home'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: numeric_state
entity_id: 'sensor.uptime'
above: 0.01
- condition: state
entity_id: input_boolean.thermostat_away
state: 'off'
- condition: state
entity_id: switch.spring_fall_mode
state: 'on'
action:
- service: homeassistant.turn_on
entity_id: input_boolean.thermostat_away
- service: notify.mobile_app_USER1s_iphone
data:
message: Outside temp above 65 or below 78 turning Off HVAC
data:
apns_headers:
'apns-collapse-id': 'climate-winter'
##########################################################
## Spring / Fall Mode HVAC Auto
##########################################################
- alias: Climate - Spring / Fall Mode HVAC Auto
id: 'climate_spring_fall_mode_hvac_auto'
trigger:
- platform: state
entity_id: switch.spring_fall_mode
to: 'on'
action:
- service: climate.set_hvac_mode
data:
entity_id: climate.main_floor
hvac_mode: 'heat_cool'
##########################################################
## Winter Mode On Turn On Heat
##########################################################
- alias: Climate - Winter Mode On Turn On Heat
id: 'climate_winter_mode_on_turn_on_heat'
trigger:
- platform: state
entity_id: switch.winter_mode
to: 'on'
action:
- service: climate.set_hvac_mode
data:
entity_id: climate.main_floor
hvac_mode: heat
##########################################################
## Summer Mode On Turn On Cool
##########################################################
- alias: Climate - Summer Mode On Turn On Cool
id: 'climate_summer_mode_on_turn_on_cool'
trigger:
- platform: state
entity_id: switch.summer_mode
to: 'on'
action:
- service: climate.set_hvac_mode
data:
entity_id: climate.main_floor
hvac_mode: cool
##########################################################
## Set Thermostat Home When USER2 Leaves Work
##########################################################
- alias: Climate - Set Climate Home When USER2 Leaves Work
id: 'climate_set_climate_home_when_USER2_leaves_work'
trigger:
- platform: state
entity_id: person.USER2
from: 'REDACTED'
to: 'not_home'
condition:
- condition: state
entity_id: input_boolean.disable_home_away
state: 'off'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: not
conditions:
- condition: state
entity_id: group.household
state: 'home'
action:
- service: homeassistant.turn_off
entity_id: input_boolean.thermostat_away
##########################################################
## Turn Off Thermostat when Door Opens for Extended Period
##########################################################
- alias: Climate - Turn Off when Door Opens for Extended Period
id: 'climate_turn_off_when_door_opens_for_extended_period'
trigger:
- platform: state
entity_id: group.doors
from: 'off'
to: 'on'
for:
hours: 0
minutes: 30
seconds: 0
condition:
- condition: state
entity_id: group.household
state: 'home'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: not
conditions:
- condition: state
entity_id: switch.winter_mode
state: 'on'
action:
- service: homeassistant.turn_on
entity_id: input_boolean.thermostat_away
- service: notify.mobile_app_USER1s_iphone
data:
message: Door has been left open, shutting Off AC
data:
apns_headers:
'apns-collapse-id': 'climate-door-open'
- service: notify.mobile_app_USER2_s_iphone
data:
message: Door has been left open, shutting Off AC
data:
apns_headers:
'apns-collapse-id': 'climate-door-open'
##########################################################
## Adjust Thermostat for Overnight Guests before Midnight
##########################################################
- alias: Climate - Turn On Guest Settings before Midnight
id: 'climate_turn_on_guest_settings_before_midnight'
trigger:
- platform: time
at: '23:31:00'
condition:
- condition: state
entity_id: input_boolean.guest_mode
state: 'on'
- condition: state
entity_id: input_boolean.thermostat_away
state: 'off'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: state
entity_id: group.household
state: 'home'
- condition: state
entity_id: group.overnight_guests
state: 'home'
action:
- service: climate.set_preset_mode
data:
entity_id: climate.main_floor
preset_mode: 'Guest'
##########################################################
## Adjust Thermostat for Overnight Guests after Midnight
##########################################################
- alias: Climate - Turn On Guest Settings after Midnight
id: 'climate_turn_on_guest_settings_after_midnight'
trigger:
- platform: state
entity_id: input_boolean.guest_mode
to: 'on'
condition:
- condition: time
after: '00:00:00'
before: '04:59:00'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: state
entity_id: group.overnight_guests
state: 'home'
- condition: state
entity_id: group.household
state: 'home'
action:
- service: climate.set_preset_mode
data:
entity_id: climate.main_floor
preset_mode: 'Guest'
##########################################################
## Set Thermostat Home if USER2 Working at 5a
##########################################################
- alias: Climate - Set Thermostat Home if USER2 Working at 5a
id: 'climate_set_thermostat_home_if_USER2_working_at_5a'
trigger:
- platform: time
at: '05:00:00'
condition:
- condition: state
entity_id: input_boolean.thermostat_away
state: 'off'
- condition: state
entity_id: group.household
state: 'home'
- condition: state
entity_id: switch.winter_mode
state: 'on'
- condition: state
entity_id: person.USER2
state: 'home'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
action:
- service: climate.set_temperature
data:
entity_id: climate.main_floor
temperature: 70
##########################################################
## Reset Thermostat when USER2 Leaves
##########################################################
- alias: Climate - Reset Thermostat when USER2 Leaves
id: 'climate_reset_thermostat_when_USER2_leaves'
trigger:
- platform: state
entity_id: person.USER2
from: 'home'
to: 'not_home'
condition:
- condition: time
after: '06:00:00'
before: '07:30:00'
- condition: state
entity_id: input_boolean.disable_home_away
state: 'off'
- condition: state
entity_id: input_boolean.thermostat_away
state: 'off'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
action:
- service: ecobee.resume_program
data:
entity_id: climate.main_floor
resume_all: true
##########################################################
## Reset Thermostat Mode After Selection
##########################################################
- alias: Climate - Reset Thermostat Mode After Selection
id: 'climate_reset_thermostat_mode_after_selection'
trigger:
- platform: state
entity_id: input_select.thermostat_mode
to: 'Clear Holds'
for:
hours: 0
minutes: 0
seconds: 30
- platform: state
entity_id: input_select.thermostat_mode
to: 'Home'
for:
hours: 0
minutes: 0
seconds: 30
- platform: state
entity_id: input_select.thermostat_mode
to: 'Away'
for:
hours: 0
minutes: 0
seconds: 30
- platform: state
entity_id: input_select.thermostat_mode
to: 'Sleep'
for:
hours: 0
minutes: 0
seconds: 30
- platform: state
entity_id: input_select.thermostat_mode
to: 'Upstairs'
for:
hours: 0
minutes: 0
seconds: 30
- platform: state
entity_id: input_select.thermostat_mode
to: 'Guest'
for:
hours: 0
minutes: 0
seconds: 30
- platform: state
entity_id: input_select.thermostat_mode
to: 'Fireplace'
for:
hours: 0
minutes: 0
seconds: 30
action:
- service: input_select.select_option
data:
entity_id: input_select.thermostat_mode
option: 'None'
##########################################################
## Adjust Thermostat to Upstairs Mode at Noon when Hot
##########################################################
- alias: Climate - Adjust Thermostat to Upstairs Mode at Noon when Hot
id: 'climate_adjust_thermostat_to_upstairs_mode_at_noon_when_hot'
trigger:
- platform: time
at: '12:00:00'
condition:
- condition: state
entity_id: input_boolean.thermostat_away
state: 'off'
- condition: state
entity_id: switch.summer_mode
state: 'on'
- condition: numeric_state
entity_id: sensor.REDACTED_temperature
above: 79
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: state
entity_id: person.USER1
state: 'home'
- condition: state
entity_id: group.household
state: 'home'
action:
- service: climate.set_preset_mode
data:
entity_id: climate.main_floor
preset_mode: 'Upstairs'
##########################################################
## Adjust Thermostat to Upstairs Mode when Hot Between 12-7
##########################################################
- alias: Climate - Adjust Thermostat to Upstairs Mode when Hot Between 12-7
id: 'climate_adjust_thermostat_to_upstairs_mode_when_hot_between_12_7'
trigger:
- platform: numeric_state
entity_id: sensor.REDACTED_temperature
above: 80
for:
hours: 0
minutes: 30
seconds: 0
condition:
- condition: state
entity_id: input_boolean.thermostat_away
state: 'off'
- condition: state
entity_id: switch.summer_mode
state: 'on'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: time
after: '12:00:00'
before: '19:00:00'
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: state
entity_id: person.USER1
state: 'home'
- condition: state
entity_id: group.household
state: 'home'
action:
- service: climate.set_preset_mode
data:
entity_id: climate.main_floor
preset_mode: 'Upstairs'
##########################################################
## Reset Thermostat at 10p if On Upstairs Mode
##########################################################
- alias: Climate - Reset Thermostat at 10p if On Upstairs Mode
id: 'climate_reset_thermostat_at_10p_if_on_upstairs_mode'
trigger:
- platform: time
at: '22:00:00'
condition:
- condition: state
entity_id: person.USER1
state: 'home'
- condition: state
entity_id: input_boolean.thermostat_away
state: 'off'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: state
entity_id: sensor.thermostat_climate_mode
state: 'Upstairs'
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: not
conditions:
- condition: state
entity_id: group.friends_and_family
state: 'home'
action:
- service: ecobee.resume_program
data:
entity_id: climate.main_floor
resume_all: true
##########################################################
## Lower Temperature when Guests Visiting
##########################################################
- alias: Climate - Lower Temperature when Guests Visiting
id: 'climate_lower_temerature_when_guest_visiting'
trigger:
- platform: state
entity_id: group.friends_and_family
from: 'not_home'
to: 'home'
for:
hours: 0
minutes: 30
seconds: 0
condition:
- condition: time
after: '09:00:00'
before: '23:30:00'
- condition: state
entity_id: input_boolean.thermostat_away
state: 'off'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: state
entity_id: group.household
state: 'home'
- condition: state
entity_id: switch.summer_mode
state: 'on'
- condition: state
entity_id: sensor.thermostat_climate_mode
state: 'Home'
action:
- service: climate.set_temperature
data:
entity_id: climate.main_floor
temperature: 73
##########################################################
## Reset Temperature when Guests Leaves
##########################################################
- alias: Climate - Reset Temperature when Guests Leaves
id: 'climate_reset_temperature_when_guest_leaves'
trigger:
- platform: state
entity_id: group.friends_and_family
from: 'home'
to: 'not_home'
for:
hours: 0
minutes: 30
seconds: 0
condition:
- condition: time
after: '09:00:00'
before: '23:30:00'
- condition: state
entity_id: input_boolean.thermostat_away
state: 'off'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: state
entity_id: group.household
state: 'home'
- condition: state
entity_id: sensor.thermostat_climate_mode
state: 'Temperature Hold'
- condition: state
entity_id: switch.summer_mode
state: 'on'
action:
- service: ecobee.resume_program
data:
entity_id: climate.main_floor
resume_all: true
#################################################################
## Fireplace
#################################################################
#################################################################
## Adjust Thermostat if Fireplace On
#################################################################
- alias: Climate - Adjust Thermostat if Fireplace On
id: 'climate_adjust_thermostat_if_fireplace_on'
trigger:
- platform: state
entity_id: switch.fireplace
from: 'off'
to: 'on'
for:
hours: 0
minutes: 15
seconds: 0
condition:
- condition: state
entity_id: switch.winter_mode
state: 'on'
- condition: state
entity_id: group.household
state: 'home'
- condition: state
entity_id: input_boolean.thermostat_away
state: 'off'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
action:
- service: climate.set_preset_mode
data:
entity_id: climate.main_floor
preset_mode: 'Fireplace'
#################################################################
## Reset Thermostat when Fireplace Off
#################################################################
- alias: Climate - Reset Thermostat when Fireplace Off
id: 'climate_reset_thermostat_when_fireplace_off'
trigger:
- platform: state
entity_id: switch.fireplace
from: 'on'
to: 'off'
for:
hours: 0
minutes: 30
seconds: 0
condition:
- condition: state
entity_id: switch.winter_mode
state: 'on'
- condition: state
entity_id: group.household
state: 'home'
- condition: state
entity_id: input_boolean.thermostat_away
state: 'off'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
action:
- service: ecobee.resume_program
data:
entity_id: climate.main_floor
resume_all: true
#################################################################
## Fireplace Warning iOS Notification
#################################################################
- alias: Climate - Fireplace On when Nobody Home iOS Notification
id: 'climate_fireplace_on_when_nobody_home_ios_notification'
trigger:
- platform: state
entity_id: switch.fireplace
from: 'off'
to: 'on'
condition:
- condition: state
entity_id: input_boolean.disable_notifications
state: 'off'
- condition: not
conditions:
- condition: state
entity_id: group.household
state: 'home'
action:
- service: notify.mobile_app_USER1s_iphone
data:
message: Fireplace Turned On!
data:
apns_headers:
'apns-collapse-id': 'fireplace'
push:
badge: 0
category: "fireplace"
#################################################################
## Fireplace On for 4 Hours iOS Notification
#################################################################
- alias: Climate - Fireplace On for 4 Hours iOS Notification
id: 'climate_fireplace_on_for_4_hours_ios_notification'
trigger:
- platform: state
entity_id: switch.fireplace
from: 'off'
to: 'on'
for:
hours: 4
minutes: 0
seconds: 0
condition:
- condition: state
entity_id: group.household
state: 'home'
- condition: state
entity_id: input_boolean.disable_notifications
state: 'off'
action:
- service: notify.mobile_app_USER1s_iphone
data:
message: Fireplace has been On for 4 Hours
data:
apns_headers:
'apns-collapse-id': 'fireplace'
push:
badge: 0
category: "fireplace"
- service: notify.mobile_app_USER2_s_iphone
data:
message: Fireplace has been On for 4 Hours
data:
apns_headers:
'apns-collapse-id': 'fireplace'
push:
badge: 0
category: "fireplace"
#################################################################
## Fireplace On Pico Remote
#################################################################
- alias: Climate - Fireplace On Pico Remote
id: 'climate_fireplace_on_pico_remote'
trigger:
- platform: state
entity_id: sensor.living_room_light_remote
to: '2'
condition:
- condition: state
entity_id: switch.fireplace
state: 'off'
action:
- service: switch.turn_on
entity_id:
- switch.fireplace
- delay:
seconds: 30
#################################################################
## Fireplace Off Pico Remote
#################################################################
- alias: Climate - Fireplace Off Pico Remote
id: 'climate_fireplace_off_pico_remote'
trigger:
- platform: state
entity_id: sensor.living_room_light_remote
to: '2'
condition:
- condition: state
entity_id: switch.fireplace
state: 'on'
action:
- service: switch.turn_off
entity_id:
- switch.fireplace
- delay:
seconds: 30
#################################################################
## Office Fan / Heater / Air Purifier
#################################################################
##########################################################
## Turn On Office Fan Heat when Cold Outside
##########################################################
- alias: Climate - Turn On Office Fan Heat when Cold Outside
id: 'climate_turn_on_office_fan_heat_when_cold_outside'
trigger:
- platform: numeric_state
entity_id: sensor.REDACTED_temperature
below: 20
for:
hours: 0
minutes: 30
seconds: 0
condition:
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: state
entity_id: switch.winter_mode
state: 'on'
- condition: state
entity_id: person.USER1
state: 'home'
- condition: state
entity_id: binary_sensor.office_occupancy
state: 'on'
- condition: state
entity_id: sensor.office_fan_auto_mode
state: 'True'
- condition: state
entity_id: sensor.office_fan_oscillating_mode
state: 'True'
action:
- service: fan.turn_on
entity_id:
- fan.office_fan
data:
speed: 'AUTO'
- delay: '00:00:01'
- service: climate.set_temperature
data:
entity_id: climate.office_fan
temperature: 74
hvac_mode: heat
- delay: '00:00:01'
- service: fan.oscillate
data:
entity_id: fan.office_fan
oscillating: 'true'
##########################################################
## Turn Off Office Fan Heat when warmer Outside
##########################################################
- alias: Climate - Turn Off Office Fan Heat when warmer Outside
id: 'climate_turn_off_office_fan_heat_when_warmer_outside'
trigger:
- platform: numeric_state
entity_id: sensor.REDACTED_temperature
above: 20
for:
hours: 0
minutes: 30
seconds: 0
condition:
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: state
entity_id: switch.winter_mode
state: 'on'
- condition: state
entity_id: person.USER1
state: 'home'
- condition: state
entity_id: binary_sensor.office_occupancy
state: 'on'
- condition: state
entity_id: sensor.office_fan_auto_mode
state: 'True'
- condition: state
entity_id: sensor.office_fan_oscillating_mode
state: 'True'
action:
- service: fan.turn_on
entity_id:
- fan.office_fan
data:
speed: 'AUTO'
- delay: '00:00:01'
- service: climate.set_hvac_mode
data:
entity_id: climate.office_fan
hvac_mode: cool
- delay: '00:00:01'
- service: fan.oscillate
data:
entity_id: fan.office_fan
oscillating: 'true'
#################################################################
## Basement Heater
#################################################################
##########################################################
## Turn On Basement Heater when Motion Detected
##########################################################
- alias: Climate - Turn On Basement Heater when Motion Detected
id: 'climate_turn_on_basement_heater_when_motion_detected'
trigger:
- platform: state
entity_id: binary_sensor.basement_motion
from: 'off'
to: 'on'
condition:
- condition: state
entity_id: group.household
state: 'home'
- condition: state
entity_id: switch.winter_mode
state: 'on'
- condition: state
entity_id: switch.basement_heater
state: 'off'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: numeric_state
entity_id: sensor.basement_temperature
below: 65
- condition: state
entity_id: input_boolean.thermostat_away
state: 'off'
action:
- service: switch.turn_on
entity_id: switch.basement_heater
##########################################################
## Turn Off Basement Heater when no Motion
##########################################################
- alias: Climate - Turn Off Basement Heater when no Motion
id: 'climate_turn_off_basement_heater_when_no_motion'
trigger:
- platform: state
entity_id: binary_sensor.basement_motion
from: 'on'
to: 'off'
for:
hours: 0
minutes: 30
seconds: 0
condition:
- condition: state
entity_id: group.household
state: 'home'
- condition: state
entity_id: switch.basement_heater
state: 'on'
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
action:
- service: switch.turn_off
entity_id: switch.basement_heater
##########################################################
## Turn Off Basement Heater when Warm
##########################################################
- alias: Climate - Turn Off Basement Heater when Warm
id: 'climate_turn_off_basement_heater_when_warm'
trigger:
- platform: numeric_state
entity_id: sensor.basement_temperature
above: 68
condition:
- condition: state
entity_id: input_boolean.disable_climate
state: 'off'
- condition: state
entity_id: switch.basement_heater
state: 'on'
action:
- service: switch.turn_off
entity_id: switch.basement_heater
#################################################################
## Input Booleans, Input Selects, and UI
#################################################################
##########################################################
## Clear Thermostat Hold Modes Manually
##########################################################
- alias: Climate - Clear Thermostat Hold Mode Manually
id: 'climate_clear_thermostat_hold_manually'
trigger:
- platform: state
entity_id: input_select.thermostat_mode
to: "Clear Holds"
action:
- service: ecobee.resume_program
data:
entity_id: climate.main_floor
resume_all: true
- service: homeassistant.turn_off
entity_id: input_boolean.thermostat_away
##########################################################
## Set Home Mode Manually
##########################################################
- alias: Climate - Set Home Mode Manually
id: 'climate_set_home_mode_manually'
trigger:
- platform: state
entity_id: input_select.thermostat_mode
to: 'Home'
action:
- service: climate.set_preset_mode
data:
entity_id: climate.main_floor
preset_mode: 'home'
- service: homeassistant.turn_off
entity_id: input_boolean.thermostat_away
##########################################################
## Set Away Mode
##########################################################
- alias: Climate - Set Away Mode Manually
id: 'climate_set_away_mode_manually'
trigger:
- platform: state
entity_id: input_select.thermostat_mode
to: 'Away'
action:
- service: homeassistant.turn_on
entity_id: input_boolean.thermostat_away
##########################################################
## Set Sleep Mode Manually
##########################################################
- alias: Climate - Set Sleep Mode Manually
id: 'climate_set_sleep_mode_manually'
trigger:
- platform: state
entity_id: input_select.thermostat_mode
to: 'Sleep'
action:
- service: climate.set_preset_mode
data:
entity_id: climate.main_floor
preset_mode: 'sleep'
- service: homeassistant.turn_off
entity_id: input_boolean.thermostat_away
##########################################################
## Set Upstairs Mode Manually
##########################################################
- alias: Climate - Set Upstairs Mode Manually
id: 'climate_set_upstairs_mode_manually'
trigger:
- platform: state
entity_id: input_select.thermostat_mode
to: 'Upstairs'
action:
- service: climate.set_preset_mode
data:
entity_id: climate.main_floor
preset_mode: 'Upstairs'
- service: homeassistant.turn_off
entity_id: input_boolean.thermostat_away
##########################################################
## Set Guest Mode Manually
##########################################################
- alias: Climate - Set Guest Mode Manually
id: 'climate_set_guest_mode_manually'
trigger:
- platform: state
entity_id: input_select.thermostat_mode
to: 'Guest'
action:
- service: climate.set_preset_mode
data:
entity_id: climate.main_floor
preset_mode: 'Guest'
- service: homeassistant.turn_off
entity_id: input_boolean.thermostat_away
##########################################################
## Set Fireplace Mode Manually
##########################################################
- alias: Climate - Set Fireplace Mode Manually
id: 'climate_set_fireplace_mode_manually'
trigger:
- platform: state
entity_id: input_select.thermostat_mode
to: 'Fireplace'
action:
- service: climate.set_preset_mode
data:
entity_id: climate.main_floor
preset_mode: 'Fireplace'
- service: homeassistant.turn_off
entity_id: input_boolean.thermostat_away
##########################################################
## Summer Mode On Everything Else Off
##########################################################
- alias: Climate - Summer Mode On Everything Else Off
id: 'climate_summer_mode_on_everything_else_off'
trigger:
- platform: state
entity_id: switch.summer_mode
to: 'on'
action:
- service: homeassistant.turn_off
entity_id:
- switch.winter_mode
- switch.spring_fall_mode
##########################################################
## Winter Mode On Everything Else Off
##########################################################
- alias: Climate - Winter Mode On Everything Else Off
id: 'climate_winter_mode_on_everything_else_off'
trigger:
- platform: state
entity_id: switch.winter_mode
to: 'on'
action:
- service: homeassistant.turn_off
entity_id:
- switch.summer_mode
- switch.spring_fall_mode
##########################################################
## Spring / Fall Mode On Everything Else Off
##########################################################
- alias: Climate - Spring / Fall Mode On Everything Else Off
id: 'climate_spring_fall_mode_on_everything_else_off'
trigger:
- platform: state
entity_id: switch.spring_fall_mode
to: 'on'
action:
- service: homeassistant.turn_off
entity_id:
- switch.winter_mode
- switch.summer_mode
You can’t perform that action at this time.