Обновить
10
Николай@kuprin_n

Пользователь

2
Подписчики
Отправить сообщение

Минус потому что не было желания повторять чьё-то решение, а насчет надежности я соглашусь, тем более проект писался после перерыва в кодинге и предназначался изначально для портфолио

Сложно сравнить с Home Assistant, слишком много различий, проще кратко описать особенности:

  • весь сервер представляет из себя бинарник (собирается под linux и windows) + yaml файл настроек

  • графический интерфейс отсутствует, управление идет через mqtt: предполагается использование готовых mqtt панелей под iOS или Android

  • до запуска сервера в файле настраивается порт для cc2530(2531), учетка mqtt брокера и колличество/тип точек автоматизации (освещение, отопление, сигнализация)

  • используется только протокол zigbee

  • при сопряжении устройства zigbee пользователь выбирает только точку автоматизации для привязки, тип, роль и настройки устройства сервер выбрает сам

Я так не считаю. По моему мнению zigbee - лучший беспроводной протокол для бюджетной домашней автоматизации. Но есть одно но. Дело в том, что zigbee не работает сам по себе, над ним есть более высокоуровневая надстройка Zigbee Cluster Library (ZCL), которая определяет что, как и когда определенный тип устройств должен передавать и эта вещь в теории должна стандартизировать работу всех однотипных устройства разных производителей, что свело бы к минимуму проблемы и привело бы к полной совместимости между оборудованием разных фирм. А на практике в API беспроводных устройств творится полный хаос, причем изменения настолько нелогичные, что они, скорее всего, внесены специально с целью несовместимости с оборудованием других производителей.

Датчики от Xiaomi (возможно и других производителей тоже, но с другими я не работал) действительно засыпают. Дело в том, что устройства с батарейным питанием большую часть времени находятся в выключенном состоянии: радочасть обесточена, а практически весь контроллер спит и просыпается либо по таймеру, либо по сигналу переферии (например при физическом нажатии кнопки) и только после пробуждения происходит передача данных по zigbee. Скорее всего, несколько раз проснувшись, отправив данные на координатор и не получив подтверждение о их получении датчик температуры понимает, что сети больше нет и перестает просыпаться. Конкретно датчики температуры и освещенности Xiaomi обратно подключаются к сети при кратковременном нажатии на кнопку сопряжения (для выключателей работет нажатие на основную кнопку, для датчика открытия - манипуляция с магнитом) и продолжают работать дальше. Но есть нюанс: при повторном подключении на координаторе происходит индикация подключения(ZDO_TC_DEV_IND) устройства как при сопряжении, и вот тут zigbee2mqtt может некорректно обрабатывать этот момент (в моей библиотеке такая ситуация учтена).

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Системный инженер, Разработчик приложений
Младший
C++
Разработка программного обеспечения
Алгоритмы и структуры данных
Visual Studio
C++ stl
C++ boost
Cmake
Многопоточность
Объектно-ориентированное проектирование