Путь к перебору существующих контролов:
//02_15_test_01.js
log.info ("START!!!")
// Запуск shell-команды с выводом топиков
runShellCommand("mosquitto_sub -v -t '/devices/+/controls/+' -C 100",
{
captureOutput: true, //Захватывать stdout
captureErrorOutput: true, //Захватывать stderr (если нужно)
exitCallback: function (exitCode, capturedOutput, capturedErrorOutput) //Функция, в которую попадает вывод
{
//log("cmd output: " + capturedOutput); //строка полностью
capturedArray = capturedOutput.split("\n"); //Разбиваем полученную строку по символу переноса строки.
capturedArray.forEach(function(item){ //Для каждой строки
log.info ("Massiv!!!", item)
log("Topic: " + item.split(" ")[0]) // topic
log("value: " + item.split(" ")[1]) // value
})
log("cmd Erroroutput: " + capturedErrorOutput); //Если нужен вывод stderr
}
})
Ну естественно задавать можно какие угодно условия.