Как я подключал датчики температуры к Home Assistant и они работают до сих пор
Зачем мне датчики температуры
У меня дома есть серверная комната — бывшая кладовка, где стоит стойка с оборудованием. Летом там адская духота, зимой холодно. Я хотел знать, какая там реально температура, чтобы вовремя включить вентиляцию.
Купил три датчика Aqara Temperature Sensor на AliExpress. Один — в серверную, второй — в комнату, третий — на улицу под козырёк. Каждый обошелся в районе 600 рублей. Подключаются по Zigbee.
Соединение с Home Assistant
У меня Home Assistant крутится на Raspberry Pi 4 в Docker. Для Zigbee понадобился координатор — я купил Conbee II (USB-стик). Подключил к Raspberry, установил дополнение Zigbee2MQTT — это прослойка, которая переводит Zigbee в MQTT, который уже читает Home Assistant.
Настройка заняла часа два, хотя я ожидал меньше. Главная проблема была — найти, где в Home Assistant настраивается MQTT. Оказалось, через configuration.yaml. Вбил:
mqtt:
broker: core-mosquitto
discovery: true
После этого датчики подхватились автоматически. Через Zigbee2MQTT я спарил каждый датчик: перевёл в режим сопряжения (три раза нажать кнопку на датчике), и он появился в списке устройств. Заняло по минуте на датчик.
Что я сделал с данными
Датчики шлют температуру и влажность раз в 10 минут. Батарейки пока не менял — работают уже 8 месяцев.
Я настроил Lovelace dashboard: три карточки с текущими показаниями. В серверной ещё вывел историю за день — видно, когда температура подскакивает (обычно вечером, когда сервер под нагрузкой).
Самое полезное — автоматизация: если температура в серверной поднимается выше 35 градусов, Home Assistant включает вытяжку через смарт-розетку. Если опускается ниже 28 — выключает. За лето ни разу не перегрелся.
Грабли
Датчик на улице глючил — показывал -5 когда на самом деле было +5. Оказалось, он лежал на бетоне, который ночью остывал быстрее воздуха. Пришлось придумать крепление, чтобы датчик висел в воздухе, а не касался стены.
Дальность Zigbee. Через бетонную стену сигнал еле пробивается. Пришлось поставить репитер (ещё один датчик Aqara в коридоре, который работает как маршрутизатор).
Разрядилась батарейка на одном датчике. Обычно они живут год, но на улице зимой проработал только 5 месяцев. Видимо, холод жрёт батарейки быстрее.
Как я выбирал датчики
Перед покупкой я перечитал кучу обзоров. Xiaomi Mijia — дёшево и сердито, но говорят калибровка плавает. Aqara — подороже, но точнее. Есть ещё Sonoff, но у них проблемы с Zigbee2MQTT. Выбрал Aqara — не пожалел. Разброс показаний между тремя датчиками в одной комнате — не больше 0.5 градуса. Для дома хватит за глаза.
Кстати, не покупайте датчики с экраном. Красиво, но батарейка садится за месяц. Берите обычные — они на CR2032 живут год.
Как я парковал датчики физически
В серверной приклеил датчик на двусторонний скотч к верхней полке стойки. Там самый горячий воздух. На улице — под козырёк крыльца, чтобы не мочило дождём, но чтобы воздух свободно обдувал. В комнате — просто на стене в коридоре.
Совет: не кладите датчик на металл — экранирует сигнал. Мой первый датчик в серверной лежал на железной полке — Zigbee его терял каждые два часа. Переклеил на пластиковый уголок — всё стабильно.
Датчики в Home Assistant — магия автоматизации
Когда данные пошли, я начал экспериментировать с автоматизациями. Самая прикольная: если на улице температура выше +25 и в серверной выше +30 — включить вытяжку и открыть окно через сервопривод. Пришлось докупить смарт-розетку Sonoff и сервопривод на окно. Всё завязано через MQTT.
Ещё сделал уведомление в Telegram: каждый час бот шлёт температуру в серверной. Если выше 38 — летит срочное сообщение с восклицательными знаками.
Когда Home Assistant грохнулся после обновления (было дело), автоматизации не работали три дня. Температура скакнула до 37 — я просто не заметил. Теперь у меня дублирование: cron скрипт на сервере опрашивает датчик напрямую через curl и шлёт в Telegram, если жарко. Надёжнее, чем одна точка отказа.
Цена вопроса
Три датчика Aqara — 1800 руб. Conbee II — 2500 руб. Смарт-розетка — 800 руб. Сервопривод — 1500 руб. Итого 6600 рублей за полный климат-контроль серверной. По сравнению с кондиционером за 25 тысяч — копейки. И никаких облачных подписок.
Сейчас я думаю добавить датчик протечки воды под стойку. Но это уже другая история.
Итог
Датчики Aqara + Home Assistant + Zigbee2MQTT — отличная связка. Дёшево, всё своё, не зависит от облаков. Раз в полгода проверить батарейки — и порядок.