Wellpro WP3066ADAM и отрицательные температуры

Подскажите что нужно прописать в правилах чтобы снимать показания отрицательных температур с датчиков подключенных через Wellpro WP3066ADAM? С положительными все хорошо, а вот отрицательные показывает +1000 градусов.

https://wirenboard.com/wiki/Wellpro_WP3066ADAM

Здравствуйте! В документации нашел такую информацию:

This command reads module’s temperature input data.

The data is hexadecimal data which needs to be converted to decimal data. Put it in the formula and calculate.

A、If data = 65535, the temperature sensor is not connected

B、If data > 10000 and data < 65535, the temperature is below 0℃

TEMP = -(DATA-10000)/10

C、if data < 10000, the temperature is over 0℃

TEMP = DATA/10

Шаблон сделан с расчетом на положительные температуры (в шаблоне указано считанное значение домножить на 0.1 и вывести в веб-интерфейс). Если хотите измерять и отрицательные значения, то в таком случае, когда реальное считанное значение больше 1000 в веб-интерфейсе нужно вычитать из полученного значения 1000 и изменять знак полученного результата на “-”. В самом шаблоне прописать такой алгоритм не получится.
Лучше, полагаю, создать дополнительное виртуальное устройство (будет отображаться отдельным окном в веб-интерфейсе GitHub - wirenboard/wb-rules: Rule engine for Wiren Board), в поля которого помещать обработанные по алгоритму с помощью правил контроллера данные из уже существующего устройства.

1 лайк

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