A nice feature of recent firmware updates was the possibility to activate Modbus TCP. You need the service PIN and manually configure the Network parameters:
A description and a link to the official document can be found in the loxone forum here
The really neat thing is, that the new firmware also activates a webserve that will give you all the modbus parameters in a json string.
http://yourIP/ODJET_CGI?pread=all
Will give you a complete list of all parameters.
With this (http) thing file I have selected a few (read only) parameters to display the current status:
Thing http:url:ovum "Ovum" [
baseURL="http://192.168.0.170/ODJET_CGI?pread=all",
refresh=30,
bufferSize=512,
delay=0
]
{
Channels:
Type number : boiler_top "boiler_top "[
stateTransformation="JSONPATH:$.tab_param[?(@.addr == '201')].value"
]
Type number : boiler_bottom "boiler_bottom" [
stateTransformation="JSONPATH:$.tab_param[?(@.addr == '202')].value"
]
Type number : power_heating "power_heating"[
stateTransformation="JSONPATH:$.tab_param[?(@.addr == '79')].value"
]
Type number : el_power "el_power "[
stateTransformation="JSONPATH:$.tab_param[?(@.addr == '708')].value"
]
Type number : temp_ouside "temp_ouside "[
stateTransformation="JSONPATH:$.tab_param[?(@.addr == '708')].value"
]
}
obviously you will need to use your own IP.
The items file is pretty standard. I have used JS formatting to format the number correctly.
Number boiler_top "Water [JS(|parseFloat(input) / 10):%.1f °C]" (gHeating) { channel="http:url:ovum:boiler_top" }
The sitemap file is pretty standard.
One can also write values.
E.g. via the URL: http://192.168.0.170/ODJET_CGI?pwrite=216&value=550 you would set the target temperature of your boiler to 55°C