Новый zigbee-herdsman

Добрый день!
Видел, что вышел новый движок для zigbee. Насколько я понял, он более стабильный и устройства подключаются гораздо проще (сейчас с zigbee-shepherd часто таймауты при подключении). Планируется ли переход и какие в целом планы по ZigBee?

1 симпатия

Обсудим

Сейчас собирается zigbee2mqtt пакетом, больше не надо будет ставить nodejs и собирать вручную.

Уже можно тестировать?

Нет, но думаю будет готов на этой неделе.

1 симпатия

Добрый день! Сейчас мы полностью переходим на основную ветку zigbee2mqtt, где уже используется zigbee-herdsman.

Поправлю коллегу: nodejs устанавливать всё же придется, но сам zigbee2mqtt мы заранее соберем и запакуем в deb пакет, отправим в наш репозиторий для упрощения установки.

Так же уже в тестировании новая версия wb-rules и конвертера wb-zigbee2mqtt. Конвертер ставится рядом с zigbee2mqtt и отправляет в веб интерфейс контроллера данные устройств zigbee и логи zigbee2mqtt.

2 симпатии

Добрый вечер! Напишите когда можно будет тестировать новую версию?

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

Вставьте модуль zigbee в контроллер (желательно в mod3), выставите его в настройках /etc/wb-hardware.conf, установите пакеты:

 apt update
 apt install -y zigbee2mqtt wb-zigbee2mqtt
  • zigbee2mqtt - это сам z2m,
  • wb-zigbee2mqtt - конвертер

Необходимые пакеты wb-rules 2.6.0 и nodejs 12 установятся по зависимости

Конвертер создает девайс zigbee2mqtt в вкладке Devices, в котором отображаются логи, можно включить режим добавления устройств, обновить список добавленных устройств в Devices.
Пример использования:

  • Включаете режим добавления устройств - Permit join
  • Добавляете необходимые устройства (см инструкцию к вашему девайсу)
  • Выключаете Permit join
  • Нажимаете кнопку Update devices
    После этого все Ваши устройства должны отобразиться во вкладке devices.

Конвертер парсит json с топиков zigbee2mqtt/[FRIENDLY_NAME]. Пока что только в одну сторону. По этому для управления устройствами (на пример zigbee розетками) нужно отправлять данные в топики zigbee2mqtt/[FRIENDLY_NAME]/set на прямую. см инструкцию. Это можно делать стандартным инструментом wb-rules - publish.
Пример:

  publish("zigbee2mqtt/0x00158d0001f3fc34/set", JSON.stringify({ state_right: "ON" }), 2, false);

Если модуль не в mod3, необходимо будет указать это в файле настроек: /mnt/data/root/zigbee2mqtt/data/configuration.yaml
Так же в этот файл можно добавить параметр включения фронтенд страницы zigbee2mqtt для упрощения настройки сети zigbee. Подробнее тут

Всё это я еще подробнее опишу в документации. Ожидайте. Если будут какие-то вопросы, пожелания или неполадки - обязательно пишите!

5 симпатий

Принято, сегодня начну тестировать.
Почему третий слот приоритетный?

Слегка не по теме вопрос. У вас небыло такого, что после установки Permit join в false, ранее привязанные датчики отваливались спустя какое-то время?

Третий не приоритетный, просто по умолчанию прописан в конфиге zigbee2mqtt, что-бы лишний раз ничего не править советую в 3й вставлять.

По вопросу с Permit join не замечал ничего такого. Все устройства на месте. А какая версия zigbee2mqtt у Вас?

Понял, спасибо!

Пока используем 1.2.1.

Установилось с первого раз на wb67. На 6x скоро проверю.
Было бы неплохо сделать автоматическое обновление устройств в MQTT при добавлении, так как сейчас это лишний шаг в настройке системы.

1 симпатия

На 6х работает

Тоже потестировал на 6.6 - работает. Модуль у меня во 2-м слоте.
Тестировал на лампочке Икеа Тродфри - определяется корректно, регулировка яркости и включение/выключение работает.

Вопрос к разработчикам - планируется ли полноценная поддержка в движке правил? Сейчас параметры только read-only, как на скриншоте. Для управления надо либо создавать еще одно виртуальное устройство, либо из командной строки, вот так:
mosquitto_pub -t "zigbee2mqtt/tradfri01/set" -m "{ \"brightness\": \"20\" }"

tradfri

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

"description":"TRADFRI LED bulb GU10 400 lumen, dimmable","friendly_name":"0xec1bbdfffeafe104","hardwareVersion":1,"ieeeAddr":"0xec1bbdfffeafe104","lastSeen":1603151876337,"manufacturerID":4476,"manufacturerName":"IKEA of Sweden","model":"LED1650R5","modelID":"TRADFRI bulb GU10 W 400lm",

По идее, можно же сразу создавать соответствующие контролы? Ну т.е. определили, что это лампа диммируемая и в Devices сразу появляется кнопка включения/выключения и регулятор яркости. Планируется такое?

2 симпатии

Добрый день. Да, планы такие конечно есть. В первой версии не стал это делать, так как это сильно усложнит работу конвертера. Устройств довольно много, они разные и каждое описывать - это сложно. Думаю над более универсальным методом.

Для себя решил вопрос через маппинг конвенций z2m на конвенции wb. https://github.com/avp-avp/zigbee2wb/blob/master/zigbee2wb.json.

Все-таки лучше уметь двухсторонний обмен для основных устройств, чем костыль через publish

Добрый вечер! Нету ли продвижения с публикацией сообщений?

Добрый день, как определить в каком устройстве №1-3 подключен ZigBee модуль из командной строки? внешне если смотреть, то стоят два гнезда под антенну рядом c WiFi и над входом ETH2.

По опыту в третьем, но можно открыть крышку и глянуть, разъемы там подписаны как MOD1, MOD2, MOD3. Расположение антенны ни о чем не говорит.

Добрый день, после установки пакетов для поддержки ZigBee для устройства на порту №3 во вкладке Devices не отображается “девайс zigBee2mqtt”, в чём может быть проблема?

Проверить, запущены ли https://wirenboard.com/wiki/ZigBee_Support#.D0.97.D0.B0.D0.BF.D1.83.D1.81.D0.BA