Вероятно были — да.
скопировал из MQTTX
вот
команда pub стала видна в sub — но в панель не залетело число 15
вот какая команда была.
mosquitto_pub -t iot_s/use/062054231920022/Topics2/fmt/json -m “{“d”:{“ItemValue2”:15},“ts”:”“}”
Это от MQTTX публикация — залетает в панель
iot_s/use/062054231920022/Topics2/fmt/json {
“d”:{
“ItemValue2”:24
},“ts”:“”
}
Это от сессии SSH WB
iot_s/use/062054231920022/Topics2/fmt/json {d:{ItemValue2:15},ts:}
но в панель не залетает — видно синтаксис не совсем такой
Обратите внимание: в результате использования таких кавычек публикуется без них:
Используйте именно так как я предлагал выше:
mosquitto_pub -t iot_s/use/062054231920022/Topics2/fmt/json -m '{"d":{"ItemValue2":15},"ts":""}'
Ну и покажите результат.
Круто — сработало.
и в панели меняется.
вот теперь подошли к главному. В панели хочу прочитать значение допустим топика от WB
/devices/hwmon/controls/Board Temperature
как это провернуть?
Я думаю что публикацию достаточно описать как
function makeRulePub(sourceTopick, destName, destTopick){
defineRule(destName, {
whenChanged: sourceTopick,
then: function (newValue, devName, cellName) {
if (newValue){
publish(destTopick, '{"d":{"'+destName+'":'+newValue.toString()+'},"ts":""}');
//log.info("publish", newValue);
}
else{
//Если не выполнилось условие
}
}
});
}
var commandTopick = "iot_s/use/062054231920022/Topics2/fmt/json";
makeRulePub("hwmon/CPU Temperature", "ItemValue2", commandTopick)
//iot_s/use/062054231920022/Topics2/fmt/json -m '{"d":{"ItemValue2":15},"ts":""}
Хочу сразу сказать - в функции поддержки написание скриптов не входит.
Документация по специфичным для wb-rules особенностям JS расположжена тут: GitHub - wirenboard/wb-rules: Rule engine for Wiren Board
Большое спасибо. Суть понятна. Надо теперь работать через wb rules. Все параметры которые мне нужны в панели - описывать через публикацию в wb-rules. А чтобы принимать из панели - надо сделать виртуальное устройство на WB, которое описывает все топики из панели. Буду пробовать.
Ещё раз большое спасибо.
1 лайк
Да, по одному вызову функции на топик.
Это типовой путь, обычно так и делают: WirenBoard 6 и Weintek протокол MQTT