openhab-docs/_addons_transformations/jinja
openHAB Build Server 03e15f4243 Updated external content (Jenkins build 3069) 2026-02-04 05:37:51 +00:00
..
readme.md Updated external content (Jenkins build 3069) 2026-02-04 05:37:51 +00:00

readme.md

id label title type description logo install
jinja Jinja Jinja - Transformation Services transform Transforms a value using a Jinja template. images/addons/jinja.svg auto

{% include base.html %}

Jinja Transformation Service

Transforms a value using a Jinja template.

The main purpose of this transformer is use in Home Assistant discovery. Therefore, not all features of the Home Assistant templating engine are supported. See also: Processing incoming data.

Available variables

Variable Description
value The incoming value.
value_json The incoming value parsed as JSON.

Examples

Basic Examples

Incoming data

Given the value

{"Time":"2019-01-05T22:45:12","AM2301":{"Temperature":4.7,"Humidity":93.7},"TempUnit":"C"}

the template

{{ value_json['AM2301'].Temperature }}

extracts the string 4.7.

Outgoing data

The JINJA transformation can be used to publish simple JSON strings through, for example, the HTTP bindings commandTransformation parameter.

Say we have a String Item which holds the following value:

This is my string

Adding the following into the commandTransformation parameter of your HTTP Thing channel

JINJA:{"msgtype":"m.text", "body":"{{value}}"}

will send the following string out of openHAB:

{"msgtype":"m.text", "body":"This is my string"}

{{value}} will be replaced by whatever the value of your Item is.

Note that if using .things files you must escape quotation marks, for example:

commandTransformation = "JINJA:{\"msgtype\":\"m.text\", \"body\":\"{{value}}\"}"

Further Reading