# 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 (opens new window).
# 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 binding’s 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"}
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
- Wikipedia on Jinja (opens new window).
- Home Assistant discovery (opens new window).
- Home Assistant templating (opens new window).