Небольшой обзор и процесс перепрошивки Sonoff Zigbee Bridge — одного из самых доступных координаторов для Zigbee Home Automation.
Приобретался Sonoff ZBBridge только с одной целью — перепрошить на Tasmota для интеграции в Home Assistant. Я даже не ставил родное приложение.
Размеры шлюза 62х62х20 мм, вес 35 гр.
Для работы нужен блок питания 5В 1А.
На корпусе два светодиода индикации, разъем microUSB и кнопка сброса.
Sonoff молодцы, что всячески способствуют diy сообществу со своими продуктами. Поэтому разборка и перепрошивка ZBBridge это дело 15 минут. Убираем силиконовые противоскользящие ножки, закрывающие винты с обратной стороны корпуса.
Далее откручиваем винты и разъединяем корпус.
Все контакты подписаны, очень удобно.
У меня оказалась плата версии V1.1 от 2020.02.28
За WiFi отвечает модуль ESP8266, за Zigbee EFR32MG21
Для перепрошивки необходим любой UART адаптер — подпаиваем контакты, подав gnd на gpio 0 по следующей схеме:
После можно использовать любой прошивальщик на любой ОС. Я использовал Tasmotizer, как и автор оригинальной инструкции. Через эту утилиту, заточенную под тасмоту, будет установлена последняя версия прошивки.
Подключаем uart адаптер к пк и запускаем Tasmotizer.
Выбираем COM порт UART адаптера, в выпадающем списке прошивок выбираем tasmota-zbbridge.bin и жмем Tasmotize!
Через минуту процесс будет завершен. Если у вас появились какие-либо ошибки, то просто переподключите uart адаптер и попробуйте заново. У меня при записи в первый раз вылезла ошибка, со второго раза прошивка записалась успешно. В комментариях к записи о прошивке в блоге digiblur люди тоже жаловались на этот нюанс.
Теперь можно отключать uart адаптер, отпаивать провода и собирать все обратно в корпус.
Подаем питание и ищем точку доступа с тасмотой
Подключаемся и переходим по адресу 192.168.4.1
Вводим данные wifi сети и жмем Save. ZBBridge перезагрузится и подключится к этому wifi.
Теперь нужно узнать его ip адрес, чтобы добавить координатор в Home Assistant.
Переходим по этому ip и сразу заходим в консоль
В консоли нужно ввести следующую команду и нажать Enter:
Backlog Weblog 3; so65 1; Module 75
ZBBridge снова перезагрузится. После этого переходим в главное меню чтобы выполнить обновление прошивки. Скачиваем стабильную версию по этой ссылке. На момент написания статьи это файл ncp-uart-sw_6.7.6_115200.ota. В readme все версии расписаны, так что перепутать не получится.
Жмем на имя файла и после на кнопку Download
Выбираем скачанный файл и жмем Start upgrade
После успешного обновления нужно ввести еще одну команду в консоли:
backlog rule1 on system#boot do TCPStart 8888 endon ; rule1 1 ; template {"NAME":"Sonoff ZHABridge","GPIO":[56,208,0,209,59,58,0,0,0,0,0,0,17],"FLAG":0,"BASE":18} ; module 0
После этого мы увидим информацию о том, что сервер успешно запущен через порт 8888.
Значит можно переходить к настройке на стороне Home Assistant. На момент написания этой статьи версия Home Assistant Core 0.115.3.
Переходим в Настройки > Интеграции и добавляем новую, выбрав Zigbee Home Automation
Выбираем последовательный порт Enter Manually, чтобы ввести данные вручную
Тип устройства — EZSP
Путь к устройству:
socket://192.168.0.3:8888
Где 192.168.0.3 это ip вашего ZBBridge. Скорость 115200
Через несколько секунд настройка интеграции будет завершена.
Теперь можно добавлять устройства. Я сразу же добавил для теста датчик температуры и влажности Aqara WSDCGQ11LM.
Ссылка на Sonoff ZBBridge: https://ban.ggood.vip/VxAh
А какие zigbee устройства можно добавлять вообще через такой шлюз? Все, что умеет ZHA или есть какие-то ограничения?
Да, все устройства, которые поддерживаются ZHA. Полный список тут: https://zigbee.blakadder.com/zha.html
Получается что это можно рассматривать как заменя свистка cc2531
Можно сказать и так. Только zbbridge мощнее чем cc2531 и поддерживает Zigbee 3.0. Но не работает с zigbee2mqtt, только с родной интеграцией Home Assistant. Может позже к z2m прикрутят.
Пока не успел прикрутить свой свисток, у меня HA на Hyper-V, а в нее нельзя пробрасывать USB, думал переходить из=за этого на Proxmon, но раз такая пьянка и можно использовать шлюз, то это даже лучше.
А с чем можно столкнуться из сложностей или чего может не хватать при использовании нативной интеграции HA в сравнении с Z2M?
Не хватает всего списка устройств z2m, в этом минус. Но потихоньку добавляют.
У z2m есть возможность прошить espeasy, подключить к нему cc2530 и таким же способом использовать, как и тут. Но у меня не вышло. Не знаю что я делал не так
А для штатной интеграции есть список поддерживаемых устройств?
выше нашел
Уже работает с zigbee2mqtt. Но поддержка пока эксперементальная.
https://www.zigbee2mqtt.io/advanced/remote-adapter/connect_to_a_remote_sonoff_zbbridge.html#_1-flash-tasmota-zbbridge
Использую Sonoff ZB+zigbee2mqtt около недели. Подключил пока 11 устроств. В целом работает нормально, но однажды отвалился TCP server на Sonoff и из-за этого упал zigbee2mqtt. Перезагрузка бриджа не помогла. Пришлось заново запускать команду для активации TCP сервера из мануала по перепрошивке.
Спасибо за инфу, уже интереснее становится. Надо самому попробовать
Сделайте пожалуйста инструкцию по установке tasmota2zigbee
Интересно получить устройство, z2m чтобы оно не висло,а уж после mqtt данные куда угодно можно отпарсить и запихнуть
Отвечаю сам же.
Для того,чтобы получать данные в MQTT, надо дать команду Module 75 и ее не менять
Потом смотреть,в каком формате MQTT вас устраивают данные -все сразу в один топик или с разделением по устройствам. В любом случае будут в формате JSON.
Типа tele/SAZB_DD316B/SENSOR = {«ZbReceived»:{«AQUARA_MOTION_SENS1»:{«Device»:»0xEF11″,»Name»:»AQUARA_MOTION_SENS1″,»BatteryVoltage»:3.05,»BatteryPercentage»:100,»Xiaomi_64″:0,»Endpoint»:1,»LinkQuality»:118}}}
Распарсить с помощью node-red легко.
А возможно подключать датчики самого Sonoff после такой перепрошивки? И не подглючивает ли сам девайс? Как не крути, а он далек по мощности от какого нибудь Raspberry PI3.
Можно подключать все, что поддерживает ZHA, включая zigbee устройства от sonoff. А вычислительная мощность ему и не нужна, он ведь выступает в качестве промежуточного звена.
За то время, что он у меня трудится, глюков или подобного не обнаружено.
датчики sonoff подключились без проблем, а с кнопкой SNZB-01 проблема. залетела только батарейка от нее
сам себе отвечу)
нужно «отловить» все события zha_event и потом прописывать в триггерах автоматизаций
platform: event
event_type: zha_event
event_data:
command: ‘on’
device_ieee: ’00:12:4b:00:1f:45:14:22′
или в hacs есть интеграция «Event sensor», которая делает сенсоры из событий
Привет!
а ссылок на эти файлы больше нет. Скачиваем стабильную версию по этой ссылке. На момент написания статьи это файл ncp-uart-sw_6.7.6_115200.ota.
Чего делать?
Они зачем-то поменяли расположение каталогов у себя на гитхаб. Странно, учитывая то, сколько ссылок они в итоге поломали. Теперь все тут: https://github.com/arendst/Tasmota/tree/development/tools/fw_SonoffZigbeeBridge_ezsp
Привет! Спасибо! я вчера прошился, подключил первые датчики у мосту. там есть интересная команда ZbPermitJoin… Теперь надо думать, как мост прицепить к опенхабу и дальше настраивать.
Отлично! Было бы интересно проследить за результатом. Я так понимаю с опенхабом ещё никто не настраивал? Тут, в комментариях выше, были интересные наблюдения по поводу передачи через mqtt. Этим путем, видимо, придется идти.
Всем привет! Результаты получились очень странными… Попробую написать и может кто-то мне ответит на мои вопросы. Прошиваем мост. Цепляем датчик (у меня датчик температуры и влажности SNZB-02 с батарейкой. Начало «спаривания» командой в консоли ZbPermitJoin 1 — в консоли видим, что датчик прицепился и передает данные. наслаждаемся… отцепляем мост от питания, пьем чаек и подключаем обратно — датчика нет… (это у меня так?). Спариваем обратно… После того как появился — пишем команду ZbSave номер датчика — отключаем, включаем — работает… Далее самое интересно — вынимаем батарейку из датчика — пьем уже ненавистный чаек — датчика НЕТ!!! Теперь мне непонятно… К… Подробнее »
Очень странно, так не должно быть. Может там какие команды у тасмоты для «запоминания» устройств предусмотрены.. даже не знаю. На гитхаб у них подобных проблем не встречали?
А по какой причине рекомендуется UART на 340G ? У меня 340Т, ну нету на нем 3.3В на выход, есть 5В. Нельзя 5В припаять к Sonoff-у — есть же там пин такой? И скорость порта надо выставлять какую? Че-т не видит его ни на 9600 не на 115200 …
Можно 340Т, с 5в, прошился. но на ота обнове выводит «Invalid file signature»
Здравствуйте! Возникла такая проблема. Прошил по инструкции UART кабелем, устройство загрузилось, подключился к нему по вай фай. Прошил второй раз (не спрашивайте почему), прошивка удачно загрузилась, но когда я включаю питание устройства, то теперь он мигает синим светодиодом два раза и тухнет, по вай фай теперь его не видно. Пробовал прошивать еще несколько раз, результат тот же — прошивка успешно грузится, но опять устройство не выходит на свзь вай фай.
При удачном подключении к вай фай синий светодиод действительно тухнет. Уверены что он просто не IP сменил? Для проверки можно роутер вырубить например.
Да, действительно, не обратил внимания, что мост уже подключился к wifi. Думал, что если прошиваешь через UART-кабель, то настройки сбиваются на дефолтные и нужно делать всё заново. В чём собственно у меня была проблема. Сделал всё по инструкции, ввёл все необходимые команды, но мост категорически отказывается принимать прошивку ncp-uart-sw_6.7.6_115200.ota. Нажимаю на «Загрузить файл», проходит секунд 5 и страница вываливается в статус «Страница недоступна». В чем может быть проблема? Версия моей прошивки после прошивки через UART- 9.2.0.
ссыль на гитхабе померла где взять ncp-uart-sw_6.7.6_115200.ota
https://github.com/arendst/Tasmota/blob/development/tools/fw_SonoffZigbeeBridge_ezsp/ncp-uart-nsw_6.7.9_115200.ota
Есть некоторый нюанс, который я словил, чип никак не хотел шиться ничем, ругалось, что не может инициализировать.
В оригинальной статье нашел такую запись. Мне помогло, Z_RST на GND и чип зигби не мешает в UARTе
If the flash is still not successful, try applying ground to the Z_RST pad during the flashing process, this will force the Zigbee chipset to be quiet during the process.
Сделал по инструкции, ZHA не подключается к шлюзу, на шлюзе в консоли вот так:
07:25:20.382 TCP: Got connection from 192.168.123.40
07:25:23.395 TCP: Got connection from 192.168.123.40