если в консоли: используем команду вида
wb-mqtt-db-cli -h 127.0.0.1 --from '2020-06-16 09:06:30' --to '2020-06-18' --limit 1 -d';' wb-adc/5Vout |tail -1 | cut -f 3 -d';'
для нужного устройства, периода времени (период - можно указывать переменными ессно).
tail -1 | cut -f 3 -d’;’ - вернет третье (среднее значение параметра за период) поле второй (последней) строки
В скрипте пользоваться так:
runShellCommand("wb-mqtt-db-cli -h 127.0.0.1 --from '2020-06-16 09:06:30' --to '2020-06-18' --limit 1 -d';' wb-adc/5Vout |tail -1 | cut -f 3 -d';'",
{
captureOutput: true, //Захватывать stdout
captureErrorOutput: true, //Захватывать stderr (если нужно)
exitCallback: function (exitCode, capturedOutput, capturedErrorOutput) //Функция, в которую попадает вывод
{
log("cmd output: " + capturedOutput); //Делаем с данными что угодно(в переменную, например)
log("cmd Erroroutput: " + capturedErrorOutput);
}
})
Еще один вариант, предложенный настоящим гуру:
// Запуск shell-команды с запросом в историю
runShellCommand("wb-mqtt-db-cli -h 127.0.0.1 --from '2020-06-11 09:06:30' --to '2020-06-18' --limit 1 -d';' wb-adc/5Vout |tail -1",
{
captureOutput: true, //Захватывать stdout
captureErrorOutput: true, //Захватывать stderr (если нужно)
exitCallback: function (exitCode, capturedOutput, capturedErrorOutput) //Функция, в которую попадает вывод
{
log("cmd output: " + capturedOutput); //строка полностью
log("channel: " +capturedOutput.split(";")[0]) // channel
log("time: " +capturedOutput.split(";")[1]) // time
log("average: " +capturedOutput.split(";")[2]) // average
log("min: " +capturedOutput.split(";")[3]) // min
log("max: " +capturedOutput.split(";")[4]) // max
log("cmd Erroroutput: " + capturedErrorOutput);
}
})