Умный дом: собираем недогое управление отоплением

Хочу рассказать вам про свою реализацию умного дома на даче на момент 2020 года.

⚠️ Сразу дисклеймер: этот вариант подойдёт тем, кто хотя бы пару раз держал паяльник в руках, а так же имеет базовые знания в настройке unix-подобных систем и программировании. То есть такой гиковский вариант.

Если для вас это темный лес, то имеет смысл посмотреть на готовые системы от Эктоконтрола и аякса.

Одно из главных условий — автономность. Умный дом должен работать без интернета, потому что 4g не очень стабилен. Если у вас проводной провайдер, то может вполне подойти решение на базе Xiaomi или Tuya, которые работают через «облако».

Подготовка#

🎛️ Начнем с главного: центр управления умным домом. В моём случае это шлюз Xiaomi DGNWG05LM (он же ZHTZ02LM), перепрошитый в OpenWrt. Для перепрошивки вам и понадобится паяльник, чтобы подключиться к UART разъёму. А так же usb2uart контроллер. Шлюз можно (на момент написания статьи) выгодно купить в наборе с датчиками в DNS .

Перепрошивка#

Если очень коротко: припаиваем проводки к диагностическому разъему, подключаем их к UART2USB адаптеру и прошиваем девайс. Не забудьте про бекап.

Фото с сайта openlumi.github.io

Руководство по перепрошивке есть на сайте проекта openilumi , копипастить его не буду.

Настройка#

После перепрошивки я установил на шлюз Homeassistant — это система управления умным домом с открытым кодом. Гайд по установке всё там же на openlumi. Если что-то не понятно, то есть чат , где энтузиасты могут помочь.

Моя конфигурация#

Основная задача моего «умного дома» — поддержание нужной температуры. Для этого нужны датчики температуры и розетки.

🌡️ Один датчик есть в наборе. Так же я докупил Aqara MCCGQ11LM. Они работают по протоколу zigbee и без проблем подключаются к homeassistant через zigbee2mqtt.

🔌 Температуру мы знаем, давайте научимся ею управлять. Для этой цели я купил козетки BlitzWolf BW-SHP13. Они так же работают по zigbee, сохраняют своё состояние при отключении электричества и нормально работают с нагрузкой от конвекторов. Если будете повторять мой опыт прочитайте актуальные отзывы о розетках: натыкался на сообщения что производитель всё поменял и новые версии не такие надёжные.

В homeassistant я объединил розетки с датчиками в виртуальные термостаты. Теперь достаточно задать в конфиге температуру для режима отсутствия и когда вы дома. Для этого в configuration.yaml хоумассистанта нужно добавить примерно такую секцию:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
climate:
  - platform: generic_thermostat
    name: bedroom
    unique_id: thermostat_bedroom
    # в heater: указываем id розетки
    heater: switch.0xcc86ecfffe4eaf38
    # в target_sensor id сенсора с датчика температуры
    target_sensor: sensor.comfort_bedroom_temperature
    min_temp: 0
    max_temp: 25
    ac_mode: false
    target_temp: 22
    cold_tolerance: 0.3
    hot_tolerance: 0
    min_cycle_duration:
      seconds: 5
    keep_alive:
      minutes: 3
    initial_hvac_mode: "heat"
    away_temp: 16
    precision: 0.1

Зачем так сложно?#

Я выбрал такой вариант по двум причинам:

  • финансы: описанное решение на базе Эктоконтролла стоит больше 40000 руб. У меня получилось около 20000.
  • Спортивный интерес и достаточный опыт.

На этом всё, вопрос удалённого управления разберу в следующем посте.