mysurik.ru

Как я запустил Home Assistant в Proxmox и пожалел, что не сделал этого раньше

Год назад я купил умную лампочку Xiaomi, подключил через родное приложение и подумал: «А почему у меня в телефоне 7 приложений для трёх устройств?» Лампочка — через Mi Home, розетка — через Tuya, датчик температуры — через Aqara. Я хотел, чтобы всё работало вместе, но в реальности открывал по очереди три приложения и щёлкал как обезьянка. Знакомая ситуация? Если вы купили хотя бы два умных устройства от разных брендов — вы уже в этом аду.

Тогда я вспомнил про Home Assistant. Слышал о нём давно, но думал, что это для гиков с паяльником, которые собирают датчики протечки из конструктора «Знаток». Оказалось, достаточно сервера, терпения и пары вечеров. Сейчас я не представляю, как жил без него. Всё автоматизировано, всё в одном месте, и даже жена перестала ругаться на «эти твои лампочки».

Почему я не ставил Home Assistant раньше

Я боялся сложности. В интернете пишут про YAML-конфиги, про автоматизации на Python, про «супервизор» и «core». Я читал и думал: «Я админ, а не программист умных домов». Плюс я читал истории, что Home Assistant может «съесть» всю память на SD-карте, если поставить на Raspberry Pi. У меня было оправдание — у меня сервер, а не малинка, но всё равно страшно.

Но потом наступил момент, когда я сидел вечером с телефоном и включал свет через три разных приложения. Психонул и решил: ставлю. У меня уже стоял Proxmox на HP ProLiant с запасом по ресурсам, поэтому я решил не мудрить — поднял LXC-контейнер с Ubuntu и установил Home Assistant Core через pip. Спойлер: это был не самый лучший путь, но я расскажу почему.

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

Я зашёл в веб-интерфейс Proxmox, нажал «Create CT», выбрал шаблон Ubuntu 22.04, дал контейнеру 2 ядра и 2 ГБ памяти. Установил Home Assistant по официальной инструкции — набрал пару команд в консоли, подождал минут 10. Запустил — работает! Захожу по IP:8123 — пустая панель с надписью «Nothing yet».

Первая проблема — я не мог найти свои устройства. Оказывается, Home Assistant не умеет сам сканировать сеть в поисках умных лампочек. Нужно добавлять интеграции вручную. Зашёл в Configuration → Integrations, а там список из 2000+ штук. Я ожидал, что будет магия — нажал кнопку и всё подхватилось. А пришлось вручную добавлять MiCloud, Tuya, Aqara. Каждая интеграция требует свой API-ключ, свой токен, свою процедуру авторизации. На MiCloud ушло 10 минут, на Tuya — час (потому что пришлось регистрироваться в IoT-платформе Tuya и создавать OAuth-приложение), на Aqara — 5 минут через QR-код на коробке координатора.

Вторая проблема — после перезагрузки контейнера Home Assistant не стартовал. Я забыл добавить systemd-сервис. Ещё 30 минут гугления. Потом оказалось, что я поставил не ту версию Python — Home Assistant требовал 3.10, а в репозиториях Ubuntu была 3.8. Пришлось ставить через deadsnakes PPA. В общем, часов 5 я убил на то, что можно было сделать за 30 минут с готовым образом.

Переезд на Home Assistant Supervised

Через неделю мучений я понял, что Core-версия — это как велосипед без колёс. Нет магазина аддонов, нет бэкапов через веб-интерфейс, каждое обновление через pip. Я переустановил всё как Supervised — и это уже полноценная система с магазином аддонов. Разница как между «просто Linux без GUI» и «Windows с нормальным рабочим столом». В Supervised версии есть Supervisor — панель управления, где можно ставить аддоны одной кнопкой, делать бэкапы и смотреть логи.

Самые полезные аддоны, которые я поставил в первую очередь:

  • File Editor — править YAML-конфиги прямо из браузера, не лазить по SSH
  • Samba — расшарить файлы для Windows, удобно перекидывать бэкапы на NAS
  • Mosquitto broker — MQTT-брокер, без него датчики не работают
  • Check Home Assistant configuration — проверяет YAML на ошибки перед перезагрузкой, сэкономил мне кучу нервов
  • Nginx Proxy Manager — завернул HA в HTTPS и повесил на свой домен, чтобы пускать с улицы
  • ESPHome — прошивка своих датчиков на ESP8266, лучший аддон для самодельщиков
  • Google Drive Backup — автоматом шлёт бэкап в Google Диск раз в сутки

После установки Supervisor я сделал снапшот всей виртуалки в Proxmox — и вздохнул спокойно. Теперь перед любыми экспериментами я просто откатываюсь к рабочему состоянию за 10 секунд. Это главный плюс запуска HA в виртуализации — ты не боишься что-то сломать.

Автоматизации, которые упростили жизнь

Через месяц экспериментов у меня заработало несколько реально полезных сценариев. Свет в коридоре включается по датчику движения, но только с 18:00 до 23:00 — днём незачем жечь электричество просто так. Если никого нет дома больше часа — розетки с телевизором и компьютером отключаются полностью (электрики это называют «режим вампира», и он реально жрёт ватты). Температура в серверной: если выше 35°C — я получаю Telegram-уведомление и иду проверять вентиляторы. Утром по будням в 7:00 запускается сценарий «Пробуждение»: шторы открываются через сервопривод Xiaomi, кофеварка включается через умную розетку, на телефоне показывает погоду и курс доллара.

Самое крутое — Telegram-бот. Я написал простую автоматизацию через Telegram-интеграцию: когда пишу боту «Выключи всё» — Home Assistant выключает свет по всей квартире, отключает розетки с телевизором и компьютером и ставит сигнализацию Aqara в режим охраны. Жена сначала смеялась: «Ты будешь телеграмом свет выключать?» — а потом привыкла и теперь сама пишет боту, когда уходит из дома. Победил скепсис жены — считаю это главным достижением проекта.

Что пошло не так

Не обошлось без граблей. Опишу самые запоминашиеся, чтобы вы не наступили.

  • Обновления. Home Assistant выходит раз в месяц, и апдейты не всегда гладкие. Один раз после обновления перестали работать Zigbee-датчики — оказалось, что обновился ZHA-компонент и сломал совместимость. Пришлось откатывать снапшот. Теперь я жду неделю перед обновлением — читаю форум Home Assistant Community, смотрю, у кого что сломалось, и только потом обновляюсь.
  • Zigbee2MQTT. Я купил USB-координатор Conbee II за 2500 рублей, подключил к серверу через USB в HP ProLiant, а в LXC-контейнер пробросил через USB-passthrough в Proxmox. Три дня настраивал, потому что права на устройство в LXC не пробрасывались нормально — контейнер не видел USB. Решение — использовать привилегированный контейнер. Но это компромисс по безопасности: привилегированный контейнер имеет больше доступа к хосту.
  • Жена и отказы. Когда я сказал «теперь свет управляется через сервер», она спросила: «А если сервер упадёт?» Я ответил: «Тогда и Wi-Fi не будет, так что без разницы». Шутка, но в ней есть доля правды — умный дом привязан к серверу, и если он ляжет, вы останетесь с обычными выключателями. Учтите это.
  • Датчики на батарейках. Они отваливаются раз в пару месяцев. Не потому что батарейка села — просто теряют соединение с Zigbee-координатором. Приходится перезагружать Conbee через веб-интерфейс. Я автоматизировал перезагрузку раз в неделю по расписанию — проблема почти ушла.
  • Температура в серверной. Когда я ставил Home Assistant, не учёл, что сам ProLiant греется как печка. Летом в серверной под 40 градусов, и HA начинал тормозить. Решил добавлением вентилятора через ESP8266 и автоматизацией включения по температуре.

Плагины и аддоны, которые я использую каждый день

После того как базовая система стабилизировалась, я начал углубляться в аддоны. Поставил Node-RED для сложных автоматизаций — там я сделал сценарий «Умное отопление», который смотрит температуру на улице через OpenWeatherMap и регулирует котёл по расписанию. Зимой это реально экономит газ — котёл не гоняет тепло впустую, если дома никого нет.

Ещё поставил ESPHome — это просто бомба. Купил на AliExpress ESP8266 за 150 рублей, датчик DHT22 за 200, спаял на коленке за 10 минут, прошил через ESPHome одной кнопкой — и датчик начал слать температуру и влажность в Home Assistant по Wi-Fi. Батарейки не нужны — питается от USB-зарядки. Таких датчиков я наделал штук 5: в серверной, в спальне, на балконе, в подвале, в детской.

Очень полезная штука — интеграция с Яндекс.Алисой. Жена попросила: «Сделай, чтобы можно было голосом свет включать». Я поставил Яндекс.Диалоги, настроил навык, привязал к Home Assistant через Cloud-интеграцию — и теперь она говорит «Алиса, выключи свет на кухне» — и HA это отрабатывает. Выглядит как магия для гостей, хотя на деле это просто MQTT-команды, преобразованные в вызовы сервисов.

Ещё одна вещь, которой я горжусь — дашборды. Я нарисовал план квартиры в Figma (потратил вечер, разбирался с инструментом), сохранил как SVG, загрузил в HA как picture-elements card. Теперь на планшете в прихожей висит интерактивная карта: нажал на лампу в гостиной — свет включился, нажал на розетку — отключилась. Жена сначала крутила пальцем у виска, а теперь без планшета из дома не выходит — проверяет, всё ли выключено.

Если вкратце

  1. Не ставьте Core — ставьте Home Assistant Supervised или OS сразу. Сэкономите дни жизни.
  2. Zigbee-координатор подключайте через USB-passthrough, контейнер делайте привилегированным.
  3. Перед каждым обновлением делайте снапшот в Proxmox — реально спасёт от головной боли.
  4. Telegram-бота настраивайте в первую очередь, а не в последнюю — он убивает удобством.
  5. ESPHome — лучший друг для DIY-датчиков. Дешево, сердито, а главное — своё и под полным контролем.
  6. Яндекс.Алиса — мастхев, если в доме есть колонка. Интеграция бесплатная, настраивается за 15 минут.
  7. Делайте бэкапы в Google Drive или на NAS. Не надейтесь на один снапшот в Proxmox — подстрахуйтесь.

Сейчас у меня 18 устройств в Home Assistant, 12 автоматизаций, и я реально забыл, когда в последний раз вручную включал свет. Если у вас уже есть сервер с Proxmox — поставьте Home Assistant, не пожалеете. Только бекапы не забывайте. Серьёзно. Я дважды восстанавливал систему после неудачных обновлений, и без снапшотов я бы просто выкинул сервер в окно.

Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *