This page is part of archived documentation for openHAB 4.1. Go to the current stable version
# Jinja Transformation Service
Transforms a value using a jinja template.
The main purpose of this transformer is the use in the home assistant discovery. Therfore not all features of the home assistant templating are supported. Basically on 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](https://en.wikipedia.org/wiki/Jinja_(template_engine) (opens new window).
- Home assistant discovery (opens new window).
- Home assistant templating (opens new window).