В текущей реализации работы с zigbee вообще не учитываются ошибки связи.
Например датчик температуры отвалился, а везде в инфраструктуре wb этого не видно.
Есть какие-то описанные BestPractice для полноценной обработки ошибок Zigbee?
В текущей реализации работы с zigbee вообще не учитываются ошибки связи.
Например датчик температуры отвалился, а везде в инфраструктуре wb этого не видно.
Есть какие-то описанные BestPractice для полноценной обработки ошибок Zigbee?
Пытался сделать обработку через wb-rules, но столкнулся с тем, что для zigbee устройств невозможно получить controlList(), хотя isVirtual() === true и все нужные топики есть.
log.info("0xa4c138dc1a4d80ac");
var device = getDevice(deviceId);
log.info(JSON.stringify(device)); // {"__deviceId":"0xa4c138dc1a4d80ac"}
log.info(device.isVirtual()); // true
var controlList = device.controlsList();
log.info(controlList.length); // ТУТ ПЕЧАТАЕТСЯ 0
Добрый день!
Рекомендую данную статью, где собраны примеры правил и решения от сообщества.
Из часто применяемых вариантов рекомендую помечать устройство как сбойное, если оно не обновляло данные в течение заданного времени.
Рекомендую данную статью, где собраны примеры правил и решения от сообщества.
В той статье нет информации по вопросу.
Из часто применяемых вариантов рекомендую помечать устройство как сбойное , если оно не обновляло данные в течение заданного времени
Я к этому же пришёл, но столкнулся с проблемой, которая описана во втором сообщении.
Насчёт второго сообщения…
Ещё поэксперементировал и выяснил, что такое поведение возникает только если wb-rules запускаются, когда устройство было уже offline.
Если устройство было online,а потом стало offline, то список контролов возвращается нормально.
Добрый день,
Это вполне ожидаемое поведение.
Ну а workaround есть какой-нибудь? Сейчас получается, что любая перезагрузка контроллера/перезапуск wb-rules (при обновлении например) приведёт к тому, что невозможно будет корректно выставить статусы ошибки.
Добрый день!
Посовещался с коллегами — рабочего варианта для отслеживания отключенных Zigbee-устройств нет.
Даже Last seen не дает точного результата, так как устройство может находиться в спящем режиме и появляться в сети только при наступлении определенного события.
В Z2M есть опция “отслеживать состояние устройств” (Настройки - Доступность - Availability).
У устройств появляются топик “availability” с содержимым {“state”: “offline”} или {“state”: “online”}. Может на этом построить отслеживание?
Да, я именно на него и смотрю в своих правилах.
НО! Проблема в том, что если устройство offline и перезапускается wb-rules (обновление, перезагрузка контроллера), то нормально передать статус оффлайн не получается уже.
На что поддержка пока ответила вот так вот ))
Проблема не в том, как определить offline/online, а в том что
Добрый день,
Могли бы вы подробнее описать, как именно проводите эксперимент:
— какие действия выполняете шаг за шагом,
— какие правила или сценарии используете,
— какое оборудование подключено,
— какой ожидается результат и что происходит на самом деле.
Я постараюсь воспроизвести ситуацию у себя и помочь с проблемой.