dresden-elektronik / deconz-rest-plugin

deCONZ REST-API plugin to control ZigBee devices
BSD 3-Clause "New" or "Revised" License
1.9k stars 498 forks source link

Tuya Smart Zigbee Radiator Actuator Trv #6634

Closed jossiee closed 9 months ago

jossiee commented 1 year ago

Device

Screenshots

Basic

image

Identify

Alarms

Device Temperature

Groups

image

Scenes

image

On/Off

Level Control

Color Control

Simple Metering

Diagnostics

Other clusters that are not mentioned above

image

image

basp1964 commented 1 year ago

Hallo, hätte die gleiche Geräteanforderung

Smanar commented 1 year ago

Hello, I don't see the cluster list, but I presume this device use the tuya clster and not the thermostat one ? If yes, I need a tester https://github.com/dresden-elektronik/deconz-rest-plugin/pull/6674

Tuya TRV need this PR to work

jossiee commented 1 year ago

I made screenshots of all the available clusters. I don't know if I can help testing? What knowledge is needed?

Smanar commented 1 year ago

Not a knowledge , but a hardware ^^ You need a linux machine with full/real OS to compile the code.

CHTHSCH commented 1 year ago

Is this compatible with brennenstuhl®Connect Zigbee Heizkörperthermostat HT CZ 01?

Smanar commented 1 year ago

Need the zigbee manufacture name. But if you are able to compile the code to test, I can try to make a DDF for the device if missing.

jossiee commented 1 year ago

yeah i will try! i have some spare hardware for a test setup.

will take some time before i got some time for it.

github-actions[bot] commented 1 year ago

As there has not been any response in 21 days, this issue has been automatically marked as stale. At OP: Please either close this issue or keep it active It will be closed in 7 days if no further activity occurs.

github-actions[bot] commented 1 year ago

As there has not been any response in 28 days, this issue will be closed. @ OP: If this issue is solved post what fixed it for you. If it is not solved, request to get this opened again.

nilleiz commented 11 months ago

I have this valve thermostat. It seems that it isn't added yet. Have a full Linux machine and can help.

rensbr commented 10 months ago

I have bought three of these devices and installed them already, but they are not supported yet.

Mimiix at Tweakers.net gave me the tip to check this topic. So would it be possible to add this device?

Mimiix commented 10 months ago

Asked @Smanar to check in :)

Smanar commented 10 months ago

Here you have a starting point

{
  "schema": "devcap1.schema.json",
  "manufacturername": ["_TZE200_sur6q7ko", "_TZE200_hue3yfsn", "_TZE200_e9ba97vf", "_TZE200_husqqvux", "_TZE200_lnbfnyxd", "_TZE200_lllliz3p", "_TZE200_mudxchsu", "_TZE200_7yoranx2", "_TZE200_kds0pmmv"],
  "modelid": ["TS0601", "TS0601", "TS0601", "TS0601", "TS0601", "TS0601", "TS0601", "TS0601", "TS0601"],
  "vendor": "Tuya",
  "product": "Tuya TRV",
  "sleeper": false,
  "status": "Gold",
  "subdevices": [
    {
      "type": "$TYPE_THERMOSTAT",
      "restapi": "/sensors",
      "uuid": [
        "$address.ext",
        "0x01",
        "0xef00"
      ],
      "meta": {
        "values": {
          "config/mode": {"auto": 0, "heat": 1, "off": 3}
        }
      },
      "items": [
        {
          "name": "attr/id"
        },
        {
          "name": "attr/lastannounced"
        },
        {
          "name": "attr/lastseen"
        },
        {
          "name": "attr/manufacturername"
        },
        {
          "name": "attr/modelid"
        },
        {
          "name": "attr/name"
        },
        {
          "name": "attr/swversion"
        },
        {
          "name": "attr/type"
        },
        {
          "name": "attr/uniqueid"
        },
        {
          "name": "state/lowbattery",
          "parse": {"fn": "tuya", "dpid": 35, "eval": "Item.val = Attr.val != 0"},
          "read": {"fn": "none"}
        },
        {
          "name": "config/tuya_unlock"
        },
        {
          "name": "config/heatsetpoint",
          "parse": {"fn": "tuya", "dpid": 16, "eval": "Item.val = Attr.val * 10;"},
          "write": {"fn": "tuya", "dpid": 16, "dt": "0x2b", "eval": "Item.val / 10;"},
          "read": {"fn": "tuya"}
        },
        {
          "name": "config/locked",
          "parse": {"fn": "tuya", "dpid": 40, "eval": "Item.val = Attr.val;"},
          "write": {"fn": "tuya", "dpid": 40, "dt": "0x10", "eval": "Item.val;"},
          "read": {"fn": "none"}
        },
        {
          "name": "config/on"
        },
        {
          "name": "config/reachable"
        },
        {
          "name": "config/mode",
          "values": [
              ["auto", 0], ["heat", 1], ["off", 3]
          ],
          "parse": {"fn": "tuya", "dpid": 2, "eval": "if (Attr.val == 0) { Item.val = 'auto' } else if (Attr.val == 1) { Item.val = 'heat' } else { Item.val = 'off' }"},
          "write": {"fn": "tuya", "dpid": 2, "dt": "0x30", "eval": "if (Item.val == 'auto') { 0 } else if (Item.val == 'heat') { 1 } else { 3 }"},
          "read": {"fn": "none"}
        },
        {
          "name": "config/windowopen_set",
          "parse": {"fn": "tuya", "dpid": 8, "eval": "Item.val = Attr.val;"},
          "write": {"fn": "tuya", "dpid": 8, "dt": "0x10", "eval": "Item.val;"},
          "read": {"fn": "none"}
        },
        {
          "name": "state/lastupdated"
        },
        {
          "name": "state/temperature",
          "parse": {"fn": "tuya", "dpid": 24, "eval": "Item.val = Attr.val * 10;"},
          "read": {"fn": "none"}
        }
      ]
    }
  ]
}

You will just need probably some adjsutement for values convertion (*10 or /10 for exemple) and not sure how will work the mode.

rensbr commented 10 months ago

Thanks @Smanar for the very fast reply! I have no experience with this. But by the looks of it I have to add these lines to the 'Preview' tab when editting an DDF, is that correct?

Smanar commented 10 months ago

Bad luck :). It's read only. It depend of OS, you just need to put a text file called whatyouwant.json with this contain in a "devices" folder. A little more complex on the official docker and worse on HA.

What is your OS ^^ ?

rensbr commented 10 months ago

Bad luck :). It's read only. It depend of OS, you just need to put a text file called whatyouwant.json with this contain in a "devices" folder. A little more complex on the official docker and worse on HA.

What is your OS ^^ ?

I'm using Debian as OS on a ChromeBox and I'm running everything inside docker. And furthermore I'm using Domoticz.

Smanar commented 10 months ago

So you are using the official deconz docker ? You can use the opt/deCONZ/devices/tuya folder for exemple https://github.com/deconz-community/deconz-docker/issues/163

Just put a text file inside with the DDF contain, rename the file in *.json And restart the deconz docker, and next restart deconz will be able to use the DDF.

rensbr commented 10 months ago

So you are using the official deconz docker ? You can use the opt/deCONZ/devices/tuya folder for exemple deconz-community/deconz-docker#163

Just put a text file inside with the DDF contain, rename the file in *.json And restart the deconz docker, and next restart deconz will be able to use the DDF.

That seems to work! Thanks! I have added your file to the designed location and now it is visible in Phoscon and Domoticz!

I can see the temprature and set temperature and there is a mode switcher. But the mode switcher does not seem to work very well. When I press 'Off' it goes to holiday mode for a few seconds and then it goes to Auto mode. It does not really matter to be, because setting the temperature is the only thing I need, but it would be nice to have it working for 100%.

Can I do something to make it work?

And also there are some features like Window Detection and that seems not possible to set or do anything with it.

Smanar commented 10 months ago

And also there are some features like Window Detection and that seems not possible to set or do anything with it.

You have it in config/windowopen_set

There is a dpid I want to test about mode, on the DDF can you edit

        {
          "name": "config/locked",
          "parse": {"fn": "tuya", "dpid": 40, "eval": "Item.val = Attr.val;"},
          "write": {"fn": "tuya", "dpid": 40, "dt": "0x10", "eval": "Item.val;"},
          "read": {"fn": "none"}
        },

And use the dpid 107 instead of 40 ? After that the config/locked will act a strange dpid that concern mode/heating, perhaps usefull for the mode problem.

Or if you have the GUI, go in deconz/help/debug view with flag "info" and "info_l2", and set the device manualy to "away", you will see on logs the request to do to mimic this action.

rensbr commented 10 months ago

"name": "config/locked",

I have done the last part, checked info_l2 and see what happens if I switch modes. But this happens so fast that it is really hard for me to see what happens. Can you do anything with the below jiberish:

08:49:59:810 INSERT INTO resource_items (sub_device_id,item,value,source,timestamp) SELECT id, 'config/mode', 'off', 'dev', 1700552999 FROM sub_devices WHERE uniqueid = 'cc:86:ec:ff:fe:ca:a4:37-01-ef00'
08:49:59:819 Websocket 172.17.0.1:57812 send message: {"attr":{"id":"68","lastannounced":null,"lastseen":"2023-11-21T07:49Z","manufacturername":"_TZE200_hue3yfsn","modelid":"TS0601","name":"Thermostat 68","swversion":null,"type":"ZHAThermostat","uniqueid":"cc:86:ec:ff:fe:ca:a4:37-01-ef00"},"e":"changed","id":"68","r":"sensors","t":"event","uniqueid":"cc:86:ec:ff:fe:ca:a4:37-01-ef00"} (ret = 332)
08:49:59:820 Websocket 172.17.0.1:57812 send message: {"config":{"heatsetpoint":2250,"locked":false,"mode":"off","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"68","r":"sensors","t":"event","uniqueid":"cc:86:ec:ff:fe:ca:a4:37-01-ef00"} (ret = 205)
08:49:59:937 TY_DATA_RESPONSE: seq 23, dpid: 0x10, type: 0x02, length: 4, val: 170
08:49:59:938 TY_DATA_RESPONSE: seq 23, dpid: 0x10, type: 0x02, length: 4, val: 170
08:49:59:939 TY_DATA_RESPONSE: seq 23, dpid: 0x10, type: 0x02, length: 4, val: 170
08:49:59:939 TY_DATA_RESPONSE: seq 23, dpid: 0x10, type: 0x02, length: 4, val: 170
08:49:59:939 TY_DATA_RESPONSE: seq 23, dpid: 0x10, type: 0x02, length: 4, val: 170
08:49:59:940 TY_DATA_RESPONSE: seq 23, dpid: 0x10, type: 0x02, length: 4, val: 170
08:49:59:941 INSERT INTO resource_items (sub_device_id,item,value,source,timestamp) SELECT id, 'config/heatsetpoint', '1700', 'dev', 1700552999 FROM sub_devices WHERE uniqueid = 'cc:86:ec:ff:fe:ca:a4:37-01-ef00'
08:49:59:949 Websocket 172.17.0.1:57812 send message: {"config":{"heatsetpoint":1700,"locked":false,"mode":"off","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"68","r":"sensors","t":"event","uniqueid":"cc:86:ec:ff:fe:ca:a4:37-01-ef00"} (ret = 205)
08:50:00:022 poll node f0:d1:b8:00:00:1c:8e:a7-01
08:50:00:022 Poll light node Lamp WC
08:50:00:073 Poll APS request to 0xF0D1B800001C8EA7 cluster: 0x0006 dropped, values are fresh enough
08:50:00:176 Idle timer triggered
08:50:00:177 Force read attributes for ZHAThermostat SensorNode Thermostat 68
08:50:00:177 Force binding of attribute reporting for node Thermostat 68
08:50:01:101 poll node 84:2e:14:ff:fe:3d:ac:f2-01-0702
08:50:01:102 Poll ZHAConsumption sensor node Consumption 54
08:50:01:363 Poll APS request to 0x842E14FFFE3DACF2 cluster: 0x0702 dropped, values are fresh enough
08:50:01:383 TY_DATA_RESPONSE: seq 23, dpid: 0x02, type: 0x04, length: 1, val: 0
08:50:01:384 TY_DATA_RESPONSE: seq 23, dpid: 0x02, type: 0x04, length: 1, val: 0
08:50:01:384 TY_DATA_RESPONSE: seq 23, dpid: 0x02, type: 0x04, length: 1, val: 0
08:50:01:385 TY_DATA_RESPONSE: seq 23, dpid: 0x02, type: 0x04, length: 1, val: 0
08:50:01:385 TY_DATA_RESPONSE: seq 23, dpid: 0x02, type: 0x04, length: 1, val: 0
08:50:01:385 TY_DATA_RESPONSE: seq 23, dpid: 0x02, type: 0x04, length: 1, val: 0
08:50:01:386 INSERT INTO resource_items (sub_device_id,item,value,source,timestamp) SELECT id, 'config/mode', 'auto', 'dev', 1700553001 FROM sub_devices WHERE uniqueid = 'cc:86:ec:ff:fe:ca:a4:37-01-ef00'
08:50:01:394 Websocket 172.17.0.1:57812 send message: {"config":{"heatsetpoint":1700,"locked":false,"mode":"auto","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"68","r":"sensors","t":"event","uniqueid":"cc:86:ec:ff:fe:ca:a4:37-01-ef00"} (ret = 206)
08:50:01:500 TY_DATA_RESPONSE: seq 24, dpid: 0x10, type: 0x02, length: 4, val: 210
08:50:01:501 TY_DATA_RESPONSE: seq 24, dpid: 0x10, type: 0x02, length: 4, val: 210
08:50:01:501 TY_DATA_RESPONSE: seq 24, dpid: 0x10, type: 0x02, length: 4, val: 210
08:50:01:502 TY_DATA_RESPONSE: seq 24, dpid: 0x10, type: 0x02, length: 4, val: 210
08:50:01:502 TY_DATA_RESPONSE: seq 24, dpid: 0x10, type: 0x02, length: 4, val: 210
08:50:01:503 TY_DATA_RESPONSE: seq 24, dpid: 0x10, type: 0x02, length: 4, val: 210
08:50:01:503 INSERT INTO resource_items (sub_device_id,item,value,source,timestamp) SELECT id, 'config/heatsetpoint', '2100', 'dev', 1700553001 FROM sub_devices WHERE uniqueid = 'cc:86:ec:ff:fe:ca:a4:37-01-ef00'
08:50:01:517 Websocket 172.17.0.1:57812 send message: {"config":{"heatsetpoint":2100,"locked":false,"mode":"auto","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"68","r":"sensors","t":"event","uniqueid":"cc:86:ec:ff:fe:ca:a4:37-01-ef00"} (ret = 206)
08:50:02:099 poll node 84:2e:14:ff:fe:35:a2:0d-01-0702
08:50:02:100 Poll ZHAConsumption sensor node Consumption 26
08:50:02:175 Idle timer triggered
08:50:02:357 Poll APS request to 0x842E14FFFE35A20D cluster: 0x0702 dropped, values are fresh enough
08:50:02:408 TY_DATA_RESPONSE: seq 24, dpid: 0x02, type: 0x04, length: 1, val: 1
08:50:02:409 TY_DATA_RESPONSE: seq 24, dpid: 0x02, type: 0x04, length: 1, val: 1
08:50:02:409 TY_DATA_RESPONSE: seq 24, dpid: 0x02, type: 0x04, length: 1, val: 1
08:50:02:410 TY_DATA_RESPONSE: seq 24, dpid: 0x02, type: 0x04, length: 1, val: 1
08:50:02:410 TY_DATA_RESPONSE: seq 24, dpid: 0x02, type: 0x04, length: 1, val: 1
08:50:02:410 TY_DATA_RESPONSE: seq 24, dpid: 0x02, type: 0x04, length: 1, val: 1
08:50:02:411 INSERT INTO resource_items (sub_device_id,item,value,source,timestamp) SELECT id, 'config/mode', 'heat', 'dev', 1700553002 FROM sub_devices WHERE uniqueid = 'cc:86:ec:ff:fe:ca:a4:37-01-ef00'
08:50:02:420 Websocket 172.17.0.1:57812 send message: {"config":{"heatsetpoint":2100,"locked":false,"mode":"heat","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"68","r":"sensors","t":"event","uniqueid":"cc:86:ec:ff:fe:ca:a4:37-01-ef00"} (ret = 206)
08:50:02:528 TY_DATA_RESPONSE: seq 25, dpid: 0x10, type: 0x02, length: 4, val: 225
08:50:02:529 TY_DATA_RESPONSE: seq 25, dpid: 0x10, type: 0x02, length: 4, val: 225
08:50:02:530 TY_DATA_RESPONSE: seq 25, dpid: 0x10, type: 0x02, length: 4, val: 225
08:50:02:530 TY_DATA_RESPONSE: seq 25, dpid: 0x10, type: 0x02, length: 4, val: 225
08:50:02:530 TY_DATA_RESPONSE: seq 25, dpid: 0x10, type: 0x02, length: 4, val: 225
08:50:02:531 TY_DATA_RESPONSE: seq 25, dpid: 0x10, type: 0x02, length: 4, val: 225
08:50:02:531 INSERT INTO resource_items (sub_device_id,item,value,source,timestamp) SELECT id, 'config/heatsetpoint', '2250', 'dev', 1700553002 FROM sub_devices WHERE uniqueid = 'cc:86:ec:ff:fe:ca:a4:37-01-ef00'
08:50:02:542 Websocket 172.17.0.1:57812 send message: {"config":{"heatsetpoint":2250,"locked":false,"mode":"heat","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"68","r":"sensors","t":"event","uniqueid":"cc:86:ec:ff:fe:ca:a4:37-01-ef00"} (ret = 206)
08:50:03:093 poll node 58:8e:81:ff:fe:db:88:eb-01
08:50:03:141 read attributes of 0x588E81FFFEDB88EB cluster: 0x0006: [ 
08:50:03:142 0x0000 
08:50:03:143 ]
08:50:03:144 add task 1121825 type 19 to 0x588E81FFFEDB88EB cluster 0x0006 req.id 214
08:50:03:144 Poll APS request 214 to 0x588E81FFFEDB88EB cluster: 0x0006
08:50:03:234 Poll APS confirm 214 status: 0x00
08:50:03:235 Erase task req-id: 214, type: 19 zcl seqno: 12 send time 0, profileId: 0x0104, clusterId: 0x0006
08:50:03:299 0x588E81FFFEDB88EB: update ZCL value 0x01/0x0006/0x0000 after 0 s
08:50:03:372 TY_DATA_RESPONSE: seq 25, dpid: 0x02, type: 0x04, length: 1, val: 3
08:50:03:373 TY_DATA_RESPONSE: seq 25, dpid: 0x02, type: 0x04, length: 1, val: 3
08:50:03:373 TY_DATA_RESPONSE: seq 25, dpid: 0x02, type: 0x04, length: 1, val: 3
08:50:03:374 TY_DATA_RESPONSE: seq 25, dpid: 0x02, type: 0x04, length: 1, val: 3
08:50:03:374 TY_DATA_RESPONSE: seq 25, dpid: 0x02, type: 0x04, length: 1, val: 3
08:50:03:375 TY_DATA_RESPONSE: seq 25, dpid: 0x02, type: 0x04, length: 1, val: 3
08:50:03:375 INSERT INTO resource_items (sub_device_id,item,value,source,timestamp) SELECT id, 'config/mode', 'off', 'dev', 1700553003 FROM sub_devices WHERE uniqueid = 'cc:86:ec:ff:fe:ca:a4:37-01-ef00'
08:50:03:383 Websocket 172.17.0.1:57812 send message: {"config":{"heatsetpoint":2250,"locked":false,"mode":"off","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"68","r":"sensors","t":"event","uniqueid":"cc:86:ec:ff:fe:ca:a4:37-01-ef00"} (ret = 205)
08:50:03:500 TY_DATA_RESPONSE: seq 26, dpid: 0x10, type: 0x02, length: 4, val: 170
08:50:03:501 TY_DATA_RESPONSE: seq 26, dpid: 0x10, type: 0x02, length: 4, val: 170
08:50:03:502 TY_DATA_RESPONSE: seq 26, dpid: 0x10, type: 0x02, length: 4, val: 170
08:50:03:502 TY_DATA_RESPONSE: seq 26, dpid: 0x10, type: 0x02, length: 4, val: 170
08:50:03:502 TY_DATA_RESPONSE: seq 26, dpid: 0x10, type: 0x02, length: 4, val: 170
08:50:03:503 TY_DATA_RESPONSE: seq 26, dpid: 0x10, type: 0x02, length: 4, val: 170
08:50:03:503 INSERT INTO resource_items (sub_device_id,item,value,source,timestamp) SELECT id, 'config/heatsetpoint', '1700', 'dev', 1700553003 FROM sub_devices WHERE uniqueid = 'cc:86:ec:ff:fe:ca:a4:37-01-ef00'
08:50:03:512 Websocket 172.17.0.1:57812 send message: {"config":{"heatsetpoint":1700,"locked":false,"mode":"off","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"68","r":"sensors","t":"event","uniqueid":"cc:86:ec:ff:fe:ca:a4:37-01-ef00"} (ret = 205)
08:50:04:114 poll node 58:8e:81:ff:fe:d3:93:83-01
08:50:04:166 read attributes of 0x588E81FFFED39383 cluster: 0x0006: [ 
08:50:04:167 0x0000 
08:50:04:168 ]
08:50:04:169 add task 1121829 type 19 to 0x588E81FFFED39383 cluster 0x0006 req.id 223
08:50:04:170 Poll APS request 223 to 0x588E81FFFED39383 cluster: 0x0006
08:50:04:216 Daylight now: sunriseEnd, status: 150, daylight: 1, dark: 0
08:50:04:217 apsUseExtPanid is 0xDDDDDDDDDDDDDDDD but should be 0, start reconfiguration
08:50:04:218 Skip automatic channel change, TODO warn user
08:50:04:218 Idle timer triggered
08:50:04:270 Poll APS confirm 223 status: 0x00
08:50:04:271 Erase task req-id: 223, type: 19 zcl seqno: 13 send time 0, profileId: 0x0104, clusterId: 0x0006
08:50:04:305 0x588E81FFFED39383: update ZCL value 0x01/0x0006/0x0000 after 0 s
08:50:04:306 Websocket 172.17.0.1:57812 send message: {"attr":{"id":"10","lastannounced":"2023-10-11T22:25:45Z","lastseen":"2023-11-21T07:50Z","manufacturername":"Heiman","modelid":"TS0121","name":"Droger","swversion":null,"type":"Smart plug","uniqueid":"58:8e:81:ff:fe:d3:93:83-01"},"e":"changed","id":"10","r":"lights","t":"event","uniqueid":"58:8e:81:ff:fe:d3:93:83-01"} (ret = 319)
08:50:04:557 TY_DATA_RESPONSE: seq 26, dpid: 0x02, type: 0x04, length: 1, val: 0
08:50:04:558 TY_DATA_RESPONSE: seq 26, dpid: 0x02, type: 0x04, length: 1, val: 0
08:50:04:558 TY_DATA_RESPONSE: seq 26, dpid: 0x02, type: 0x04, length: 1, val: 0
08:50:04:559 TY_DATA_RESPONSE: seq 26, dpid: 0x02, type: 0x04, length: 1, val: 0
08:50:04:559 TY_DATA_RESPONSE: seq 26, dpid: 0x02, type: 0x04, length: 1, val: 0
08:50:04:560 TY_DATA_RESPONSE: seq 26, dpid: 0x02, type: 0x04, length: 1, val: 0
08:50:04:560 INSERT INTO resource_items (sub_device_id,item,value,source,timestamp) SELECT id, 'config/mode', 'auto', 'dev', 1700553004 FROM sub_devices WHERE uniqueid = 'cc:86:ec:ff:fe:ca:a4:37-01-ef00'
08:50:04:570 Websocket 172.17.0.1:57812 send message: {"config":{"heatsetpoint":1700,"locked":false,"mode":"auto","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"68","r":"sensors","t":"event","uniqueid":"cc:86:ec:ff:fe:ca:a4:37-01-ef00"} (ret = 206)
08:50:04:689 TY_DATA_RESPONSE: seq 27, dpid: 0x10, type: 0x02, length: 4, val: 210
08:50:04:690 TY_DATA_RESPONSE: seq 27, dpid: 0x10, type: 0x02, length: 4, val: 210
08:50:04:691 TY_DATA_RESPONSE: seq 27, dpid: 0x10, type: 0x02, length: 4, val: 210
08:50:04:691 TY_DATA_RESPONSE: seq 27, dpid: 0x10, type: 0x02, length: 4, val: 210
08:50:04:691 TY_DATA_RESPONSE: seq 27, dpid: 0x10, type: 0x02, length: 4, val: 210
08:50:04:692 TY_DATA_RESPONSE: seq 27, dpid: 0x10, type: 0x02, length: 4, val: 210
08:50:04:692 INSERT INTO resource_items (sub_device_id,item,value,source,timestamp) SELECT id, 'config/heatsetpoint', '2100', 'dev', 1700553004 FROM sub_devices WHERE uniqueid = 'cc:86:ec:ff:fe:ca:a4:37-01-ef00'
08:50:04:701 Websocket 172.17.0.1:57812 send message: {"config":{"heatsetpoint":2100,"locked":false,"mode":"auto","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"68","r":"sensors","t":"event","uniqueid":"cc:86:ec:ff:fe:ca:a4:37-01-ef00"} (ret = 206)
08:50:05:102 poll node 84:2e:14:ff:fe:3a:43:3d-01-0702
08:50:05:103 Poll ZHAConsumption sensor node Consumption 52
08:50:05:364 Poll APS request to 0x842E14FFFE3A433D cluster: 0x0702 dropped, values are fresh enough
08:50:05:573 TY_DATA_RESPONSE: seq 27, dpid: 0x02, type: 0x04, length: 1, val: 1
08:50:05:574 TY_DATA_RESPONSE: seq 27, dpid: 0x02, type: 0x04, length: 1, val: 1
08:50:05:575 TY_DATA_RESPONSE: seq 27, dpid: 0x02, type: 0x04, length: 1, val: 1
08:50:05:576 TY_DATA_RESPONSE: seq 27, dpid: 0x02, type: 0x04, length: 1, val: 1
08:50:05:577 TY_DATA_RESPONSE: seq 27, dpid: 0x02, type: 0x04, length: 1, val: 1
08:50:05:578 TY_DATA_RESPONSE: seq 27, dpid: 0x02, type: 0x04, length: 1, val: 1
08:50:05:579 INSERT INTO resource_items (sub_device_id,item,value,source,timestamp) SELECT id, 'config/mode', 'heat', 'dev', 1700553005 FROM sub_devices WHERE uniqueid = 'cc:86:ec:ff:fe:ca:a4:37-01-ef00'
08:50:05:590 Websocket 172.17.0.1:57812 send message: {"config":{"heatsetpoint":2100,"locked":false,"mode":"heat","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"68","r":"sensors","t":"event","uniqueid":"cc:86:ec:ff:fe:ca:a4:37-01-ef00"} (ret = 206)
08:50:05:691 TY_DATA_RESPONSE: seq 28, dpid: 0x10, type: 0x02, length: 4, val: 225
08:50:05:692 TY_DATA_RESPONSE: seq 28, dpid: 0x10, type: 0x02, length: 4, val: 225
08:50:05:693 TY_DATA_RESPONSE: seq 28, dpid: 0x10, type: 0x02, length: 4, val: 225
08:50:05:693 TY_DATA_RESPONSE: seq 28, dpid: 0x10, type: 0x02, length: 4, val: 225
08:50:05:693 TY_DATA_RESPONSE: seq 28, dpid: 0x10, type: 0x02, length: 4, val: 225
08:50:05:694 TY_DATA_RESPONSE: seq 28, dpid: 0x10, type: 0x02, length: 4, val: 225
08:50:05:694 INSERT INTO resource_items (sub_device_id,item,value,source,timestamp) SELECT id, 'config/heatsetpoint', '2250', 'dev', 1700553005 FROM sub_devices WHERE uniqueid = 'cc:86:ec:ff:fe:ca:a4:37-01-ef00'
08:50:05:714 Websocket 172.17.0.1:57812 send message: {"config":{"heatsetpoint":2250,"locked":false,"mode":"heat","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"68","r":"sensors","t":"event","uniqueid":"cc:86:ec:ff:fe:ca:a4:37-01-ef00"} (ret = 206)
Smanar commented 10 months ago

08:50:03:372 TY_DATA_RESPONSE: seq 25, dpid: 0x02, type: 0x04, length: 1, val: 3

You use the dpid 0x02 to set the mode 0x03 > off

But immediatly after

08:50:04:557 TY_DATA_RESPONSE: seq 26, dpid: 0x02, type: 0x04, length: 1, val: 0

The mode return to 0x00 > auto

So if you have done the procedure manually, it mean it's the same reaction ? The device stay in "off" mode during your test ? We can see to the temperature moving from 22.5 > 21 > 17 °C ?

rensbr commented 10 months ago

08:50:03:372 TY_DATA_RESPONSE: seq 25, dpid: 0x02, type: 0x04, length: 1, val: 3

You use the dpid 0x02 to set the mode 0x03 > off

But immediatly after

08:50:04:557 TY_DATA_RESPONSE: seq 26, dpid: 0x02, type: 0x04, length: 1, val: 0

The mode return to 0x00 > auto

So if you have done the procedure manually, it mean it's the same reaction ? The device stay in "off" mode during your test ? We can see to the temperature moving from 22.5 > 21 > 17 °C ?

I switched between the modes 'Manual' -> 'Holiday' -> 'Auto' -> 'Manual'.

The switch between Holiday and auto happens automaticly.

Smanar commented 10 months ago

The switch between Holiday and auto happens automaticly.

Even on manual mode (using physicaly the device) ? In this situation I can't do something, if it's the "natural" working mode, perhaps it miss a setting ?

I m using deconz to mimic the request.

github-actions[bot] commented 9 months ago

As there has not been any response in 21 days, this issue has been automatically marked as stale. At OP: Please either close this issue or keep it active It will be closed in 7 days if no further activity occurs.

github-actions[bot] commented 9 months ago

As there has not been any response in 28 days, this issue will be closed. @ OP: If this issue is solved post what fixed it for you. If it is not solved, request to get this opened again.

Feldi1606 commented 6 months ago

I also got the thermostat and put it on with the DDF from above. Unfortunately the battery status is not displayed correctly for me. And I also have the problem that vacation mode automatically switches back to Auto after a few seconds. Is there still a solution?

Smanar commented 6 months ago

From the DDF, this device don't have battery level but a low battery warning. You have the reverse state ? For the auto return, it's something native on the device. I need you make the procedure using the device itself (and hopping for the device don't thave the "auto return"), get logs as described previously for I make something to mimic them.

Feldi1606 commented 6 months ago

Hello Smanar,

the battery level is schown as low.( New device with new battery, an the device itself is not show an empty battery.) So I think the battery status ist noch shown correctly. Is it possible to send a weekly program to the TRV? And how can I pair the Door Sensor and the Multisensor with the TRV?

I started the LOG and Switch the TRV from Manual to Holiday mode. After a few seconds the TRV Switches to Home mode with 17°C . Maybe it is normal. Is this the LOG sequens you want to see?

21:58:58:090 TY_DATA_RESPONSE: seq 166, dpid: 0x02, type: 0x04, length: 1, val: 3 21:58:58:091 TY_DATA_RESPONSE: seq 166, dpid: 0x02, type: 0x04, length: 1, val: 3 21:58:58:092 TY_DATA_RESPONSE: seq 166, dpid: 0x02, type: 0x04, length: 1, val: 3 21:58:58:093 TY_DATA_RESPONSE: seq 166, dpid: 0x02, type: 0x04, length: 1, val: 3 21:58:58:094 TY_DATA_RESPONSE: seq 166, dpid: 0x02, type: 0x04, length: 1, val: 3 21:58:58:095 TY_DATA_RESPONSE: seq 166, dpid: 0x02, type: 0x04, length: 1, val: 3 21:58:58:164 Websocket 127.0.0.1:50218 send message: {"config":{"heatsetpoint":2000,"locked":false,"mode":"off","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"14","r":"sensors","t":"event","uniqueid":"e8:e0:7e:ff:fe:ce:3d:a7-01-ef00"} (ret = 2130660672) 21:58:58:320 [Master] read param with arg 0x19 21:58:58:440 CTRL read param resp id: 0x26, status: 0x04 21:58:58:540 TY_DATA_RESPONSE: seq 167, dpid: 0x10, type: 0x02, length: 4, val: 170 21:58:58:542 TY_DATA_RESPONSE: seq 167, dpid: 0x10, type: 0x02, length: 4, val: 170 21:58:58:543 TY_DATA_RESPONSE: seq 167, dpid: 0x10, type: 0x02, length: 4, val: 170 21:58:58:544 TY_DATA_RESPONSE: seq 167, dpid: 0x10, type: 0x02, length: 4, val: 170 21:58:58:545 TY_DATA_RESPONSE: seq 167, dpid: 0x10, type: 0x02, length: 4, val: 170 21:58:58:546 TY_DATA_RESPONSE: seq 167, dpid: 0x10, type: 0x02, length: 4, val: 170 21:58:58:596 Websocket 127.0.0.1:50218 send message: {"config":{"heatsetpoint":1700,"locked":false,"mode":"off","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"14","r":"sensors","t":"event","uniqueid":"e8:e0:7e:ff:fe:ce:3d:a7-01-ef00"} (ret = 2130660672) 21:58:59:305 poll node a4:c1:38:15:ca:a9:3a:8a-01 21:58:59:306 Poll light node Bett Samuel1 21:58:59:357 read attributes of 0xA4C13815CAA93A8A cluster: 0x0006: [ 21:58:59:358 0x0000 21:58:59:359 ] 21:58:59:360 add task 412992 type 19 to 0xA4C13815CAA93A8A cluster 0x0006 req.id 221 21:58:59:361 Poll APS request 221 to 0xA4C13815CAA93A8A cluster: 0x0006 21:58:59:520 Poll APS confirm 221 status: 0x00 21:58:59:523 Erase task req-id: 221, type: 19 zcl seqno: 2 send time 0, profileId: 0x0104, clusterId: 0x0006 21:58:59:580 0xA4C13815CAA93A8A: update ZCL value 0x01/0x0006/0x0000 after 0 s 21:59:00:605 poll node 28:2c:02:bf:ff:ed:a4:b3-01 21:59:00:606 Poll light node Smart plug 1 21:59:00:651 TY_DATA_RESPONSE: seq 167, dpid: 0x10, type: 0x02, length: 4, val: 170 21:59:00:653 TY_DATA_RESPONSE: seq 167, dpid: 0x10, type: 0x02, length: 4, val: 170 21:59:00:654 TY_DATA_RESPONSE: seq 167, dpid: 0x10, type: 0x02, length: 4, val: 170 21:59:00:655 TY_DATA_RESPONSE: seq 167, dpid: 0x10, type: 0x02, length: 4, val: 170 21:59:00:656 TY_DATA_RESPONSE: seq 167, dpid: 0x10, type: 0x02, length: 4, val: 170 21:59:00:656 TY_DATA_RESPONSE: seq 167, dpid: 0x10, type: 0x02, length: 4, val: 170 21:59:00:658 Websocket 127.0.0.1:50218 send message: {"config":{"heatsetpoint":1700,"locked":false,"mode":"off","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"14","r":"sensors","t":"event","uniqueid":"e8:e0:7e:ff:fe:ce:3d:a7-01-ef00"} (ret = 2130660672) 21:59:00:745 read attributes of 0x282C02BFFFEDA4B3 cluster: 0x0006: [ 21:59:00:749 0x0000 21:59:00:751 ] 21:59:00:754 add task 412995 type 19 to 0x282C02BFFFEDA4B3 cluster 0x0006 req.id 227 21:59:00:756 Poll APS request 227 to 0x282C02BFFFEDA4B3 cluster: 0x0006 21:59:00:960 Poll APS confirm 227 status: 0x00 21:59:00:962 Erase task req-id: 227, type: 19 zcl seqno: 3 send time 0, profileId: 0x0104, clusterId: 0x0006 21:59:02:280 Daylight now: nauticalDusk, status: 220, daylight: 0, dark: 1 21:59:02:380 TY_DATA_RESPONSE: seq 167, dpid: 0x02, type: 0x04, length: 1, val: 0 21:59:02:382 TY_DATA_RESPONSE: seq 167, dpid: 0x02, type: 0x04, length: 1, val: 0 21:59:02:383 TY_DATA_RESPONSE: seq 167, dpid: 0x02, type: 0x04, length: 1, val: 0 21:59:02:386 TY_DATA_RESPONSE: seq 167, dpid: 0x02, type: 0x04, length: 1, val: 0 21:59:02:388 TY_DATA_RESPONSE: seq 167, dpid: 0x02, type: 0x04, length: 1, val: 0 21:59:02:390 TY_DATA_RESPONSE: seq 167, dpid: 0x02, type: 0x04, length: 1, val: 0 21:59:02:457 Websocket 127.0.0.1:50218 send message: {"config":{"heatsetpoint":1700,"locked":false,"mode":"auto","on":true,"reachable":true,"windowopen_set":false},"e":"changed","id":"14","r":"sensors","t":"event","uniqueid":"e8:e0:7e:ff:fe:ce:3d:a7-01-ef00"} (ret = 2130660672) 21:59:02:833 poll node b4:35:22:ff:fe:c1:75:8e-01 21:59:02:834 Poll light node Huhn_ak_Klappe 21:59:03:180 Poll APS request to 0xB43522FFFEC1758E cluster: 0x0008 dropped, cluster doesn't exist 21:59:04:905 poll node bc:02:6e:ff:fe:c3:da:66-01 21:59:04:906 Poll light node Jalousie_Samuel

Smanar commented 6 months ago

I started the LOG and Switch the TRV from Manual to Holiday mode. After a few seconds the TRV Switches to Home mode with 17°C . Maybe it is normal. Is this the LOG sequens you want to see?

Yes exactly, but if the device do same without deconz intervention, IDK what to do, perhaps need another setting somewhere ? If I m right "holiday" is the "program" mode ?

And how can I pair the Door Sensor and the Multisensor with the TRV?

Tuya support direct bind for this feature ? Never see it on my side. And I don't think it's something possible using battery device.

Is it possible to send a weekly program to the TRV?

Good question, have started using c++ code, but using DDF will be another story, honnestly I don't have enought time to do that on my side.

the battery level is schown as low.

And no way to know if it's not working or reversed, as the device make too few report for it to see it in logs. Wait somes days for the device make report. If it's reversed :

        {
          "name": "state/lowbattery",
          "parse": {"fn": "tuya", "dpid": 35, "eval": "Item.val = Attr.val == 0"},
          "read": {"fn": "none"}
        },