Здравствуйте. Использую razberry. Включил в сеть несколько устройств: fibaro fgd-211, fibaro fgs-221, tkbhome tz76. С чем связано следующее: отчеты о смене состояния (при локальном управлении) приходят только от fgd-211. От остальных устройств не приходят, хотя в их группе ассоциации (для отчетов) включен контроллер сети (razberry). |
Дело в том, что FIB_FGS-221 с двумя реле и неверно отправляет отчёты - они приходят в instance[0]. Это проблема самого реле - Z-Way не может угадать, от какого канала пришло обновление. Единственный выход - посадить запрос состояний обоих реле на получение отчёта на нулевой. Как-то так: zway.devices[id].instances[0].SwitchBinary.data.level.bind(function() { zway.devices[id].instances[1].SwitchBinary.Get(); zway.devices[id].instances[2].SwitchBinary.Get(); }); |
Связь стабильная: все устройства находятся в одной комнате на расстоянии 1-3м без перекрытия сигнала. Обновление маршрутов проходит успешно. Пробовал исключить все устройства, сбросить контроллер и заново включить устройства в сеть - без результата. При этом (после сброса контроллера) сам контроллер определился как "Device 1", хотя после первого включения он сам себя назвал Razberry. Если нажать в веб-интерфейсе "Update" или "Update all", то данные о состоянии обновятся. Проблема в том, что я использую самописные сценарии, которые берут данные вида "http://"+address_port+"/ZWaveAPI/Run/devices[4].instances[1].SwitchBinary.data.level.value", откуда приходят устаревшее состояние (касается только реле fibaro fgs-221, tkbhome tz76). Диммер (fibaro fgd-211) исправно отсылает отчеты. Может быть есть какая-то процедура заводского сброса для устройств? Или можно контроллер принудительно попросить собрать данные с устройств (типа http://"+address_port+"/ZWaveAPI/Run/devices[1].instances[0].update.all.data)? Меня бы устроило. Заранее спасибо!