Deconz binding -> ZHAthermostat (Danfoss Ally) Channels

Openhab version: 3.2.0
buildString: Release Build

Deconz Binding
3.2.0
Deconz (gateway)Version : 2.13.04 (18/12/2021)

Hardware : Danfoss Ally TRV

Hi!

Ive been using the deconz binding for a while now and so far it has been working flawlessly. Today i purchased a Danfoss Ally Radiator valve and paired it to Deconz after which the openhab Inbox followed soon.
The valve is working and connected via Openhab. I get the readings from the device and am able to set the (target) temperature by sending a command thru channel:

deconz:thermostat:APIKEY:item:heatsetpoint

What i intend to do is close the valve when the window is open or when is heating is not wanted in a particular room (create zone heating thru OH). Also the childlock functionality is what i was hoping to implement. I am able to set these options thu the deconz rest api and the TRV closed the valve when the openwindow parameter is set. I could set these commands via the http binding but it would be great if these (put) commands could be implemented via the deconz binding!!?

Here’s the device with all its parameters from the api

{
  "config": {
    "battery": null,
    "displayflipped": false,
    "externalsensortemp": 0,
    "externalwindowopen": false,
    "heatsetpoint": 1622,
    "locked": false,
    "mountingmode": false,
    "offset": 0,
    "on": true,
    "reachable": true,
    "schedule": {},
    "schedule_on": false
  },
  "ep": 1,
  "etag": "ecc26fba3094aedf269923bc3e0f7903",
  "lastannounced": null,
  "lastseen": "2022-01-03T19:35Z",
  "manufacturername": "Danfoss",
  "modelid": "eTRV0100",
  "name": "Thermostat",
  "state": {
    "errorcode": null,
    "lastupdated": "2022-01-03T19:34:51.563",
    "mountingmodeactive": false,
    "on": false,
    "temperature": 2345,
    "valve": 0,
    "windowopen": null
  },
  "type": "ZHAThermostat",
  "uniqueid": "84:fd:27:ff:fe:d4:30:74-01-0201"
}

Put command for “window open” (closes valve to 0% when true until set to false) feature

{
“method”: “PUT”,
“transformRequest”: [
null
],
“transformResponse”: [
null
],
“jsonpCallbackParam”: “callback”,
“url”: “http://DECONZIP:80/api/KEY/sensors/ID/config”,
“headers”: {
“Accept”: “application/json, text/plain, /”,
“Content-Type”: “application/json;charset=utf-8”
},
“data”: “{ “externalwindowopen”: true}”,
"time

Put command for “Child Lock”

{
“method”: “PUT”,
“transformRequest”: [
null
],
“transformResponse”: [
null
],
“jsonpCallbackParam”: “callback”,
“url”: “http://DECONZIP:80/api/KEY/sensors/ID/config”,
“headers”: {
“Accept”: “application/json, text/plain, /”,
“Content-Type”: “application/json;charset=utf-8”
},
“data”: “{ “locked”: true}”,
“timeout”: {}
}

Is this anything worth implementing @J-N-K ? I would be very happy!
If i can provide any other info to make this work please let me know!!

Got it figured out with the help of @J-N-K . Thank you very much for your efforts in enabling me to use this channel from my Danfoss Ally TRV.

For anyone stumbling upon this topic with the same issue. Got this working with the 3rd Party binding from : https://download.smarthomej.org/addons.json

Furthermore i created a contact item that follows the OpenWindow Channel and created a switch to manipulate the channel.

> Contact	DF1Thermos_OWindow       "Thermos OpenWindow" 		    (Thermos)  			{ channel="deconz:thermostat:XXXXX:danfossally_1:externalwindowopen" [profile="follow"] }
> Switch    vDanfossTRV1_window "Thermostat Open Window" (Thermos)
> rule "DF1 Thermostat Window OpenClose"
> when
> Item vDanfossTRV1_window changed
> then
>     if (vDanfossTRV1_window.state==ON ) {
> 	    postUpdate(DF1Thermos_OWindow, "OPEN")
>        				}
>             if (vDanfossTRV1_window.state==OFF ) {
> 		    postUpdate(DF1Thermos_OWindow, "CLOSED")
> 				}
> end

Works like a charm! And can be used to create a rule based on actual external Windows/Door sensors.

Case closed :slight_smile: