Пробел в Mqtt-мосте Wirenboard

Добрый день, у нам нужно из этого топика “/devices/n1/controls/Urms_L1/on” отправить значение в этот топик “/devices/bAf0r0_bAf0r0_14_n1_IDD/controls/Urms L1”.
Было принято решение просто использовать mqtt-мост


Но контроллер данные в этот топик не публикует:
/devices/bAf0r0_bAf0r0_14_n1_IDD/controls/Urms L1
Как можно обозначить для linux то, что межу Urms и L1 стоит пробел и то что данные надо отправлять именно в /devices/bAf0r0_bAf0r0_14_n1_IDD/controls/Urms L1?

Добрый день.
mosquitto не позволяет использовать пробелы в топках используемых для конфигурирования моста: mqtt - mosquitto.conf: bridged topic names with spaces - Stack Overflow

Если планируете публикацию а пределах одного контроллера - то используйте штатный движок правил.


Нам подойдет данный пример?
Но у нас очень много топиков, которые надо переформировать…
Вообще мы данные получаем на контроллер по OPC UA, может быть есть способ чтобы параметры отправлялись не только в контролы /on?

Подойдет.

Создайте правила функцией, которая их переберет.

Я не понимаю как шлюз связан с /on


Вот, у нас параметры из Scada поступают так
Я не знал как мне объявить на WB7 контролы для записи поэтому сделал так:
в mqtt-serial создал устройство по протоколу modbus и прописал там регистры для записи.
Топики этого устройства появились в wb-mqtt-opcua.conf и соответственно появились в opc браузере scada, там уже я к этим тегам привязал параметры
Если есть другой способ как на WB организовать прием параметров по OPC можете пожалуйста объяснить?


Созданное устройство в wb-mqtt-serial.conf

Вот параметры появились в wb-mqtt-opcua.conf

И вот они уже в opc браузере SCADA

image
И вот так эти параметры уже отображаются в wirenboard7

Зачем? Создаваемое сервисом wb-mqtt-serial устройство (топики) подразумевает что и значения в нем будут устанавливаться именно этим сервисом.
Не очень хорошая реализация.
Если нужны виртуальные топики - то и создавать их надо сразу как виртуальные, например GitHub - wirenboard/wb-rules: Rule engine for Wiren Board

То есть, если мы создадим виртуальное устройство, у нас данные будут публиковаться в виртуальные топики, а не в топики /on ?

Если использовать стандартные метод присвоения (публикации) dev[topick] = value - да, конечно в сам топик.