Zigbee в Home Assistant: координатор и датчики после HAOS

Zigbee в Home Assistant: координатор и датчики после HAOS Умный дом
Сеть Zigbee с нуля: Zigbee2MQTT, Sonoff ZBDongle-P, выключатели Aqara без нейтрали и две умные розетки, которые раздают сеть. Реле этих розеток я не использую.

Эта статья про одну покупку: сеть Zigbee после установки HAOS. Вопрос такой. Что взять, если собирать сеть с нуля, а не докупать устройства, которые уже висят дома.

С нуля я бы купил так. Программа Zigbee2MQTT, координатор Sonoff ZBDongle-P, выключатели Aqara H1 без нейтрали, две умные розетки как ретрансляторы, датчик движения Aqara Motion Sensor P1, датчик двери Aqara E1, кнопка Aqara WXKG11LM, термоголовки Royal Thermo и мотор штор от сети. Хаб Aqara не нужен.

Уже стоящие выключатели без нейтрали, датчики двери Tuya, две розетки-ретрансляторы и стик на концентраторе Ugreen снимать не нужно. Датчики движения Sonoff, кнопка Tuya и батарейные шторы в новый набор не входят. Дальше каждая строка набора, потом что осталось за бортом, и только затем установка.

Проброс USB-стика в виртуальную машину разобран в статье про Home Assistant в Proxmox. Звонок Aqara G4 к этой сети не относится: он подключается отдельно, через HomeKit и go2rtc, это описано в материале про Aqara G4 в Home Assistant.

Набор с нуля

Сначала программа и координатор, потом устройства, которые я бы повесил вместо текущих.

  • Программа. Zigbee2MQTT и брокер Mosquitto. Сначала у меня стоял ZHA, я от него отказался: устройств Zigbee он поддерживал мало. На карточке устройства лежат интервал датчика движения и отвязка клавиши от лампы. Ради этих настроек в наборе отдельное приложение, а не встроенная интеграция ZHA.
  • Координатор. Sonoff ZBDongle-P на чипе Texas Instruments CC2652P. На корпусе написано ZBDongle-P или Dongle Plus без буквы E. В списке адаптеров Zigbee2MQTT это адаптер zstack. Мой HAOS стоит на мини-ПК с Intel N5095 в радиаторном корпусе, пять лет на шкафу в прихожей, стик подключён через USB-концентратор Ugreen. Корпус стоит на шкафу, не внутри металлического шкафа, поэтому сетевой SLZB-06, стик ZBDongle-E и Home Assistant Connect ZBT-2 в набор не входят.
  • Выключатели. WS-EUK01 на одну клавишу и WS-EUK02 на две. Это Aqara H1 без нейтрали. В коробке разрезана фаза, нейтрали там нет, и электрики объяснили, что ставить туда выключатель с нейтралью опасно. Свет эти модели включают сами. Соседние датчики через них не ходят: сеть раздают розетки из следующей строки.
  • Розетки. Сеть раздаю ими. На три спальни и совмещённую кухню-гостиную, 78 квадратных метров, хватило двух: умная розетка IKEA TRADFRI и умная розетка Tuya от компании HOMMYN. Как ретрансляторы обе меня устраивают полностью. Как умные розетки я их не использую: применение реле так и не нашлось. В описании умной розетки IKEA TRADFRI на сайте Zigbee2MQTT прямо сказано, что она ещё и маршрутизатор. Умная розетка Tuya от компании HOMMYN в Zigbee2MQTT называется TS011F_plug_1, после привязки тип в карточке должен быть Router.
  • Движение. Aqara Motion Sensor P1, модель RTCGQ14LM. Две батареи CR2450. В карточке есть занятость, освещённость, чувствительность и интервал. Пять лет, которые указывает Aqara, рассчитаны на интервал от 30 секунд. Интервал в 2 секунды сажает батарею быстрее. Датчик спит: перед сохранением настройки нажмите кнопку на корпусе.
  • Двери. Aqara Door and Window Sensor E1, модель MCCGQ14LM. На координаторе CC2652 прошивка не старее 20211114. У нового ZBDongle-P это обычно уже так, версию всё равно откройте до покупки пачки.
  • Кнопка. Aqara Wireless Mini Switch, модель WXKG11LM. Одно нажатие, двойное, тройное и удержание приходят в Zigbee2MQTT как action.
  • Шторы. На окно, которое ходит каждый день, мотор с питанием от сети. Батарейный привод в набор не входит: у Zemismart через четыре года аккумулятор перестал брать заряд выше примерно 75%.
  • Термоголовки. Royal Thermo RTE 77.001B на радиаторы отопления. Мне они очень нравятся. Комнату, улицу и открытие окна им отдаёт Better Thermostat из HACS, а сами датчики сидят в Zigbee2MQTT.

Хаб Aqara этому набору не нужен. Датчики и выключатели садятся в Zigbee2MQTT, Home Assistant видит их через MQTT. Облачный аккаунт производителя не обязателен.

Выключатели без нейтрали

В обычной российской квартире выключатель разрывает фазу. Нейтраль идёт на лампу мимо коробки, внутри коробки её нет. Электрики мне объяснили, что вариант с нейтралью здесь опасен, и ставят выключатели без неё. Поэтому в наборе WS-EUK01 и WS-EUK02. Моделям WS-EUK03 и WS-EUK04 нейтраль в коробке нужна, я их не ставлю.

Тока через лампу хватает, чтобы такой выключатель включал свой свет, и не хватает, чтобы пропускать через себя чужие датчики. В карточке тип будет EndDevice. Так и задумано. Сеть по квартире раздают умные розетки.

Режим на карточке называется operation_mode. control_relay — обычная клавиша: нажали, и лампа этой клавиши зажглась или погасла. decoupled — клавиша свою лампу не переключает. Нажатие только приходит в Home Assistant, а свет включает автоматизация. У двойного WS-EUK02 так выбирается отдельно для левой и правой клавиши.

Пункт power_outage_memory — память после отключения электричества. Когда питание возвращается, выключатель возвращает лампу в то состояние, в котором она была. Привязка WS-EUK01: удерживайте кнопку около 10 секунд, пока синий индикатор не начнёт мигать и не прекратит. У WS-EUK02 удерживайте правую кнопку 5 секунд.

Термоголовки Royal Thermo

На радиаторы у меня стоят термоголовки Royal Thermo, и в набор с нуля я бы взял их снова. В карточке Zigbee2MQTT модель называется Royal Thermo RTE 77.001B: это вариант Saswell SEA801/SEA802. Уставка от 5 до 30 °C, режимы off, heat и auto.

Датчик внутри головки стоит у горячей трубы, поэтому комнату он меряет плохо. Поверх Zigbee2MQTT стоит Better Thermostat из HACS. После установки HACS Home Assistant перезапускают и добавляют интеграцию: Настройки → Устройства и службы → Добавить интеграцию → Better Thermostat. На комнату выбирают климат головки и отдельный датчик температуры из Zigbee2MQTT. Датчик ставят в комнате, не на радиаторе. Если головок в комнате несколько, в одну интеграцию можно добавить несколько климатов.

Открытие окна и улица подключаются там же. Датчик окна, уже сидящий в Zigbee2MQTT, ставит нагрев на паузу, пока створка открыта, и возвращает его после закрытия. Задержка задаётся в обе стороны, чтобы короткое проветривание не дёргало клапан. Если окон в комнате несколько, выбирают группу: достаточно одного открытого. Уличный датчик из той же сети нужен для порога. Better Thermostat берёт среднее за три дня и проверяет его каждое утро в 5:00. Теплее порога — нагрев выключается, холоднее — включается. Поле прогноза погоды оставляют пустым, раз уличный датчик уже выбран.

Привязка зависит от корпуса, оба способа есть на карточке. У SEA801 с экраном спереди зажимают AUTO/MANU и «+», пока дисплей не покажет прочерки. У SEA802 с барабаном сбоку крутят температуру вниз до OF и удерживают, пока индикация не станет «—». На это время в Zigbee2MQTT включают разрешение подключения.

Чего в наборе нет

Здесь устройства, которые уже работают дома. Они объясняют список выше. Снимать их ради списка не нужно.

  • Sonoff SNZB-03. Стоит в нескольких комнатах и остаётся, пока отвечает. В новую сеть не входит. Часть датчиков зависает, процент заряда врёт, время от времени их приходится привязывать заново. Модель одна и та же в разных местах, так что дело в датчике. Смена координатора это не лечит. Следующую модель Sonoff, SNZB-03P, вместо P1 я тоже не беру.
  • Tuya TS0202_3. Быстро сажает батарею и ведёт себя нестабильно. Я им не пользуюсь.
  • Tuya TS0203. На входной двери и на комнатах датчики онлайн. Снимать их ради марки не буду. Новую пачку тех же TS0203 не куплю: для новой двери в наборе Aqara E1.
  • Tuya ERS-10TZBVK-AA. Батарея садится быстро, нажатие часто доходит с большой задержкой. На WXKG11LM такой задержки я не видел. Батарейку-таблетку на Aqara менять всё равно придётся.
  • Zemismart на батарее. Четыре года шторы открывались нормально. Пока аккумулятор ещё принимает заряд, мотор можно оставить. Следующее ежедневное окно получает питание от сети.

Почему Zigbee2MQTT

На момент выбора Zigbee2MQTT или ZHA у меня уже работал ZHA. Я от него отказался: устройств Zigbee он поддерживал мало. С нуля я бы сразу ставил Zigbee2MQTT.

Выбор уже сделан в наборе: Zigbee2MQTT. ZHA встроена в Home Assistant и работает в том же процессе. Стик находится сам, Mosquitto не нужен. Пока Home Assistant перезапускается, радио молчит.

Zigbee2MQTT стоит отдельным приложением и говорит с Home Assistant через Mosquitto. Перезапуск Home Assistant приложение не останавливает, радиосеть остаётся. Перезапуск самого приложения или всего мини-ПК радио гасит.

Один стик обслуживает одну программу. Если Home Assistant уже предложил ZHA и та забрала порт, интеграцию удалите, иначе Zigbee2MQTT порт не откроет. В документации ZHA сказано: устройство из другой реализации Zigbee перед привязкой к ZHA нужно сбросить к заводским настройкам. Резервная копия Zigbee2MQTT туда не подставляется. Живую сеть ради смены интерфейса я не разбираю.

Списки устройств разные. Карточка модели в Zigbee2MQTT не обещает такую же карточку в ZHA. У P1 интервал в ZHA тоже описан, в обработчике устройства. Остальной набор я всё равно собираю в Zigbee2MQTT.

Прошивки по воздуху расходятся. Zigbee2MQTT по умолчанию берёт образы из индекса Koenkk, если у сервера есть интернет. В ZHA обновления сразу включены для Ledvance, Sonoff, Inovelli и ThirdReality. Остальные производители выключены: прошивка может поменять поведение устройства.

ZHA остаётся вариантом, если Mosquitto ставить не хочется. Тогда Home Assistant советует свой координатор Connect ZBT-2. Это уже другая сборка, не набор из этой статьи.

Координатор

Для набора с нуля достаточно ZBDongle-P. Другой координатор нужен в двух случаях.

  • Стик — старая голая плата CC2531: синяя, без металлического корпуса и без внешней антенны. С неё Zigbee2MQTT советует уходить. Перенос с CC2531 (Z-Stack 1.2) на CC2652 требует привязать устройства заново, резервная копия эту пропасть не закрывает.
  • Антенну нельзя вынести из металлического шкафа. Тогда SMLIGHT SLZB-06 на том же чипе CC2652P, по кабелю Ethernet, не по Wi-Fi. Проброс USB ему не нужен, Home Assistant ходит к нему по IP.

В блоке serial приложения Zigbee2MQTT для SLZB-06 строка serial: обычно уже есть, ниже вставляются две строки. Адрес возьмите из веб-интерфейса координатора. Порт сокета у этой модели обычно 6638.

adapter: zstack
port: tcp://192.168.1.50:6638

Мой случай другой. Мини-ПК с Intel N5095 стоит на шкафу в прихожей, стик сидит в концентраторе Ugreen, а не в синих портах USB 3.0 на передней панели. SLZB-06 здесь не нужен. Если концентратор сам USB 3.0 и стик вставлен прямо в него, между ними лучше короткий кабель USB 2.0: шина USB 3.0 шумит на тех же 2,4 ГГц, что и Zigbee. В настройках путь берётся из /dev/serial/by-id/, а не из /dev/ttyUSB0. Номер tty после перезагрузки меняется, у концентратора это заметно сильнее.

adapter: zstack
port: /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_xxxxxxxx-if00

Точную строку показывает мастер Zigbee2MQTT в списке найденных устройств. Если списка нет, в консоли Home Assistant выполните ha hardware info. Если на корпусе написано ZBDongle-E, чип другой, Silicon Labs EFR32. Для него драйвер ember, прошивка не старее 7.4.4. В набор этой статьи стик E не входит: перенос между zstack и ember в инструкции по переносу штатным не считается. Уже работающую сеть ради нового чипа я не трогаю. Зависания отдельных датчиков смена стика не лечит.

Как поставить это в HAOS

В HAOS брокер и Zigbee2MQTT ставятся как приложения. Официальная инструкция аддона рассчитана на 64-битные системы, aarch64 и amd64.

  1. Настройки → Приложения → Магазин приложений. Установите Mosquitto broker и запустите его.
  2. В том же магазине откройте меню → Репозитории и добавьте https://github.com/zigbee2mqtt/hassio-zigbee2mqtt.
  3. Установите приложение Zigbee2MQTT, не Edge. Edge следит за веткой разработки.
  4. Запустите приложение и откройте веб-интерфейс. Ответ 502 значит, что процесс ещё поднимается: подождите и обновите страницу. Если так продолжается пару минут, смотрите вкладку журнала.
  5. В мастере выберите найденный адаптер. В поле ближайшего канала Wi-Fi укажите канал своей точки доступа: Zigbee2MQTT уведёт сеть Zigbee в сторону от неё. Какое число channel из этого вышло и какую мощность оставить стику, разобрано в разделе про канал и мощность. SLZB по Ethernet в списке может не появиться, тогда впишите adapter и port вручную.
  6. Сообщение, что USB-адаптер не найден, означает одно из двух: порт ещё занят ZHA либо стик не проброшен в виртуальную машину. Проброс по Vendor/Device ID описан в статье про Home Assistant в Proxmox.
  7. После старта Home Assistant предложит интеграцию MQTT. Добавьте её: устройства из Zigbee2MQTT появятся без ручных сенсоров в configuration.yaml. Разрешение на подключение новых устройств после настройки выключите и включайте только на время привязки.

Канал и мощность стика

Канал Zigbee по умолчанию в Zigbee2MQTT — 11. Он делит полосу 2,4 ГГц с Wi-Fi каналом 1, а домашний роутер часто стоит именно на канале 1. В документации для сети просят брать канал из ряда 11, 15, 20 или 25. 15 и 20 ближе к Wi-Fi 6 и 11. 25 лежит выше этих трёх, для новой сети я начинаю с него, если роутер не занял верх диапазона.

В мастере установки поле ближайшего канала Wi-Fi как раз про это: Zigbee2MQTT уводит сеть в сторону от точки доступа. После старта откройте настройки и проверьте число channel. Если там осталось 11, а роутер на Wi-Fi 1, смените канал до привязки датчиков. На пустой сети это одна правка. На уже собранной сети смена поддержана для адаптеров zstack и ember, это описано в документации по смене канала. При запуске Zigbee2MQTT рассылает переход, в журнале появляется строка, что канал в настройках не совпал с каналом стика. Батарейные датчики в этот момент спят и рассылку не слышат, их будят кнопкой. Часть устройств смену канала не поддерживает: если через несколько минут после пробуждения датчик молчит, его привязывают заново. Сеть, которая и так ходит через две розетки, ради смены цифры я не трогаю.

Мощность передачи стика задаётся рядом, параметр transmit_power, в дБм. В документации адаптера стартовое значение 5. У ZBDongle-P чип CC2652P, для него там указан потолок 20 дБм: выше настройка не поднимется, прошивка тоже может урезать. После правки Zigbee2MQTT перезапускают.

В configuration.yaml оба параметра лежат в блоке advanced. 25 и 5 в примере не догма: 25 — канал выше обычного Wi-Fi, 5 — старт из документации.

advanced:
  channel: 25
  transmit_power: 5

Поднимать мощность стоит, когда стик в прихожей не добивает до первой розетки. Дальше сеть держат розетки. Если усилить только координатор, команда до датчика доходит, а тихий ответ батарейного устройства обратно нет. На 78 квадратных метров я сначала оставляю две розетки и 5 дБм. 20 дБм включаю, только если после розеток дальняя комната всё ещё молчит.

Как привязать устройство

  1. В веб-интерфейсе Zigbee2MQTT включите разрешение подключения, Permit join. Долго его не держите: в открытую сеть может сесть чужое устройство.
  2. Переведите устройство в режим привязки. Батарейный датчик на время опроса держите ближе к координатору или к устройству с типом Router, а уже потом относите на место. WS-EUK01 и WS-EUK02 для этого не подходят: они сеть не раздают. У P1, кнопки WXKG11LM и датчика E1 удерживайте кнопку сброса около 5 секунд, пока индикатор не замигает. Если опрос обрывается, коротко нажимайте кнопку примерно раз в секунду, пока Zigbee2MQTT не закончит опрос.
  3. Дождитесь, пока в списке появится модель, а не только адрес.
  4. Задайте понятное имя. По нему Home Assistant назовёт сущности. Имя в Zigbee2MQTT и зона в Home Assistant задаются отдельно: зону укажите уже в Home Assistant.
  5. Выключите разрешение подключения.

Стереть строку в Zigbee2MQTT недостаточно: датчик остаётся в радиосети и может мешать повторной привязке. Сначала сбросьте его своей кнопкой при включённом разрешении подключения.

Сразу после привязки проверьте три вещи.

  • У WS-EUK01 и WS-EUK02 в карточке тип EndDevice. Так и должно быть, комнату они не покрывают. Покрытие закрывают умная розетка IKEA TRADFRI и умная розетка Tuya от компании HOMMYN: после привязки у них должен быть тип Router.
  • У P1 интервал не меньше 30 секунд. Перед записью разбудите датчик кнопкой, иначе значение не дойдёт.
  • Процент заряда SNZB-03 не берите ни в автоматизации, ни как повод купить батарею. У Aqara процент может появиться только через сутки, рядом Zigbee2MQTT показывает напряжение в милливольтах. Зависший SNZB-03, который в списке есть, а движения больше не присылает, оживает после повторной привязки. Если молчит дальняя комната целиком, не хватает такой розетки. На 78 квадратных метров, три спальни и совмещённую кухню-гостиную, мне хватило двух.

После привязки пачки устройств сеть несколько часов перестраивает маршруты. Часть датчиков в это время молчит. Подождите, прежде чем привязывать всё заново.

Частые вопросы

Что купить, если собирать сеть с нуля?

Zigbee2MQTT и стик Sonoff ZBDongle-P. Выключатели Aqara H1 без нейтрали, WS-EUK01 и WS-EUK02. В коробке разрезана фаза, модели с нейтралью электрики ставить не советовали. Сеть выключатели не раздают, её раздают две розетки: умная розетка IKEA TRADFRI и умная розетка Tuya от компании HOMMYN, реле я через них не включаю. Движение — Aqara P1. Двери — Aqara E1. Кнопка — WXKG11LM. Шторы — мотор от сети. Отопление — термоголовки Royal Thermo RTE 77.001B через Better Thermostat, датчики температуры и окон в Zigbee2MQTT. Хаб Aqara не нужен.

Нужен ли хаб Aqara, если выключатели Aqara?

Нет. WS-EUK01, WS-EUK02, датчик движения P1, датчик двери E1 и кнопка WXKG11LM садятся в Zigbee2MQTT. Хаб и облачный аккаунт для этого набора не нужны.

Почему я ушёл с ZHA на Zigbee2MQTT?

Сначала у меня стоял ZHA. Я от него отказался: устройств Zigbee он поддерживал мало. С нуля ставлю Zigbee2MQTT. ZHA остаётся, только если Mosquitto ставить не хочется: тогда это уже другая сборка, со своим координатором.

Можно ли включить и ZHA, и Zigbee2MQTT?

На одном координаторе нет. Вторая программа не откроет уже занятый порт. Для набора из этой статьи оставьте Zigbee2MQTT, интеграцию ZHA удалите.

Стоит ли менять то, что уже работает?

Рабочий ZBDongle-P, выключатели без нейтрали и датчики двери TS0203 менять не нужно. SNZB-03, когда замолкает, меняется на P1. Кнопка Tuya меняется на WXKG11LM. Следующий мотор штор берётся от сети. Стик меняют, когда это CC2531 или когда антенну нельзя вынести из металлического шкафа: тогда SLZB-06. Мини-ПК на шкафу в прихожей к этому случаю не относится.

Камера Aqara G4 подключается так же?

Нет. G4 не датчик Zigbee. Она подключается отдельно: HomeKit, go2rtc и карточка WebRTC Camera.

Нужно ли менять канал Zigbee у стика?

Да, если в настройках остался канал 11, а роутер сидит на Wi-Fi 1. До привязки ставят 15, 20 или 25, для новой сети я начинаю с 25. Мощность ZBDongle-P задаётся transmit_power: в документации старт 5 дБм, потолок чипа CC2652P — 20. Две розетки на квартиру эта цифра не заменяет.

Читайте также

Рубрика: Умный дом
Подписаться на новые статьи (RSS)

Без почты и трекеров — только лента обновлений.

Также есть английская лента

Оцените статью
Добавить комментарий