[RELEASE] Tuya Zigbee Multi-Sensor 4 In 1 (PIR motion sensors and mmWave presence radars) w/ healthStatus

Bravo on this great contribution!

I have the TS020 PIR Motion Sensor Detector With Light Sensor Scene Switch and it took me a while to figure out how to get the lux to work, this is technically "motion with scene switch", but forcing the device to "4 in 1 sensor" allowed Lux to be detected, so maybe mentioning this for future reference?

Just recieved these and this seller can be trusted. They delivered exactly what I ordered (two 24GHz wall sensors with mount included). Just 16 days from Fenggangzhen to Vancouver Island is very fast too.

1 Like

Just for clarity I think you mean 24GHz and not 2.4GHz.

I miss Vancouver Island. Enjoy.

1 Like

Thanks. I of course did. :v:t2:

Hi I bought the following Tuya door sensor.
image

.when I added the zigbee device it selected
Tuya Multi Sensor 4 In 1 OLD
It didn't seem to be a door sensor so I update HPM for the Tuya Multi Sensor 4 In 1
deleted and re-added.
It selected the Tuya Multi Sensor 4 In 1 OLD vs the newer Tuya Multi Sensor 4 In 1
The device info is

* endpointId: **01**
* application: **43**
* manufacturer: **_TZ3000_yfekcy3n**
* model: **TS0203**

and the logs indicate

ev:9452023-10-04 11:50:30.179 PMtraceJeremy door sendZigbeeCommands(cmd=[he raw 0xC820 1 0x01 0x0000 {10 00 00 07 00 FE FF}, delay 200])
dev:9452023-10-04 11:50:30.178 PMdebugJeremy door refresh()...
dev:9452023-10-04 11:50:28.214 PMinfoJeremy door Initialization finished
version=1.0.5 (Timestamp: 2022/06/11 10:15 PM)
dev:9452023-10-04 11:50:28.213 PMinfoJeremy door manufacturer = _TZ3000_yfekcy3n
dev:9452023-10-04 11:50:25.184 PMtraceJeremy door sendZigbeeCommands(cmd=[he raw 0xC820 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 200, he wattr 0xC820 0x01 0x0000 0xFFDE 0x20 {13} {}, delay 200, delay 200, zdo bind 0xC820 0x02 0x01 0x0402 {A4C1381D1E19E075} {}, delay 200, zdo bind 0xC820 0x02 0x01 0x0405 {A4C1381D1E19E075} {}, delay 200, zdo bind 0xC820 0x03 0x01 0x0400 {A4C1381D1E19E075} {}])
dev:9452023-10-04 11:50:25.179 PMinfoJeremy door configure()..
dev:9452023-10-04 11:50:25.178 PMinfoJeremy door preferencies updates are sent to the device...
dev:9452023-10-04 11:50:25.176 PMtraceJeremy door sendZigbeeCommands(cmd=[])
dev:9452023-10-04 11:50:25.175 PMdebugJeremy door sending the changed AdvancedOptions
dev:9452023-10-04 11:50:25.161 PMdebugJeremy door Config parameters changed! old=bd24320921f34432d021 new=bd24320921f34432d021
dev:9452023-10-04 11:50:25.154 PMinfoJeremy door Debug logging is will be turned off after 24 hours
dev:9452023-10-04 11:50:25.106 PMinfoJeremy door Debug logging is true; Description text logging is true
dev:9452023-10-04 11:50:25.105 PMinfoJeremy door Updating Jeremy door (Tuya Multi Sensor 4 In 1 OLD) model TS0203 manufacturer _TZ3000_yfekcy3n
dev:9452023-10-04 11:50:25.096 PMinfoJeremy door installed()
dev:9452023-10-04 11:50:25.096 PMtraceJeremy door state.hashStringPars = bd24320921f34432d021
dev:9452023-10-04 11:50:24.983 PMinfoJeremy door InitializeVars()... fullInit = true
dev:9452023-10-04 11:50:24.614 PMinfoJeremy door Initialize()...
dev:9452023-10-04 11:50:21.745 PMtraceJeremy door sendZigbeeCommands(cmd=[he raw 0xC820 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 200, he wattr 0xC820 0x01 0x0000 0xFFDE 0x20 {13} {}, delay 200, delay 200, zdo bind 0xC820 0x02 0x01 0x0402 {A4C1381D1E19E075} {}, delay 200, zdo bind 0xC820 0x02 0x01 0x0405 {A4C1381D1E19E075} {}, delay 200, zdo bind 0xC820 0x03 0x01 0x0400 {A4C1381D1E19E075} {}])
dev:9452023-10-04 11:50:21.740 PMinfoJeremy door configure()..
dev:9452023-10-04 11:49:35.279 PMinfoTuya Multi Sensor 4 In 1 OLD Power source is 03
dev:9452023-10-04 11:49:35.276 PMdebugTuya Multi Sensor 4 In 1 OLD parse() descMap = [raw:C8200100001007003003FEFF86, dni:C820, endpoint:01, cluster:0000, size:10, attrId:0007, encoding:30, command:01, value:03, clusterInt:0, attrInt:7, additionalAttrs:[[status:86, attrId:FFFE, attrInt:65534]]]
dev:9452023-10-04 11:49:33.616 PMinfoTuya Multi Sensor 4 In 1 OLD Power source is 03
dev:9452023-10-04 11:49:33.611 PMdebugTuya Multi Sensor 4 In 1 OLD parse() descMap = [raw:C8200100001007003003FEFF86, dni:C820, endpoint:01, cluster:0000, size:10, attrId:0007, encoding:30, command:01, value:03, clusterInt:0, attrInt:7, additionalAttrs:[[status:86, attrId:FFFE, attrInt:65534]]]
dev:9452023-10-04 11:49:32.159 PMdebugTuya Multi Sensor 4 In 1 OLDbind response, data=[DB, 82] (Sequence Number:DB, Status: FAILURE)
dev:9452023-10-04 11:49:32.156 PMdebugTuya Multi Sensor 4 In 1 OLD parse() descMap = [raw:catchall: 0000 8021 00 00 0040 00 C820 00 00 0000 00 00 DB82, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:C820, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[DB, 82]]
dev:9452023-10-04 11:49:29.222 PMdebugTuya Multi Sensor 4 In 1 OLDbind response, data=[DA, 82] (Sequence Number:DA, Status: FAILURE)
dev:9452023-10-04 11:49:29.219 PMdebugTuya Multi Sensor 4 In 1 OLD parse() descMap = [raw:catchall: 0000 8021 00 00 0040 00 C820 00 00 0000 00 00 DA82, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:C820, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[DA, 82]]
dev:9452023-10-04 11:49:28.559 PMdebugTuya Multi Sensor 4 In 1 OLD write attribute response is FAILURE
dev:9452023-10-04 11:49:28.555 PMdebugTuya Multi Sensor 4 In 1 OLD parse() descMap = [raw:catchall: 0104 0000 01 01 0040 00 C820 00 00 0000 04 01 86DEFF, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:C820, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[86, DE, FF]]
dev:9452023-10-04 11:49:28.363 PMdebugTuya Multi Sensor 4 In 1 OLD NOT PARSED : descMap = [raw:catchall: 0000 8004 00 00 0040 00 C820 00 00 0000 00 00 D10020C8140104010204000400000100030000050219000A00, profileId:0000, clusterId:8004, clusterInt:32772, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:C820, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[D1, 00, 20, C8, 14, 01, 04, 01, 02, 04, 00, 04, 00, 00, 01, 00, 03, 00, 00, 05, 02, 19, 00, 0A, 00]]
dev:9452023-10-04 11:49:28.359 PMdebugTuya Multi Sensor 4 In 1 OLD parse() descMap = [raw:catchall: 0000 8004 00 00 0040 00 C820 00 00 0000 00 00 D10020C8140104010204000400000100030000050219000A00, profileId:0000, clusterId:8004, clusterInt:32772, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:C820, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[D1, 00, 20, C8, 14, 01, 04, 01, 02, 04, 00, 04, 00, 00, 01, 00, 03, 00, 00, 05, 02, 19, 00, 0A, 00]]
dev:9452023-10-04 11:49:28.196 PMtraceTuya Multi Sensor 4 In 1 OLD sendZigbeeCommands(cmd=[he raw 0xC820 1 0x01 0x0000 {10 00 00 07 00 FE FF}, delay 200])
dev:9452023-10-04 11:49:28.195 PMdebugTuya Multi Sensor 4 In 1 OLD refresh()...
dev:9452023-10-04 11:49:28.079 PMinfoTuya Multi Sensor 4 In 1 OLD Tuya device manufacturer is _TZ3000_yfekcy3n)
dev:9452023-10-04 11:49:28.076 PMdebugTuya Multi Sensor 4 In 1 OLD parse() descMap = [raw:C8200100002A040042105F545A333030305F7966656B6379336E, dni:C820, endpoint:01, cluster:0000, size:2A, attrId:0004, encoding:42, command:01, value:_TZ3000_yfekcy3n, clusterInt:0, attrInt:4]
dev:9452023-10-04 11:49:26.502 PMinfoTuya Multi Sensor 4 In 1 OLD installed()

I'm sure you are really busy but any chance you could help me get this working as a door sensor?

Manually change the driver to Tuya Zigbee Contact Sensor++ w/ healthStatus and pair the device again to the hub.

You are a rock star !!! I was just about to ask you about this one
image

but your instructions made that work also!
You have saves us all SOOOO much money making these work!

1 Like

Is there any recommendation for a 24ghz presense sensor that can be operated with battery?

I am not aware of any battery-operated mmWave sensors.

All radars do a lot of on-board processing which consumes relatively high energy (a few hundred milwatts). The only one model supported by this driver has 2xAA batteries which can be used for a short-time backup only.

1 Like

Thank you for the fast reply.
From the wired options, what in your opinion is the best overall?

You can start with the Linptech/Moes 24Ghz Presence Sensor.

It is relatively simple, not expensive, and available on both Amazon and AliExpress.

3 Likes

Hi TJ,
There were a lot of changes in the code (dev. branch) recently... So some functionalities may got changed, thank you for your report!

Please test the new update version 1.6.2 timeStamp 2023/10/14 10:32 AM : TS0601_PIR_PRESENCE - preference inductionTime changed to fadingTime, humanMotionState sent as event;
I am trying to keep the custom attributes as less as possible, so there are some breaking changes for this device. Let me know if this version works for TS0601 _TZE200_9qayzqa8

I am not sure - is this sensor DC powered only, or can work on batteries as well?

It's working for my TS0601 _TZE200_9qayzqa8 again. It's a 10 GHz radar presence sensor that is DC only.

The only thing I see now is the LINPTECH 24Ghz lost fading time under 10 sec with both versions of 1.6.2. I've edited it back in for the meantime. All other sensors of mine appear to be working as expected settings-wise and function-wise. Amazing work by you as always! :+1:

The Linptech radar doesn't fit into the common processing code flow that I am trying to complete... I am still working on it, will let you know when ready for testing.

1 Like

Dear sir,

I have just recieved a ZY- M100 from this link : https://www.aliexpress.com/item/1005004704966668.html?spm=a2g0o.order_list.order_list_main.17.6706180228SSNq

I have enquiry:

  1. How do I know it is working, it's stated online and active, any particulars parameters I can refer to know it's working as intended?

  2. How can I adjust the sensitivity and range coverage for the radar?




I'm using the Tuya Multi Snsor 4 in 1

Hi @user5693_ABu ,
Your device seems to be not the old ZY- M100, but a newer 24Ghz version of the radar...
I don't know if someone else has used it with this driver so far. You must update the driver to the latest development branch version - please use the link on the second post, or from within the HE driver editor click on the "Import" button. You must use version 1.6.2 of the driver or newer.

After updating the driver click on the Initialize button and then press the F5 key in the PC browser to refresh the page - the configuration parameters should show up.

Here's the updated outcome:




Im able to see some information in the current state now, is this good?

Much better now, but the radarSensitivity parameter shows suspicious value...
Did you perform also these steps?

After re-initialize and F5 :slight_smile:


OK, thank you. I will be going out now, but your tomorrow morning, there should be a new version with some fixes, I will ping you when ready to update it and test again.

2 Likes