Я уже писал в предыдущих статьях о том, как сделал термостат для газового котла и о том, как реализовал выбор датчика, по которому контролирую температуру в квартире.
Теперь речь зайдет о сценариях управления этим термостатом для настройки комфортного климата.
Первая автоматизация переключает отопление в режим “Нет дома”, если жильцы покидают жилище. Выглядит это так:
# Переключить котёл в режим "Нет дома" (19 градусов) если никого нет дома
- alias: "Turn off heat when nobody at home"
initial_state: true
trigger:
- platform: state
entity_id: group.trackdevice
to: 'not_home'
for:
minutes: 3
condition:
- condition: state
entity_id: climate.gasboiler
state: 'heat'
- condition: template
value_template: "{{is_state_attr ('climate.gasboiler', 'preset_mode', 'none')}}"
action:
- service: climate.set_preset_mode
data:
entity_id: climate.gasboiler
preset_mode: 'away'
- service: automation.trigger # Отправить уведомление
entity_id: automation.notify_turn_off_heat_when_nobody_at_home
Также включение режима “Не дома” я назначил на “мастер-кнопку” в коридоре, которой выключается все освещение в квартире перед выходом из нее.
# Выключение отопления правой клавишей выключателя в коридоре
- alias: "Turn_off_heat_by_aqara_wall_switch"
initial_state: true
trigger:
- platform: state
entity_id: sensor.0x00158d0003433cdf_click
to: 'right'
condition:
- condition: state
entity_id: climate.gasboiler
state: 'heat'
- condition: template
value_template: "{{is_state_attr ('climate.gasboiler', 'preset_mode', 'none')}}"
action:
- service: climate.set_preset_mode
data:
entity_id: climate.gasboiler
preset_mode: 'away'
По возвращении домой котёл необходимо переключить в обычный режим отопления. Это делается следующей автоматизацией:
# Переключить котёл в обычный режим, если вернулись домой
- alias: "Turn on heat when anybody at home"
initial_state: true
trigger:
- platform: state
entity_id: group.trackdevice
from: 'not_home'
to: 'home'
condition:
- condition: state
entity_id: climate.gasboiler
state: 'heat'
action:
- service: climate.set_preset_mode
data:
entity_id: climate.gasboiler
preset_mode: 'none'
Через некоторое время я заметил еще один кейс, который не предусматривался умным домом. Если уйти из дома, выключить свет с отоплением, а в подъезде в этот момент возвращается жена, то технически никакого “Возвращения домой” может не произойти, так как информация о том, что я покинул дом могла еще не поступить на сервер, а жена уже пришла. Таким образом отопление не вернется в обычный режим работы. Для того, чтобы такого не произошло я добавил следующую автоматизацию:
# Переключить котёл в обычный режим если ненадолго уходили из дома
- alias: Turn on heat when I came home
initial_state: true
trigger:
- platform: state
entity_id: binary_sensor.0x00158d0004184c6c_contact
to: 'on'
from: 'off'
condition:
- condition: state
entity_id: binary_sensor.0x00158d0003f1ccc1_occupancy
state: 'off'
- condition: state
entity_id: group.trackdevice
state: 'home'
- condition: template
value_template: "{{is_state_attr ('climate.gasboiler', 'preset_mode', 'away')}}"
action:
- service: climate.set_preset_mode
data:
entity_id: climate.gasboiler
preset_mode: 'none'
При открытии двери снаружи (так как в коридоре нет движения) отопление перейдёт в нормальный температурный режим.
Кроме этого, был реализован ночной режим отопления. Мне комфортней спать в более прохладном помещении, поэтому опускаем целевую температуру на градус в определенное время.
# Включение ночного режима отопления
- alias: "Turn on night mode heat"
initial_state: true
trigger:
platform: time
at: "00:00:00"
condition:
- condition: state
entity_id: climate.gasboiler
state: 'heat'
- condition: template
value_template: "{{is_state_attr ('climate.gasboiler', 'prese_mode', 'none')}}"
action:
- service: climate.set_temperature
data:
entity_id: climate.gasboiler
temperature: 23
А также возвращаем температуру назад утром, в разное время, в зависимости от того будни это или выходные.
# Выключение ночного режима отопления
- alias: "Turn off night mode heat"
initial_state: true
trigger:
- platform: time
at: "06:00:00"
- platform: time
at: "09:00:00"
condition:
- condition: state
entity_id: climate.gasboiler
state: 'heat'
- condition: template
value_template: "{{is_state_attr ('climate.gasboiler', 'preset_mode', 'none')}}"
action:
- choose:
- conditions:
- condition: state
entity_id: binary_sensor.workday_sensor
state: 'on'
- condition: time
after: '05:59:00'
before: '06:01:00'
sequence:
- service: climate.set_temperature
data:
entity_id: climate.gasboiler
temperature: 24
- conditions:
- condition: state
entity_id: binary_sensor.workday_sensor
state: 'off'
- condition: time
after: '08:59:00'
before: '09:01:00'
sequence:
- service: climate.set_temperature
data:
entity_id: climate.gasboiler
temperature: 24
Автоматизации можно сделать еще более гибкими, некоторые наверняка можно объединить, а в местах, где жестко задается температура вставить какой-нибудь хитрый шаблон, но пока мне достаточно и этого :)
Подписывайтесь на мой канал и страницу в инстаграм @smart.home53, чтобы не пропустить новые статьи.
#умный дом #smart home #home assistant #отопление #климат #термостат #автоматизация #технологии #интернет вещей