WB Engine

Представляю новый скрипт wb-engine, из особенностей на данный момент:

  • устанавливается с помощью deb пакета
  • после сохранения изменений автоматически перезапускается wb-rules
  • переименование каналов устройств
  • создание виртуальных устройств (Термостат и Датчик движения)
  • добавление каналов/устройств в Home Assistant
  • поддержка контроллера штор Dooya (в Home Assistant создается устройство типа cover)

После установки появится новый пункт в меню Настройки / Конфигурационные файлы: “WB Engine Configuration”

Пример настройки:


Ссылка для скачивания:
https://github.com/4mr/wb-engine

6 Likes

Здравствуйте! Спасибо, что делитесь своими наработками.

Здравствуйте! как соединить его с MQTT Home-Asisstant (вторую интеграцию HA установить не даёт) HA находится не на warenboard.


Wirenboard release wb-2207 (as stable), target wb6/stretch

И ещё если в правилах выбрать файл wb-engine то появлется ошибка:

17-11-2022 22:48:50.043 INFO: all rule files are loaded
17-11-2022 22:48:49.809 INFO: /usr/share/wb-rules/load_alarms.js is NOT under source root /etc/wb-rules
17-11-2022 22:48:49.772 WARNING: couldn’t load /etc/wb-rules/wb-engine.js: Error: error error (rc -100)
anon native strict preventsyield
anon wb-engine:3 preventsyield
require native strict preventsyield
anon /etc/wb-rules/wb-engine.js:1 preventsyield
17-11-2022 22:48:49.772 WARNING: couldn’t load /etc/wb-rules/wb-engine.js: Error: error error (rc -100)
anon native strict preventsyield
anon wb-engine:3 preventsyield
require native strict preventsyield
anon /etc/wb-rules/wb-engine.js:1 preventsyield
17-11-2022 22:48:49.694 ERROR: [rule error] failed to parse json: /etc/wb-
passing raw

Можно подробнее что Вы пытаетесь сделать и как?

Получается у Вас HA стоит в другом месте и там уже есть Mqtt брокер? Тогда вам нужно сделать MQTT Brigde и настроить добавление топиков из MQTT WB в MQTT HA (вариант рабочий, но важно понимать что внутри там ходит, и чтобы небыло пересечения названий топиков). Либо поставить еще один дополнительный инстанс HA и настроить его на MQTT WB + подключить к главному HA дополнительный с помощью интеграции Remote Home Assistant. Еще можете настроить ваш HA чтобы он смотрел в MQTT WB и все другие сервисы которые общаются по MQTT перенастроить на брокер от WB.

Да НА стоит на отдельном компе.
Задумка такая пробросить из WB-MAP3E и WB-MR3, дачкик движения освещения. Вся автоматика делется на НА.

Добрый день, настроил бридж. но в HA обекты не появильсь. НА данные получает.
изображение
wirenboard отмечены два обекта температура CPU, Board
изображение
настройка бриджа на WB
connection WirenBoard_to_Atom
address 172.28.80.24:1883
#keepalive_interval 20
#restart_timeout 20
username XXXXXX
password XXXXX
clientid Wirenboard
try_private false
start_type automatic
topic # both
в HA только завел пользователя MQTT.
Такое подозрение что я чегото недоделал.

Покажите что в топике homeassistant, там должен был появиться субтопик sensor внутри которого Board Temperature.

Да есть такой.
изображение

Должен появиться в списке устройств. Покажите, что внутри board_temperature, содержимое config нужно увидеть, можно текстом.

Ура есть!

изображение


конфиг какой файл показать

Поздравляю :slight_smile: Тогда ничего не нужно.

Благодарю!!! отличная работа!!!
Подскажи чтоб тут (1) появилась запись wirenboard где нужно конфиг поравить. Бриджа я так понимаю?
изображение

Так и должно быть. Это MQTT Explorer разбивает топик /devices/ на вложенные. Если ты поменяешь префиксы у топиков, то перестанут работать устройства в HA.

Скрипт крутой. Не могу понять почему у меня не завелся. Сделал как в примере. Но топики не появились


попробуйте обновить до 0.2.15

   wget https://github.com/4mr/wb-engine/releases/download/v0.2.15/wb-engine_0.2.15_armhf.deb
   dpkg -i wb-engine_0.2.15_armhf.deb

мне на bullseye помогло

1 Like

Вопрос по запароленому доступу к MQTT брокеру
wb-engine не хочет работать в таком режиме на bullseye при установке в /etc/mosquitto/conf.d/10listeners.conf

listener 1883
allow_anonymous false
password_file /etc/mosquitto/passwd/default.conf

как заставить подключаться wb-engine к брокеру с паролем?

Спасибо, устройства залетели. Почему то не сразу, но залетели в HA.

На данный момент такой возможности нет.

Как вариант убрать пароль для локальных подключений, бегло глянул возможности mosquitto и обнаружил такое:

per_listener_settings [ true | false ]
If true, then authentication and access control settings will be controlled on a per-listener basis. 
The following options are affected: password_file, acl_file, psk_file, allow_anonymous, allow_zero_length_clientid, auto_id_prefix.

Можно попробовать сделать два listener , один для 127.0.0.1 (localhost) без авторизации, и второй на внешнем интерфейсе с авторизацией.

1 Like

Просто добавил еще один порт и доступ запаролил (для доступа из другой сети):

# Passwd MQTT port listener.
listener 1884
allow_anonymous false
# acl_file /etc/mosquitto/acl/default.conf
password_file /etc/mosquitto/passwd/default.conf

а ту секцию оставил как есть

# Default MQTT port listener.
#
# It allows anonymous listeners by default to be compatible with
# old Wiren Board mosquitto configuration.
#
# It is recommended to add password authentication and TLS for security.
listener 1883
allow_anonymous true
acl_file /etc/mosquitto/acl/default.conf
password_file /etc/mosquitto/passwd/default.conf

конечно, в идеале, научить бы wb-engine работать с парольным доступом к брокеру

А как сделать инвертированное управление, для например термостата? то есть сейчас реле в блоке Switch Relay, включается что бы поднять температуру и выключаются в противном случае. Мне же нужно наоборот.