Z-Wave устройства в системе


#1

Здравствуйте!

Пытаюсь разобраться в системе интеграции c Z-Way. Подключил пока что одно z-wave устройство, термостат heatit

Данное устройство видно в Z-Way

как три устройства (RO - чисто созерцаем параметр, RW - можем менять)

  1. RO - Текущая температура пола 20.2
  2. RW - Температура к которой стремится термостат 30.5
  3. RW - Состояние термостата вкл/выкл

А вот как этот термостат выглядит в WB Web UI

wbwebui

Возникает ряд вопросов

  1. Откуда такое именование устройств и параметров? Есть ли какой-то способ делегирования от z-way в wb ну или хотябы “ручками” назначить?
  2. Первому zway устройству соответствует 0_49_1, по нему вопросов нет
  3. 0_67__11 я так понимаю соответствует второму девайсу в плане чтения, но как его менять?
  4. Не понятно что за параметр 0_64__1, третья температура, но чего, откуда?
  5. Третьему устройству соответствует 0_64, но почему она в виде range? ON/OFF должно быть

Также хотелось бы управлять другими параметрами доступными через zway expert ui, например режим работы термостата, есть ли какой способ вытащить эти “кишки”?

Также в wb появляется такой девайс

Что это?


#2

Добрый день!

Внутри каждого Z-Wave устройства много параметров, которые меняются и которые можно менять. Большинство из них - служебные (флаги состояний, поддержка каких-то специальных возможностей и т.д.). Наша служба интеграции https://github.com/contactless/wb-mqtt-zway/ старается вытащить самые важные в интерфейс Wiren Board. К сожалению, угадывает она не всегда.
Если вы связаны с программирование, вы можете модифицировать wb-mqtt-zway под ваше устройство, и пересобрать его.
wb-mqtt-zway работает с софтом Z-Way через их API (начать https://www.generationrobots.com/media/Domotique/Z-Way-developers-documentation.pdf) Оно отдаёт все параметры всех устройств, а мы в них копаемся. Способа получить только параметры, которые у вас отображаются на главной странице Z-Way, насколько нам известно, нет.
Если какого-то нужного параметра нет, то можно его получить вручную, правда, довольно сложным способом. Для этого нужно из движка правил выполнить внешнюю команду, что-то вроде
curl -s -g -u admin:put_password_here localhost:8083/ZWaveAPI/Run/devices[1].instances[0].commandClasses[113].data[6].event.value
– так я получал значение датчика открытия окна, значение с которого по умолчанию тоже не выводилось в наше ПО.

Как понять, что должно быть вместо devices[1].instances[0].commandClasses[113].data[6].event.value
?
Для этого можно выполнить команду до последнего слэша, тогда она выдаст большой файл со всеми параметрами все устройств. После этого можно поменять требуемый параметр (например, погреть датчик), и посмотреть разницу выводов (например, через diff). Так вы поймёте, в каком именно параметре хранится нужное значение.