Здравствуйте! Имеется z-wave диммер Fibaro Dimmer 2 (FGD-212 Ru v3.5). Настраивал в точности с руководством на сайте. По итогу диммер видится и управляется через z-wave сервер, но в каналах MQTT он не появился. В чём может быть проблема и как это исправить?
Отлично.
Нам понадобится MQTT Explorer — это чтобы посмотреть, что происходит за «кулисами» веб-интерфейса.
Итак:
- Давайте убедимся, что у вас последняя версия z-way-server, для этого пришлите вывод команды
apt policy z-way-server
. - Подключитесь к MQTT-брокеру контроллера с помощью MQTT Explorer. После подключения найдите в дереве топиков устройство
/devices/z-way
и пришлите скриншот содержимого топика controls, у меня это выглядит так:
Теперь перейдите в веб-интерфейс Z-Way и далее:
- Откройте вкладку Elements, найдите среди устройств ваш диммер и нажмите на шестерёнку в углу:
- Прокрутите открывшуюся страницу настроек вниз и разверните аккордеон API commands for developers
- Найдите в тексте deviceType и пришлите его значение:
Этой информации должно хватить, чтобы понять, что происходит и куда двигаться.
-
z-way-server:
Installed: 3.2.2-93-g8c133c1
Candidate: 3.2.2-93-g8c133c1
Version table:
*** 3.2.2-93-g8c133c1 990
990 http://deb.wirenboard.com/wb6/stretch testing/main armhf Packages
100 /var/lib/dpkg/status
“deviceType”: “switchMultilevel”,
Неожиданно, что в значении value.
Если сейчас изменить в веб-интерфейсе Z-Way настройки диммера, например, выставить на 50%, то значение value сменится на 50?
Хочу ещё отметить что коллега мне порекомендовал создать js правило с содержимым:
runShellCommand(“mosquitto_pub --retain -t “/devices/z-way/controls/Fibaro Dimmer (5.1) 5-1-38/meta/type” -m value”)
После перезагрузки контроллера, появился mqtt топик
Но значение с нулевого не меняется вообще
Ну это он попытался исправить следствие, а не причину, что нам немного смазало картину теперь. Давайте вернёмся в начало:
- Удалите в MQTT Explorer топик /devices/z-way/controls/Fibaro Dimmer (5.1) 5-1-38
- Перезапустите интеграцию Wiren Board MQTT Integration
- Снова пришлите скриншот топика устройства в /devices/z-way
Заодно приложите текстовым файлом всю информацию, которая доступна в настройках устройства в разделе API commands for developers.
И удалите правило, пожалуйста, чтобы оно нам не мешало.
Получилось
В Fibaro Dimmer (6.1) 6-1-38 отображается текущее диммирование
Отлично, теперь устройство должно появиться в веб-интерфейсе контроллера. Проверьте, пожалуйста.
Ошибся, я посмотрел на Fibaro Dimmer (5.1)
Да. Оно под другим номером
Оно, кстати, тоже неверно определилось, должен быть ползунок.
Совершенно непонятно, почему интеграция не создаёт нормальные топики. Для димера она должна была создать такую конструкцию:
Смотрим дальше.
Здесь есть топики димеров Fibaro Dimmer (5.1), Fibaro Dimmer (6.2) — это вы сами создали, или они создались автоматически?
Когда вы говорили, что перезапустили интеграцию, то что вы имели ввиду? Я подразумевал действия по этой инструкции. На всякий случай скажу, что перезапуск z-way-server интеграцию не перезапускает.
Топик 6.2 создался автоматически
Интеграцию перезапускал через кнопку play/pause
Вот это и странно, при создании топика должно было создаться описание meta.
Хорошо, спасибо.
Теперь давайте вернёмся к рекомендации вашего коллеги, но с новыми знаниями, создайте и сохраните правило со строками:
runShellCommand('mosquitto_pub --retain -t "/devices/z-way/controls/Fibaro Dimmer (6.1) 6-1-38/meta/type" -m range');
runShellCommand('mosquitto_pub --retain -t "/devices/z-way/controls/Fibaro Dimmer (6.1) 6-1-38/meta/z-wave_type" -m switchMultilevel');
runShellCommand('mosquitto_pub --retain -t "/devices/z-way/controls/Fibaro Dimmer (6.1) 6-1-38/meta/max" -m 99')
После этого в веб-интерфейсе должен появиться ползунок. Потом подвигайте ползунок и посмотрите, изменится ли значение в веб-интерфейсе Z-Way.
Так мы выясним, интеграция просто не создаёт верное описание топика или проблема ещё глубже.
Можно ещё на всякий случай перезапустить интеграцию.
Создал
Ползунок двигается и диммирует. Как убрать топик 5.1?
То есть теперь диммер работает?
Просто удалите топик в MQTT Explorer.
Ну получается диммер работает! Но вот вопрос - почему автоматически диммер не добавился, а только после прописывания дополнительных правил?
Отлично.
Это какой-то баг в интеграции, но пока не понятно, где именно. Интеграцию когда-то давно писали мы, будем искать такой диммер и выяснять причину.
Как временное решение, могу пока только рекомендовать создавать описание топиков для диммеров через правила.
Спасибо вам большое за диагностику, будем разбираться и исправлять.