Общий принцип подключения Zigbee устройств

Процесс подключения модуля или датчика(далее по тексту устройства) по протоколу zigbee состоит из двух этапов:
- добавление устройства в zigbee2mqtt
- добавление устройства в систему по протоколу MQTT

- Для добавления(сопряжения) устройства необходимо перейти на веб интерфейс zigbee2mqtt сервиса(для контроллеров Butler Edition url будет http://IP ADRESS:9090/) и нажимаем «Разрешить подключения» в шапке интерфейса
- Переходим на сайт производителя или zigbee2mqtt в поддерживаемые устройства находим устройство которое необходимо подключить, находим инструкцию как подключить устройство к zigbee2mqtt и подключаем.


3. На следующем шаге необходимо убедиться, что zigbee2mqtt отправляет данные с zigbee устройства в mqtt брокер, для этого лучше всего воспользоваться программой mqtt explorer. Скачиваем и подключаемся к нашему MQTT, где host это IP адрес нашего контроллера, а логин и пароль можно подсмотреть в файле /opt/zigbee2mqtt/data/configuration.yaml контроллера.


4. Заходим на WEB- интерфейс через браузер по ip адресу, вводим учетные данные. Переходим в вкладку настройки → bildings → → MQTT Binding и добавляем его. Далее мы переходим снова в раздел настройки → transformations → → JSONPath Transformation и добавляем его, если не установлен.
5. В вкладке настройки выберем раздел Things → нажимаем на добавить устройства -> выбираем MQTT Binding → generic MQTT thing → в строке label даем название устройству → выбираем bridge MQTT Broker.
6. На данном этапе нам нужно задать каналы работы датчика на примере датчика протечки воды. Выбираем созданный датчик и перемещаемся в вкладку Channels → add channel → On/Off Switch → заполняем поле Channel identifier и label (название канала, в нашем случае leak ) → MQTT State Topic мы берем с MQTT explorer “zigbee2mqtt/leak_sensor_1” -> Custom On/Open Value “true” → Custom Off/Closed Value “false” → ставим флажок на поле “Show advanced” → Incoming Value Transformations “JSONPATH:$.water_leak” → create.


7. После нажимаем Add link to item → create a new item → category “water” → link. У нас должно отобразиться индикатор воды с двумя характеристиками “ON-OFF”.
По такому же принципу добавляем еще два параметра батарею и сигнал связи (краткая опись) .
Батарея:
add channal → label → Percentage Value → MQTT State Topic “zigbee2mqtt/leak_sensor_1” → Incoming Value Transformations “JSONPATH:$.battery” → create.
add link to item → Create a new Item → Category “battery” → link.
Сигнал связи:
add channal → label → Number Value → MQTT State Topic “zigbee2mqtt/leak_sensor_1” → Incoming Value Transformations “JSONPATH:$.linkquality” → create.
add link to item → Create a new Item → Category “qualityofservice” — link
После добавления устройства, можно повышать на него какую либо логику и добавить в мобильное приложение