Интерпретация полученных данных

Добрый день.
Недавно подключил к wiren board 3 новый датчик, который не поддержан из коробки. Создал некоторое правило для mqtt-serial, датчик добавлен в интерфейс. Датчик может отдавать несколько величин: размерность измеренного значения (**.** - 1, ***.* - 2 и т.д.), само значение измерения в попугаях, единицу измерения в системе СИ(список из величин в виде нумерованного списка 1 - ..., 2 - ..., и т.д.), максимально возможное значение измерения в попугаях.
Сейчас у меня в интерфейсе отображается устройство, у которого имеются следующие значения:

Значение ПОПУГАИ
Единица измерения единица измерения из списка 1..8
Точность данных Какое-то значение из списка 1..5
Максимально возможное измерение ПОПУГАИ

Подскажите, где можно прочитать о том, как эти величины можно привести к человеческому виду, есть ли такая точка входа, где я бы мог описать конвертацию этих данных, чтобы в интерфейсе отображалась одна величина:
"Значение **.** единица измерения".

Добрый день.
Если я верно понял задачу - то сейчас есть несколько топиков MQTT в которых сырые данные какого-то устройства, данные хотите как-то обработать и вывести в удобочитаемом виде?
Задача типично решается с помощью Движок правил wb-rules — Wiren Board
Идея в том что создается новое, виртуальное устройство в контролы которого записывается обработанные данные.
Вот этот пример показывает работу с виртуальным устройством.

Добрый день, благодарю за оперативную помощь.
Посидел вечером после работы, накидал правило по образу из примеров:

defineVirtualDevice("PressureTransmitters", {
  title: "PressureTransmitters",
  cells: {
    Transmitter_1: {
      type: "pressure",
      value: 0
    }
  }
})
function PressureTransmitter(name, valueTopic, setPoint) {
  defineRule(name, { 
    whenChanged: valueTopic, 
    then: function (newValue, devName, cellName) { 
      dev[setPoint] = (100*newValue)/65535  - 0.1;
    }
  });
}
PressureTransmitter('PTWrapper_241', 'PressureTransmitter_241/pressureValue', 'PressureTransmitters/Transmitter_1')

‘PressureTransmitter_241/pressureValue’ - взял со страницы “Каналы MQTT” раздел “устройство/контрол”. По этому топику у меня регистрируются измеренные датчиком попугаи.
Сохранил. Перешел во вкладку устройства, там появилось устройство, в котором отображено

PressureTransmitters
Transmitter_1         бар

Подскажите, что я делаю не так?
Благодарю!

Вставьте перед строчкой

log.info("In rule", newValue)

Этим проверим что правило работает вообще и в него что-то передается.

Поставил, в отладочной консоли показываются значения, которые поступают из топика датчика.

А какого типа эти значения? Я как привеженнец чистого C иногда сам напарываюсь на подобное. Особенно когда типы не приводятся… Приведеите его к числу явно, попробуйте результат вычисления - тоже вывести в лог.

Заработало, вы были правы. Необходима строка, число почему-то воспринимается как null.
Мой датчик присылает в отдельном топике измерение, его размерность и измеряемую величину по системе СИ.
Подскажите, пожалуйста, а возможно на языке правил WB построить нечто сложное, что могло бы вычитывать много топиков устройства, чтобы сделать сведение к человеческим данным?

Да, возможно, конечно.
Если данные однотипные - то можно посмотреть на пример.

Тут создается контрол указанного типа (можно несколько) и над исходными данными проводятся какие-то операции.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.