Переименование топиков в MQTT

Пока как временное решение - свой conf-файл для устройства с контролами без пробелов.

1 лайк

пробелы и кириллица всегда зло) Я теперь тоже сделал свои конфиги и все пробелы убрал.

попробовал два варианта пробелов.
http://jkorpela.fi/chars/spaces.html
Скрипты их понимают, отображают в логах верно, бридж не ругается. Но брокер их все-равно не видит. Пробелов в юникоде много, потому да, не использовать, наверное лучший вариант. Ну а производителям, получается, все топики переименовать, пробелы лучше заменить на _. Или, быть может, кто-то найдет какой именно этот “тот самый” пробел) Но везде, где видел по mosquitto - не использовать.

PS. Попробовал явно задать пробел \u0020 и в бридже и в темплейте. Отобразилось в морде норм, бриджо не сглючило, но брокер не принимает. Он сам что-то с пробелами у себя делает, причем не трет, проверил.

Брокер их не то чтобы не понимает, он их понимает как топик с этими символами и ждёт их, но так как их физически нет, то и отображать нечего.

как вы поняли, что брокер ждет топик с пробелом, что он этот пробел не преобразовал к чему-то и не ждет вот это преобразованное значение, которое не совпадает с тем, что в бридже?

  1. bridge не падает
  2. Подписавшись на этот топик на брокере мы его не наблюдаем

Можно для чистоты эксперимента создать control с “\u0020” вместо пробела и он должен считаться.
У меня это не вышло, так как я это стал делать через Виртуальное устройство (проверку синтаксиса не прошло)
Возможно это получится если создать через конфигурационный файл устройства.

я это делал:

“PS. Попробовал явно задать пробел \u0020 и в бридже и в темплейте. Отобразилось в морде норм, бридж не сглючило, но брокер не принимает. Он сам что-то с пробелами у себя делает, причем не трет, проверил.”

не принимает, в смысле не реагирует на изменения этого топика

Здравствуйте, вы показали как переименовать устройство подключенное по RS-485? а как переименовать датчик температуры подключенный к 1W? или по Zigbee?

А у них номера вообще уникальные. Как MAC-адреса.

Если нужно красивое название в интерфейсе, желательно использовать виртуальные устройства: https://wirenboard.com/wiki/index.php/Движок_правил_wb-rules#.D0.9F.D0.B5.D1.80.D0.B2.D0.BE.D0.B5_.D0.BF.D1.80.D0.B0.D0.B2.D0.B8.D0.BB.D0.BE_.D1.81_.D0.B2.D0.B8.D1.80.D1.82.D1.83.D0.B0.D0.BB.D1.8C.D0.BD.D1.8B.D0.BC_.D1.83.D1.81.D1.82.D1.80.D0.BE.D0.B9.D1.81.D1.82.D0.B2.D0.BE.D0.BC

1 лайк