Через mqtt не управляется удалённо

Добрый день.

Управляю контроллером удаленно по mqtt. Подключился к серверу clusterfly, и через него читаю параметры, но записывать обратно в контроллер не удается.

В контроллере wirenboard 8 установлен модуль расширения knx, который подключен к контроллеру Siemens RMU730B. Все параметры видны. Из контроллера через веб-интерфейс изменения в siemens проходят, уставки изменяются, контроллер перестраивается.

Но удаленно происходит странное: изменяю уставку через удаленное приложение, изменяется она же в MQTT-Explorer, который подключен к clusterfly, изменяется также в веб-интерфейсе wirenboard. Но в siemens ничего не происходит. Потом, при обновлении страницы веб-интерфейса, параметры сами возвращаются к предыдущим. Но если через веб интерфейс эти параметры изменить, они принимаются контроллером.

содержание файла /etc/mosquitto/conf.d/20bridges.conf

connection clusterfly
address srv2.clusterfly.ru:9991
remote_username user_4d7ad651
remote_password password_ddd
try_private false
notifications true
notification_topic /client/wb_7/bridge_status
start_type automatic
topic /devices/K1/controls/+ both 0 ““ user_4d7ad651
bridge_insecure true
cleansession false

А в какой топик пишите новые значения? В конце /on добавляете?

Пишу в топик без “/on”.

Когда пытаюсь добавить в конец ‘/on’, вообще ничего не происходит: не изменяется ничего вообще. А так хоть проходит изменение, видимое в веб интерфейсе

Может нужно что-то изменить в этой строке файла /etc/mosquitto/conf.d/20bridges.conf?

topic /devices/K1/controls/+ both 0 ““ user_4d7ad651

Как-будто он только на чтение настроен, а на запись не даёт

надо передавать значение в /on, тогда WB будет на это реагировать.

а скрин из «Истории МКТТ» можно увидеть по вашему устройству? странное название K1

Такая картина получается, когда пишу в топик без ‘/on’: данные изменяются, потом после обновления возвращается как до изменения (было 24, вернулось в 24)

Когда пишу в топик с ‘\on’ вообще никакого движения нет.

Может в контроллере по умолчанию защита от записи стоит?

Проверьте пожалуйста, опубликовав с компьютера. То есть - подпишитесь на устройство, целиком с подтопиками и опубликуйте.

Что такое “защита от записи” в контексте брокера?

С компьютера работает, я проверял через ssh

Что такое “защита от записи” в контексте брокера?

Блокировка записи из внешнего брокера, например, без установки пароля.

Что-то явно мешает записи

Вот тут не совсем понятно, к сожалению.

Как я проверяю, опишу:
На компьютере две консоли, в одной подписываюсь на топики устройства, например

mosquitto_sub -v -h 10.0.0.78 -t /devices/wb-gpio/controls/A1_OUT/# |ts
May 08 12:44:03 /devices/wb-gpio/controls/A1_OUT/meta {"order":1,"readonly":false,"type":"switch"}
May 08 12:44:03 /devices/wb-gpio/controls/A1_OUT/meta/readonly 0
May 08 12:44:03 /devices/wb-gpio/controls/A1_OUT/meta/order 1
May 08 12:44:03 /devices/wb-gpio/controls/A1_OUT/meta/type switch
May 08 12:44:03 /devices/wb-gpio/controls/A1_OUT 0
May 08 12:45:13 /devices/wb-gpio/controls/A1_OUT/on 1
May 08 12:45:13 /devices/wb-gpio/controls/A1_OUT 1

Во второй - публикую.

mosquitto_pub -h 10.0.0.78 -t /devices/wb-gpio/controls/A1_OUT/on -m "1"

Вот как раз видно в консоли с подпиской, в момент “May 08 12:45:13” опубликовал в “/on” значение.
Драйвер его обраболтал: “May 08 12:45:13 /devices/wb-gpio/controls/A1_OUT 1” выставив основной топик в “1”.

То же самое происходит при управлении из веб-интерфейса, я выключил, включил и сновы выключил канал:

ay 08 12:49:09 /devices/wb-gpio/controls/A1_OUT/on 0
May 08 12:49:09 /devices/wb-gpio/controls/A1_OUT 0
May 08 12:49:09 /devices/wb-gpio/controls/A1_OUT/on 1
May 08 12:49:09 /devices/wb-gpio/controls/A1_OUT 1
May 08 12:49:10 /devices/wb-gpio/controls/A1_OUT/on 0
May 08 12:49:10 /devices/wb-gpio/controls/A1_OUT 0

Вы настраивали какие-то ограничения, специальные acl?

Ограничения не настраивал

С консолями сейчас продемонстрирую

root@wirenboard-AWEZ62NF:~mosquitto_sub -t ‘/devices/K1/controls/C1_EconomyHeatingSetpoint/#’ -v
/devices/K1/controls/C1_EconomyHeatingSetpoint/meta {“max”:670760.96,“min”:-671088.64,“order”:5,“readonly”:false,“title”:{“en”:“\u041a\u043e\u043d\u0442\u0440.1: \u042d\u043a\u043e\u043d\u043e\u043c \u041e\u0442\u043e\u043f\u043b.”},“type”:“value”}
/devices/K1/controls/C1_EconomyHeatingSetpoint/meta/order 5
/devices/K1/controls/C1_EconomyHeatingSetpoint/meta/readonly 0
/devices/K1/controls/C1_EconomyHeatingSetpoint/meta/min -671088.64
/devices/K1/controls/C1_EconomyHeatingSetpoint/meta/type value
/devices/K1/controls/C1_EconomyHeatingSetpoint/meta/max 670760.96
/devices/K1/controls/C1_EconomyHeatingSetpoint 11

# здесь изменил из web-интерфейса
/devices/K1/controls/C1_EconomyHeatingSetpoint/on 15
/devices/K1/controls/C1_EconomyHeatingSetpoint 15
/devices/K1/controls/C1_EconomyHeatingSetpoint 15

# здесь изменил из соседней консоли
/devices/K1/controls/C1_EconomyHeatingSetpoint/on 13
/devices/K1/controls/C1_EconomyHeatingSetpoint 13
/devices/K1/controls/C1_EconomyHeatingSetpoint 13

Через веб-интерфейс и консоль проблем с изменениями нет, я же писал.

Удалённо не могу изменять с сервера srv2.clusterfly.ru, не принимает. Картинку только изменяю, когда пытаюсь написать, но не более

Опишите пожалуйста (лучше - покажите команды и реакцию на них)

А как вы при такой конфигурации видите обработку субтопиков, кстати?

Отлично, спасибо за наводку

Изменил в этой строке topic /devices/K1/controls/+ both 0 ““ user_4d7ad651 ‘+’ на ‘#’ и всё заработало

Итого правильная строка:

topic /devices/K1/controls/# both 0 ““ user_4d7ad651

Ну, решение в лоб, но допустимо, конечно.

Поясните вашу мысль. Или дайте полезную ссылку почитать