Как стать автором
Обновить

Комментарии 47

Отличная статья. Спасибо всем кто принял над проектом, данный шлюз превратился за последние месяца в реального монстра под любые задачи, помимо выше описанного примера использования как универсальный контроллер умного дома, его можно также хорошо использовать как дополнительный девайс в уже к имеющему контроллеру умного дома.
Можно использовать как динамик для уведомлений (звонок, протечки и т.д.)
Управлять подсветкой, получать события от кнопки, показания датчика освещения.
Так же уже имеется прошивка Zigbee модуля как роутер с поддержкой в z2m.
Еще с самого начала проекта было понятно, что альтернативная прошивка взлетит. Ленар раскопал клад) и понеслось. В последние месяцы особенно много изменений было — но это лишний раз показывает что востребованность есть.

С ZigBee главная проблема — централизация. Контроллер сломался — вся сеть вылетает. Как решать — непонятно. Очень жду релиз протокола Connected Home over IP в связке с Thread. Там сеть децентрализованная, шлюзов IP<->Thread можно поставить несколько, то есть, конфигурация соответствует понятию high availability.
Пока же тоже сделал умный дом на ZigBee, но как только начнут выходить устройства на Thread, переделаю.

В зигби мне нравится функция binding. Можно без контроллера управлять напрямую зигби устройствами. Забиндил кнопку на лампочку и свет будет включаться от кнопки, даже если контроллер помер.
Да, главное только чтобы кнопка была не ксиоми и не акара, у их с спецификацией zcl большие проблемы.

Я ошибся в терминологии. Не контроллер, а координатор. Если в ZigBee пропадает координатор — пропадает вся сеть. Binding тоже работать не будет, скорее всего (не пробовал). В Thread единого координатора нет (точнее, любой роутер может им выступать).

Биндинг без координатора работает. Можно даже вообще некоторые устройства без координатора использовать через touchlink.
Биндинг будет работать. Сама сеть не пропадает. Координатор пускает в сеть и дает ключи устройству. Дальше устройства живут в этой сети. Часть из них могут быть забиндена друг на друга, но большинство шлют свои данные на координатор. В случае отвала данных не будет, но кнопка или пульт на лампочку будет работать.
www.instagram.com/p/CKoP5UeKOjP
Я не знаю, как это там сделано, но вот такое резервирование видел.
Второй вариант, который уже знаю. У меня в качестве контроллера используется Hubitat. Его резервная копия содержит всю необходимую информацию, включая все настроенные автоматизации. Так что при выходе из строя одного хаба, достаточно залить её на другой. Возможно всё вообще сразу подхватится, возможно надо будет переспарить устройства.
Z-wave вот так просто уже нельзя. Там у устройств при каждом спаривании новый id.
Для тех, у кого завалялся данный шлюз — просто бомба. Жаль, что их больше уже не производят, а новые модели очень сильно отстают по производительности от этого старичка. Использую как ночник в коридоре с функцией zigbee координатора, установив zigbee2mqtt и lumimqtt. Всем причастным к проекту низкий поклон!
У меня стоит дома raspberry pi 4 на ssd c home assistance и есть этот шлюз поставил ha. Всё вроде ок, но круглая кнопка xiaomi не цепляется(. Может зигби модуль нужно прошить на другую скорость.
Очень интересная статья. Есть такой Xiaomi шлюз с евровилкой. Переделан на OWRT и установлен Home Assistant. Считаю именно данную систему УД перспективной. Конкретно на этой версии НА всё лишнее вырезано, но есть поддержка custom_components. Так что если понадобится установить интеграцию, то это не проблема. Поэтому можно организовать полностью автономную систему умного дома на базе этого хаба. Спасибо Ивану Belokobylskiy и всем, кто каким-то образом причастен к данной разработке.
1 пункт сразу стопор… подскажите как это сделать… где почитать более подробно.
Я собрал всю информацию по прошивке и установке софта на опенврт на сайте openlumi.github.io
Тут подробная инструкция, если следовать которой, можно прошить опенврт и установить Home Assistant или другой софт.
спасибо. по счастливой случайности имею оба DGNWG05LM и ZHWG11LM.
начну со второго тк он вообще отказался работать в России.

У ZHWG11LM кстати зигби модуль немного лучше, в нем есть внешний усилитель, и по моим тестам на ≈30% сигнал сильнее в сравнении с DGNWG05LM.

прошились оба. страшно было включать в сеть при припаянных усб и уарте. но все прошло успешно. спс
Сейчас прошивать можно без припаивания usb, достаточно одного uart и подключения к сети. По WiFi скрипт установки всё скачает и установит.

Ну, а дальше обновляться можно стандартным методом обновления OpenWrt

Зачем столько возни, чтобы получить урезанный HASS? Не проще заплатить всего $10 за orange pi и получить полноценную систему?

+ к ней блок питания, корпус, WiFi и ZigBee, потратить время на соединить и разобраться.

А тут, вроде, всю возню на себя уже взяли авторы: придумали, проверили и написали инструкцию. Плюс готовое промышленное устройство, прилично выглядящее и оптимизированное для работы 24/7. Думаю, выберу такой вариант, когда надо будет поднимать несложную автоматизацию дома у родителей, а себе поковыряться в HASS поставлю как раз Orange Pi.
Спасибо за статью!

Блок питания от телефона, wifi от роутера, а сабж пусть так и останется zigbee шлюзом.
Был бы я новичком, не стал бы портить себе впечатление от системы всякими kernel panic.
А самое главное, что ни на одном форуме вам не помогут с возможными проблемами.

Вы правы, что если решили всерьёз заняться умным домом, то возможно проще приобрести orange pi или другую плату + выбрать стик для zigbee. В случае, если у вас уже есть шлюз xiaomi, или же вы планируете попробовать умный дом на zigbee, то это может быть приемлемым вариантом.

Работа данного шлюза как «просто zigbee шлюз» из коробки оставляет желать лучшего, т.к. список доступных устройств сильно ограничен для европейского региона. И у данного шлюза нет «локального режима», и подключить его к системам УД снаружи будет проблематично.

Ну и данный шлюз действительно после прошивки может работать как zigbee шлюз.
Можно установить zigbee2mqtt и настроить отправку данных во внешний MQTT сервер.
Долгое время я сам использовал такую конфигурацию.

Это не просто урезанный, это кастрированный.
Mqtt вообще утопия. Чем вам файвай не зашёл? Zegbee это прикольно ))))

мне кажется MQTT это хорошее решение. (открытый простой протокол, отличная масштабируемость. приемлемая безопасность, распространённость наконец)… объясните почему вы считаете MQTT утопией?

Уж если хардкор дак по полной. Теперь осталось перепаять микросхемы постоянной и оперативной памяти чтобы расширить удобство.

уже делали. Просто сошлись во мнении что не каждому это под силу. И не стали акцентировать внимание
Сторадж перепаивали и шили патченый лоадер. Хардкор был, просто не все смогут сдуть память и перепаять. А вот подпаять usb разъем для хаба или флешки большинство.
НЛО прилетело и опубликовало эту надпись здесь
При установке скриптом, я в конфиге прописываю, что БД пишется в оперативную память.
Да, при перезагрузке она будет инициализироваться заново, зато за флеш-память можно быть спокойным. Ну или пользователь, наоборот, может включить БД на диске и надеяться, что у флеш-памяти хватит ресурса

Имею обе "подходящие для прошивки" версии шлюзов, один уже шпарит в боевую подключенный к системе автоматизации iobroker, второй временно подключен к тестовой версии и служет развлечением моему двухлетнему сыну. На данный момент все работает достаточно стабильно (как показало незапланированное выключение электроэнергии).

А для DGNWG02LM нет ничего подобного?
Он на другом железе и для него не портировали операционку, но силовая часть и корпус у них частично совпадают. ( правда зеркально )
t.me/xiaomi_gw_hack/72131

На барахолке t.me/zigberu можно спросить иногда продают платы ( от 300 руб ). Которые должны подойти в DGNWG02LM, скорей всего потребуется под датчик освещения что-то городить с другой стороны.

Там гораздо более слабое железо и операционка там не linux, а проприетарная ОС, наподобие FreeRTOS.


Что касается предложения взять плату от 05 и корпус от 02, то тут может возникнуть ряд проблем.


В 05 используются выносные антенны (наклеенные на корпус), а в 02 — встроенные в текстолит. Т.е. для платы ещё потребуется организовать антенны, т.к. их нет в корпусе от 02.
Ну и придётся ломать шахту для датчика освещённости, т.к. она упирается в разъём для динамика.

Красиво! Интересно!
Но, дурацкий вопрос: «А что там с Bluetooth-mesh?» Как-то «тему замяли» :))

Сейчас спешно купленный ZNDMWG03LM /ну, надо было! %)/ работает шлюзом в HA с парой датчиков температуры и мыслью подцепить туда несколько сине-зубых датчиков температуры — благо минимум вдвое дешевле ZB, — с последующим внедрением самопальных железок на сс253х. Но сама идея не отпускает — у той же xiaomi есть нексолько интересных железок под Bluetooth (от датчиков с ЖК до свежих 3-клавишных с дисплеем).

Соб-сно, вопрос: а вообще стоит ли ждать чего-либо в формате стика или ethernet (не wifi) с поддержкой и того и другого? Ну или хотя бы на уровне отдельного стика под синезуб…

Используется модуль RTL8723BS, ble в нем не используется в основной прошивке, но был разведен железно


из спецификации
BT: V2.1+EDR/BT v3.0/BT v3.0+HS/BT v4.0


Ble пакеты в пассивном режиме слушает нормально. Дальность хорошая

+1
… Вот как раз и вопрос, как это всё втащить в mqtt без изучения ещё одного протокола и железки… Я с STM32 ещё не закончил, а тут ZStack разводить и паять пора )).

Спасибо AlexxIT за универсальность 3й версии шлюза — Zigbee завелось сразу и будет что ближе к весне попробовать, если на Али разбанят ))
По стабильности в плане рабочих решений пока не уверен, протестировал вот этот проект
github.com/espruino/EspruinoHub
ловит, парсит, шлет в mqtt нормально.
image

На этой базе и еще одного форка пробую завернуть это в сервис/пакет. Плюс пробовал это все подружить с node-red.
Как заставить это все работать стабильно и помимо пассивной ловли advert пакетов это вопрос)

А есть что-то подобное для openHAB? Все ещё пытаюсь понять, что лучше — хаб или home assistant...

В рамках работы с данным шлюзом, попыток перенести openHAB не было. Если найдутся энтузиасты, готовые портировать, и этой системе будет хватать аппаратных требований, то это будет возможно.
В свете последних (да с год уже) новостей из рассылки openHAB — что-то как-то: «Фу его!»
Пользуюсь им начиная где-то с версии 1.5, сейчас работает 2.0 и «выше» идти как-то совсем неохота. Пока поставил на Raspi-3 как раз HA — для игр с ZigBee, но всё лень и некогда (ибо старое-то работает кое-как) окончательно переползти.

Субъективно, для openHAB надо как бы и не поменьше ресурсов надо (пока память не выжрет и тормозить не начнёт), чем для HA, но… Там и непростая Java, что для меня само по себе «фу!» :) и, главное, в свежих версиях совсем нехорошо, на мой взгляд, с настройкой — от текстовых конфигов они отказались (перенести старые не получится так просто), а новые-гуёвые :) как-то не очень работают и регулярно ломаются, опять же — судя по отзывам в рассылке… Да и с ГУЙ-ом в HA всё существенно веселее, хоть и по-иному устроено — красиво, бо(г)ато, но «панельно» в отличие от НА, где чуть более «таблично». Но в НА всё можно «нарисовать» самому, а в OH — пользуйся тем, что есть или делай совсем своё через REST.

Итого:
— если ОН, то на отдельной чуть-более-мощной железке с 512М+ при отсутсвии других потребителей и связь через MQTT в 90% случаев. Зато есть бесплатный гейт для доставки оповещений. Но нет «произвольной» настройки внешнего вида и массовые проблемы с потерей конфига при перезагрузке, только GUI-конфиг, чудеса с MQTT и т.п. в _нынешних_ версиях… По ресурсам его особо не порежешь — Java + Apache Karaf — некий «монолит», что разумно не «обре́зать»
— если HA, то с памятью сопоставимо, но «комбайн» с гораздо более развитыми «плюшками» и возможностью легко добавить свои при условии знания Python и html+js )). Из минусов — слишком замороченный конфиг и не слишком удобный в плане разбивки на файлы. Но можно как текстом (yaml) так и через ГУЙ (но не всё...) Ну и уже сделано, чтоб работало «в роутере»…

ЗЫ: Как _по_мне_, то решение забавное, но не жизненное — предпочитаю, когда датчик/шлюз отделён он ГУЯ и БД — откажет что-то одно, а второе выживет. Вполне достаточно на такой железке иметь стандартный шлюз (MQTT например) и возможность привязки к нескольким серверам резервным на случай падения… Но, повторюсь, идея — хороша! :)
У меня есть основная плата от этого шлюза, которая осталась в результате переделки шлюза в SLS. SLS-шлюз я сейчас использую в умном доме, но хочется попробовать это решение. Поэтому вопрос, как запитать плату без родного БП, чтобы прошиться? Достаточно подать 5 вольт на пины USB или всё как-то сложнее?
Для питания платы надо подать одновременно 5 и 3.3в. На плате разные чипы требуют разного напряжения.
image
О, я вчера нагуглить распиновку этого разъёма, но ничего не нашёл. 5 и 3.3 В это ожидаемо, с этим я справлюсь. Спасибо!

Купил простую кнопку zigbbe, z2m ее опознал и присоединил, но при нажатии на кнопку ничего не происходит.

Можно ли как то посмотреть - принимает ли z2m какие то данные при нажатии кнопки ? Что то типа debug mode включить ?

Я так понимаю что надо будет написать внешний конвертер для z2m - но сначла хотелось бы понять - идут ли данные ?

К шлюзу toya кнопка нормально присоединяется и работает.

Можно выставить в настройках уровень логирования на info, тогда в логе будут принимаемые данные. Кстати, в доке z2m есть статья про написание внешних конвертеров и там расказывается как отлавливать данные.

Попробуйте поменять прошивку на Zigate из репозитория в проекте openlumi, она лучше работает с устройствами tuya. https://github.com/openlumi/ZiGate/releases

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории