Найти тему

Zigbee и все-все все

Оглавление

Ещё когда я только начинал присматривать всякие управляемые штуковины для планируемой начинки своей автоматизации, я столкнулся с непонятным и неведомым не словом 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.

Conbee II (Изображение на Amazon.com)
Conbee II (Изображение на Amazon.com)

Установка

Устройство представляет собой довольно приятного вида 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 в списке приложений:

Скриншот с официального сайта Conbee
Скриншот с официального сайта Conbee

На Ubuntu Server этот интерфейс недоступен, но он бывает очень полезным при экспериментах с неподдерживаемыми или плохо поддерживаемыми устройствами, поэтому я отдельно напишу про доступ к интерфейсу через VNC. А пока для работы нам достаточно веб-интерфейса, который называется Phoscon и доступен по ссылке http://phoscon.de/app. Если установка прошла нормально, то на главной странице устройство Conbee найдётся автоматически и будет доступно:

Скриншот с официального сайта
Скриншот с официального сайта

Если нет, то нажатие на большой логотип запустит сканирование и поможет найти ваш Conbee.

При первом входе в веб-приложении будет предложено назвать устройство и задать логин-пароль:

Скриншот с официального сайта
Скриншот с официального сайта

После этого и каждый раз при входе, пока не будет добавлена хоть одна лампочка, будет вылезать предложение добавить лампочку:

Достаточно нажать "Proceed without lights", чтобы далее отказаться от создания группы, чтобы перейти в рабочую панель, на которой пока пусто. В меню можно попасть, нажав кнопку с тремя полосками слева. Там можно посмотреть подключенные лампочки, выключатели и сенсоры. У меня, например, подключено два датчика протечки:

-5

На самом деле у меня есть ещё датчик движения на Zigbee, но он коряво определяется и в веб-интерфейсе его не видно, хотя в HomeAssistant он есть и его состояния можно посмотреть в deConz (когда мы настроим VNC).

В меню Phoscon так же доступны настройки нашего Conbee:

-6

Ещё здесь можно поменять системные настройки: часовой пояс, канал Zigbee:

-7

И на этом всё. Zigbee-шлюз подключен и настроен, можно спокойно добавлять датчики. При подключенной интеграции Phoscon/deConz все добавленные Zigbee-устройства будут автоматически добавляться в HomeAssistant.

Ингергация Conbee в HomeAssistant

Штатная интеграция для deConz доступна в списке интеграций (Настройки-Интеграции):

-8

При добавлении интеграции будет предложено выбрать либо найденный шлюз, либо ввести настройки вручную:

-9

Затем нужно сделать сопряжение с устройством, для чего нужно перейти в веб-приложение Phoscon в настройки устройства, выбрать режим Advanced и нажать кнопку "Authenticate app":

-10

Пойдёт отсчёт:

-11

В настройках интеграции нужно нажать кнопку "Подтвердить" и сопряжение пройдёт успешно, будут показаны все доступные Zigbee-устройства:

-12

Для каждого устройства можно определить своё помещение (а можно и не указывать) и все эти устройства можно начинать использовать в HomeAssistant.

Про датчик движения Zigbee я уже писал, потом отдельно напишу про датчики протечки и про новые устройства Sonoff Zigbee, когда будет доделана их реализация.