Интеграция WirenBoard с HomeAssistant

Что можно безболезненно почистить? И как?

Безболезненно - только то что устанавливалось дополнительно. Либо удалить либо перенести в другие разделы.

Самый простой способ - перенести из раздела / на раздел /mnt/data директории с пользовательскими программами, заменив их на разделе / символическими ссылками, например, так:

Здравствуйте! Очень полезная работа, благодарю. Почему-то не появились устройства в ХА, оба файла скопировал, ребут wb rules, ребут контроллера- тщетно. Mosquitto и интеграцию MQTT в ХА перезагружал. Другие топики вручную через интеграцию видны, но не больше( ЧЯДНТ?

Проверять надо в разных местах:

  1. стоит ли галочка в ХА в настройках интеграции (Добавлять новые объекты / Home Assistant будет автоматически добавлять новые обнаруженные устройства MQTT)
  2. смотреть логи wb-rules (journalctl -f -t wb-rules)
  3. смотреть что внутри mqtt , подключиться к брокеру через mqtt-explorer (должны присутствовать топики вида: homeassistant/light/wb-mdm3_181/k1/config)
1 лайк

Добрый день. Закинул оба файла, поправил адреса устройств в homeassistant.js
В HA устройств нет, где что еще прописать? обе железяки перегружал.

Сообщением выше писал по пунктам куда смотреть. Перезагружать устройства точно не обязательно. Достаточно рестарта службы wb-rules. HA должен смотреть на mqtt брокера ВБ.
Первое куда бы я смотрел вывод логов wb-rules, скрипт туда пишет и через mqtt-exploerer бы посмотрел появились ли топики для HA.

1 лайк

А кто нибудь знает как добавить Supervisor в HA на Wireboard?
Инструкция, что в этой теме, не работает.

2 лайка

а если у меня эти топики сами пропадают?? Какое-то время все было норм, потом начали устройства становиться недоступны. При чем 2 из 3 MR6C по прожнему работают нормально и топике на брокере есть, а одно стало недоступно. Планируется ли “решение” от поддержки WB? Что бы это все более нативно работало.
Так же хотел спросить, пробовал ли кто ни будь вот этот GW?

решил глянуть журнал в момент перезагрузки движка правил, и поймал вот такую ошибку:

сен 22 23:23:51 wirenboard-ADF4GFHY wb-rules[26044]: INFO: [engine] Stopping sync loop
сен 22 23:23:51 wirenboard-ADF4GFHY wb-rules[26044]: INFO: [engine] Stop main loop
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: driver is created
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [wbgo_mqtt] rules-wirenboard-ADF4GFHY-28054: MQTT connection established
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: driver loop is started
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: wait for driver to become ready
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: driver is ready
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] using file /var/lib/wirenboard/wbrules-persistent.db for persistent DB
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [wbgo_mqtt] wb-rules-engine-wirenboard-ADF4GFHY-28054: MQTT connection established
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [engine] Starting sync loop
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [engine] Starting main loop
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: the engine is ready
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: /usr/share/wb-rules-system/rules/buzzer.js is NOT under source root /etc/wb-rules
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: /usr/share/wb-rules-system/rules/hwmon.js is NOT under source root /etc/wb-rules
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: /usr/share/wb-rules-system/rules/network.js is NOT under source root /etc/wb-rules
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: /usr/share/wb-rules-system/rules/power-class-battery.js is NOT under source root /etc/wb-rules
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: Device "ppp0" does not exist.
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: network/Wi-Fi IP: failed to convert value '', passing raw
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: network/Wi-Fi 2 IP: failed to convert value '', passing raw
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: network/Ethernet 2 IP: failed to convert value '', passing raw
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: /usr/share/wb-rules-system/rules/power_status.js is NOT under source root /etc/wb-rules
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: network/GPRS IP: failed to convert value '', passing raw
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: /usr/share/wb-rules-system/rules/system.js is NOT under source root /etc/wb-rules
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: /usr/share/wb-rules-system/rules/wb-mqtt-dac.js is NOT under source root /etc/wb-rules
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: sh: echo: I/O error
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: ERROR: command '/bin/sh -c echo 1  > /sys/class/pwm/pwmchip0/export' failed with exit status 1
сен 22 23:23:52 wirenboard-ADF4GFHY wb-rules[28054]: INFO: /usr/share/wb-rules-system/rules/wbmz-battery.js is NOT under source root /etc/wb-rules
сен 22 23:23:53 wirenboard-ADF4GFHY wb-rules[28054]: sh: 4: /etc/wb_env.sh: source: not found
сен 22 23:23:53 wirenboard-ADF4GFHY wb-rules[28054]: ERROR: [rule error] failed to open config file: /var/lib/wb-mqtt-dac/conf.d/system.conf
сен 22 23:23:53 wirenboard-ADF4GFHY wb-rules[28054]: INFO: system/DTS Version: failed to convert value '', passing raw
сен 22 23:23:53 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:53 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] add your rules to /etc/wb-rules/
сен 22 23:23:53 wirenboard-ADF4GFHY wb-rules[28054]: INFO: /usr/share/wb-rules/load_alarms.js is NOT under source root /etc/wb-rules
сен 22 23:23:53 wirenboard-ADF4GFHY wb-rules[28054]: INFO: all rule files are loaded
сен 22 23:23:53 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:53 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:53 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:53 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:54 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:54 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:54 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:54 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:54 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:54 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:54 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:54 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:54 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:55 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:55 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:55 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:55 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitWaitTimer
сен 22 23:23:55 wirenboard-ADF4GFHY wb-rules[28054]: INFO: [rule info] hassInitMain
сен 22 23:23:55 wirenboard-ADF4GFHY wb-rules[28054]: ERROR: [rule error] ECMAScript error: TypeError: invalid base value
                                                                duk_hobject_props.c:2000
                                                                hassInit hass:567
                                                                anon hass:555 preventsyield

что это может быть? При чем, на WB я вижу нужные топики в
homeassistant/light/wb-mr6c_174/k1/config
а в mosquitto, этого топика нет.
WB:

mosquitto:

конфиг “моста” такой:

#see bridge.conf.example for the example
connection bridge-wb-iob
#address of server
address 192.168.1.38:1883
notifications true
notification_topic /clientnotification/bridge-wb-iob_status

topic # both

Еще из наблюдения, почему-то отсутствует топик, который прописан в конфиге для HA “availability_topic”: “/devices/wb-mr6c_174/controls/Input 5/meta/available”, при этом на таком же точно устройстве с адресом 164, где так же нет топика, состояние выключателя отображается. Не пойму, может потому что я часть устройств переименовал в самом HA?
Проверил топики, почему-то для каких то устройств топик на WB meta/available создается, а для каких-то нет. Как бы это вычислить и по какому принципу они создаются?

Это ошибка сервиса wb-rules. Вызвана предположительно ошибкой в правилах. Похожую ошибку может выдавать скрипт wb-zigbee2mqtt, когда zigbee устройство присылает данные в неподдерживаемом формате.

хм… да, у меня на этом брокере действительно “крутиться” еще и z2m. Как тогда отделить мух от котлет? Как лучше реализовать интеграцию с HA? При условии, что мне нужен отдельный Z2M и еще куча других устройств, которые так же работают с mqtt брокером и отправляют в него свои данные для HA.
Можно ли использовать MQTT брокер WB как “центральный” в системе? Или в его топики лучше не лесть, что бы не получить ошибку как выше?

1 лайк

это можно как-то исправить? настроить z2m что бы присылал в “правильном” формате, исключить обработку топика z2m из движка правил? Какие варианты?

Багрепорт о данной ошибке уже создан для разработчиков.

Формат данных от устройств Zigbee изменить не получится. Если эта ошибка мешает и она действительно вызвана некорректной обработкой сообщений, то можно удалить пакет wb-zigbee2mqtt. Но в этом случае топики Zigbee-устройство не будут отображаться в веб-интерфейсе.

Так он и не установлен. По крайне мере через apt remove zigbee2mqtt говорит, что такой пакет не установлен.
Мне и не нужно отображение z2m устройств в WB, у меня они в HA управляются. Поэтому и говорю, как отключить обработку этого топика в WB?

root@wirenboard-AOUKUGJ3:~# apt search wb-zi
Сортировка… Готово
Полнотекстовый поиск… Готово
wb-zigbee2mqtt/testing 1.1.0 all
  zigbee2mqtt to Wiren Board MQTT Conventions bridge

root@wirenboard-AOUKUGJ3:~# apt remove wb-zigbee2mqtt
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Пакет «wb-zigbee2mqtt» не установлен, поэтому не может быть удалён
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
root@wirenboard-AOUKUGJ3:~#

Обратите внимание, wb-zigbee2mqtt.

zigbee2mqtt тоже не установлено.

root@wirenboard-AOUKUGJ3:~# apt remove zigbee2mqtt
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Пакет «zigbee2mqtt» не установлен, поэтому не может быть удалён
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
root@wirenboard-AOUKUGJ3:~# systemctl disable zigbee2mqtt
Failed to disable unit: No such file or directory
root@wirenboard-AOUKUGJ3:~#

Еще раз, wb-zigbee2mqtt
wb-zigbee2mqtt

да у меня ни того ни другого не установленное в системе. Я понял, что это разные пакеты, посмотрите внимательно, я же разные выводы из консоли показываю.
Пакет «wb-zigbee2mqtt» не установлен, поэтому не может быть удалён
Пакет «zigbee2mqtt» не установлен, поэтому не может быть удалён