JINJA‐трансформации - d51x/openhab-docs-russian GitHub Wiki

Преобразование данных на лету (математические операции и не только).

В основном, использую как входящую трансормацию в mqtt thing, либо как профиль линковки item'a с каналом.

Примеры

JINJA:{{ (value | int > 10000) ? 0 : value }}

Если входящее значение более 10 000, то заменяем его нулем.

Понадобилось сделать так, потому что одно из старых устройств на esp8266 иногда вместо нормальных данных присылает какие-то огромные значения. А чтобы они не портили картину на графиках, то просто зануляем.

JINJA:{{ value | float | round(0) }}

Если данные приходят дробные 224.5, то их можно округлить до целых "на лету".

JINJA:{{ value | float | round(1) }}

Если данные приходят дробные 224.53, то их можно сделать с одним знаком после "запятой".

{{ (value / 10) | round(1) }}

А еще входящее число можно поделить на 10 и оставить один знак после запятой.