Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tuya Smart Zigbee Radiator Actuator Trv #6634

Closed
jossiee opened this issue Dec 29, 2022 · 29 comments
Closed

Tuya Smart Zigbee Radiator Actuator Trv #6634

jossiee opened this issue Dec 29, 2022 · 29 comments

Comments

@jossiee
Copy link
Contributor

jossiee commented Dec 29, 2022

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
Copy link

Hallo,
hätte die gleiche Geräteanforderung

@Smanar
Copy link
Collaborator

Smanar commented Jan 16, 2023

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 #6674

Tuya TRV need this PR to work

@jossiee jossiee closed this as completed Jan 18, 2023
@jossiee jossiee reopened this Jan 18, 2023
@jossiee
Copy link
Contributor Author

jossiee commented Jan 18, 2023

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

@Smanar
Copy link
Collaborator

Smanar commented Jan 18, 2023

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

@CHTHSCH
Copy link

CHTHSCH commented Jan 19, 2023

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

@Smanar
Copy link
Collaborator

Smanar commented Jan 19, 2023

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
Copy link
Contributor Author

jossiee commented Jan 19, 2023

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
Copy link

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 github-actions bot added the stale label Feb 10, 2023
@github-actions
Copy link

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
Copy link

nilleiz commented Oct 17, 2023

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

@rensbr
Copy link

rensbr commented Nov 15, 2023

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 Mimiix reopened this Nov 15, 2023
@Mimiix
Copy link
Collaborator

Mimiix commented Nov 15, 2023

Asked @Smanar to check in :)

@Smanar
Copy link
Collaborator

Smanar commented Nov 15, 2023

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.

@github-actions github-actions bot removed the stale label Nov 16, 2023
@rensbr
Copy link

rensbr commented Nov 16, 2023

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
Copy link
Collaborator

Smanar commented Nov 16, 2023

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
Copy link

rensbr commented Nov 16, 2023

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
Copy link
Collaborator

Smanar commented Nov 16, 2023

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.

@rensbr
Copy link

rensbr commented Nov 17, 2023

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
Copy link
Collaborator

Smanar commented Nov 18, 2023

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
Copy link

rensbr commented Nov 21, 2023

"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
Copy link
Collaborator

Smanar commented Nov 21, 2023

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
Copy link

rensbr commented Nov 22, 2023

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
Copy link
Collaborator

Smanar commented Nov 22, 2023

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.

Copy link

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 github-actions bot added the stale label Dec 14, 2023
Copy link

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
Copy link

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
Copy link
Collaborator

Smanar commented Apr 5, 2024

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
Copy link

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
Copy link
Collaborator

Smanar commented Apr 6, 2024

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"}
        },

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants