Skip to content

Instantly share code, notes, and snippets.

@pearj
Forked from r3mcos3/heating.yaml
Last active October 17, 2021 21:35
Show Gist options
  • Save pearj/4fbc79e80516f38442a166a68b6430a5 to your computer and use it in GitHub Desktop.
Save pearj/4fbc79e80516f38442a166a68b6430a5 to your computer and use it in GitHub Desktop.
Home Assistant Blueprint For Heating with Switch
blueprint:
name: Heating Control
description: Control your heating (with switch) with options for person home, if temp is below a specific value, set temp, and heating between specific times.
domain: automation
input:
heating:
name: Switch Device
description: The climate device to use.
selector:
entity:
domain: switch
temp_sensor:
name: Temperature Sensor
description: Temperature Sensor to check.
selector:
entity:
domain: sensor
device_class: temperature
person1:
name: Person 1
description: The first person that has to be home.
default: []
selector:
entity:
domain: person
person2:
name: Person 2
description: The second person that has to be home.
default: []
selector:
entity:
domain: person
min_temp:
name: Minimum Temp
description: If temperature is below this value and someone is home, It turns heating on.
default: 15
selector:
number:
min: 15
max: 25
step: 1
mode: slider
set_temp:
name: Temperature Target
description: If the heating turns on, It heats to this target temperature.
default: 20
selector:
number:
min: 15
max: 25
step: 1
mode: slider
time_after:
name: Time After
description: After this time the heating turns on, so it's warm in the morning
default: '07:30:00'
selector:
time:
time_before:
name: Time Before
description: After this time the heating turns off, This to prevent the heating is on in the middle of the night
default: '21:30:00'
selector:
time:
variables:
set_temp: !input set_temp
trigger:
- platform: homeassistant
event: start
- platform: event
event_type: automation_reloaded
- platform: time_pattern
minutes: /10
action:
- choose:
- conditions:
- condition: numeric_state
entity_id: !input 'temp_sensor'
below: !input min_temp
- condition: time
before: !input 'time_before'
after: !input 'time_after'
- condition: or
conditions:
- condition: state
entity_id: !input 'person1'
state: home
- condition: state
entity_id: !input 'person2'
state: home
sequence:
- service: switch.turn_on
data:
entity_id: !input 'heating'
default:
- service: switch.turn_off
data:
entity_id: !input 'heating'
mode: single
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment