Ещё когда я только начинал присматривать всякие управляемые штуковины для планируемой начинки своей автоматизации, я столкнулся с непонятным и неведомым не словом Zigbee. Чем больше я погружался в тему, тем отчётливей я понимал, что меня сия чаша не минует. И вот - уже есть кое-какие первые опыты в этом направлении.
Итак, о Zigbee. Много всякой полезной информации о Zigbee, и о том, почему бы не Wi-Fi, можно почитать в интернете. Основных момента два: 1. Wi-Fi энергозатратен. 2. Wi-Fi нагружает роутер.
Чуть подробнее. Сам по себе протокол Wi-Fi рассчитан на высокие скорости доступа в интернет, соответственно это достаточно мощные элементы, которые также требуют достаточно мощного электропитания, поэтому девайсы с Wi-Fi, питающиеся от батареек - не очень распространённое явление. У меня есть два датчика движения с Wi-Fi на борту и питающиеся от трех ААА-батарей, но они работают по принципу "включить, когда нужно", то есть модуль Wi-Fi бОльшую часть времени выключен и включается при наличии движения, что приводит к существенным задержкам в отправке состояния. Об этом я писал в соответствующей статье. Кроме того, датчики и выключатели с Wi-Fi требуют подключения к роутеру, а это не только неудобства сопряжения (можно, например, почитать про Sonoff, хотя они молодцы, существенно упростили процедуры в последних прошивках), а ещё и нагрузка на домашнюю сеть вообще (лишние помехи в диапазоне 2,4ГГц), что частично решается переходом пользовательских устройств на 5ГГц диапазон, но при достаточно большом количестве элементов "умного дома" они всё равно начнут мешать сами себе.
В общем-то, эти проблемы и призван решить протокол Zigbee, который работает на стандартах, родственных Bluetooth. Поскольку для всяких датчиков не нужны широкие диапазоны вещания и большие скорости, то и нет необходимости поддерживать мощные процессоры. Большинство датчиков, которые у меня есть, питаются от батареек типа CR2032 и работают на них по полгода-год, а то и больше. К тому же эти устройства не требуют логина-пароля для домашней сети и сопряжение происходит полегче.
Но есть и обратная сторона у такого подхода - в отличие от Wi-Fi, который цепляется к домашнему роутеру, для Zigbee нужен собственный "роутер"-концентратор. Впрочем, это тоже не такая большая проблема. Простые донглы на чипе CC2531 стоят несколько долларов на Aliexpress, на более современных чипах - чуть подороже. Правда, устройства с Aliexpress помимо самого стика требуют ещё программаторы, которые зачастую продаются сразу в комплекте, и навыки перепрошивки, но есть и более готовые (уже прошитые) стики, в том числе продающиеся локально, например на Авито.
Для тех же, кто любит, чтобы сразу всё готовое из коробки, да ещё с поддержкой, есть такое устройство - Conbee от Dresden Elektronik.
В общем-то, дальше будет как раз о нём, точнее о второй его версии - Conbee II.
Установка
Устройство представляет собой довольно приятного вида USB-донгл с логотипом Phoscon. Работать эта штуковина может буквально везде - и под Raspberry, и под линуксами, и под виндой. В моём случае надо запустить это добро под Ubuntu Server 18.04. Делается это довольно просто и вся инструкция есть на официальном сайте.
Сначала раздаём права доступа к USB:
sudo gpasswd -a $USER dialout
После выполнения команды надо перелогиниться (или перезагрузиться, кому что больше нравится).
Загружаем и устанавливаем ключ от репозитория:
wget -O - http://phoscon.de/apt/deconz.pub.key | \ sudo apt-key add -
Добавляем репозиторий со стабильными релизами (мы же потратили деньги, чтобы всё стабильно работало, поэтому бета-версии нам не особо нужны):
sudo sh -c "echo 'deb [arch=amd64] http://phoscon.de/apt/deconz \ $(lsb_release -cs) main' > \ /etc/apt/sources.list.d/deconz.list"
Обновляем списки репозиториев:
sudo apt update
И устанавливаем приложение deConz:
sudo apt install deconz
Готово. Тем, у кого не серверная версия Ubuntu, доступна интерфейсная версия deConz в списке приложений:
На Ubuntu Server этот интерфейс недоступен, но он бывает очень полезным при экспериментах с неподдерживаемыми или плохо поддерживаемыми устройствами, поэтому я отдельно напишу про доступ к интерфейсу через VNC. А пока для работы нам достаточно веб-интерфейса, который называется Phoscon и доступен по ссылке http://phoscon.de/app. Если установка прошла нормально, то на главной странице устройство Conbee найдётся автоматически и будет доступно:
Если нет, то нажатие на большой логотип запустит сканирование и поможет найти ваш Conbee.
При первом входе в веб-приложении будет предложено назвать устройство и задать логин-пароль:
После этого и каждый раз при входе, пока не будет добавлена хоть одна лампочка, будет вылезать предложение добавить лампочку:
Достаточно нажать "Proceed without lights", чтобы далее отказаться от создания группы, чтобы перейти в рабочую панель, на которой пока пусто. В меню можно попасть, нажав кнопку с тремя полосками слева. Там можно посмотреть подключенные лампочки, выключатели и сенсоры. У меня, например, подключено два датчика протечки:
На самом деле у меня есть ещё датчик движения на Zigbee, но он коряво определяется и в веб-интерфейсе его не видно, хотя в HomeAssistant он есть и его состояния можно посмотреть в deConz (когда мы настроим VNC).
В меню Phoscon так же доступны настройки нашего Conbee:
Ещё здесь можно поменять системные настройки: часовой пояс, канал Zigbee:
И на этом всё. Zigbee-шлюз подключен и настроен, можно спокойно добавлять датчики. При подключенной интеграции Phoscon/deConz все добавленные Zigbee-устройства будут автоматически добавляться в HomeAssistant.
Ингергация Conbee в HomeAssistant
Штатная интеграция для deConz доступна в списке интеграций (Настройки-Интеграции):
При добавлении интеграции будет предложено выбрать либо найденный шлюз, либо ввести настройки вручную:
Затем нужно сделать сопряжение с устройством, для чего нужно перейти в веб-приложение Phoscon в настройки устройства, выбрать режим Advanced и нажать кнопку "Authenticate app":
Пойдёт отсчёт:
В настройках интеграции нужно нажать кнопку "Подтвердить" и сопряжение пройдёт успешно, будут показаны все доступные Zigbee-устройства:
Для каждого устройства можно определить своё помещение (а можно и не указывать) и все эти устройства можно начинать использовать в HomeAssistant.
Про датчик движения Zigbee я уже писал, потом отдельно напишу про датчики протечки и про новые устройства Sonoff Zigbee, когда будет доделана их реализация.