Такой простой вопрос. Я передаю из ESP32 в брокер WirenBoard топик “esp32/temp” - 23.5, в брокере он появился, как теперь его увидеть в MQTT-каналах и/или в виртуальном устройстве ?
Добрый день!
Чтобы топик корректно отображался в интерфейсе контроллера, он должен соответствовать нашим MQTT-конвенциям. То есть просто esp32/temp не подходит, он должен быть в виде /devices/esp32/controls/temp.
Посмотрите документ про конвенциям, он поможет понять. Для легкого старта вы можете описать в движке правил виртуальное устройство с нужными контролами, посмотреть их топики и публиковать из esp-ишки значения в них.
Пример виртуального устройства:
defineVirtualDevice("esp32", {
title: { ru: "ESP32" },
cells: {
temp: {
title: "Температура",
type: "value",
units: "°C",
readonly: true,
value: 0
}
}
});
После сохранения этого правила вы сможете увидеть набор топиков этого устройства:
mosquitto_sub -v -t "/devices/esp32/#"
/devices/esp32/meta {"driver":"wb-rules","title":{"ru":"ESP32"}}
/devices/esp32/meta/driver wb-rules
/devices/esp32/controls/temp 0
/devices/esp32/controls/temp/meta {"order":1,"readonly":true,"title":{"en":"Температура"},"type":"value","units":"°C"}
/devices/esp32/controls/temp/meta/type value
/devices/esp32/controls/temp/meta/order 1
/devices/esp32/controls/temp/meta/readonly 1
Если теперь попробовать опубликовать новое значение в топик /devices/esp32/controls/temp:
mosquitto_pub -t "/devices/esp32/controls/temp" -m 36.6, то оно появится в интерфейсе:
В документации, на которую я ссылаюсь, есть более подробные и продвинутые примеры.



