Access and Control of Ovum heat pumps

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

1 Like