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

Is there a way to do the same with an amazon setup?
Im too invested into amazon echo stuff and havent done the jump into home assistant either.

That would be awesome. Got 2 fp2 thinking it would be compatible with my hubitat c8 :frowning:

1 Like

You have confirmation here, under "new devices" part of article:

Can you clarify what you mean by 'amazon setup' ? Pairing the device directly to Alexa Zigbee hub? Or exposing the already paired with Hubitat device to Alexa ?

Are the distance reports (every second) overwhelming to a zigbee network? I do like the motion-sensing ability, mains powered, and recessed look (Tuya TS0601), but I'm not sure about all the extra zigbee traffic. For instance, if I were to adopt 4 of these units, it seems like a lot of traffic. Or is this comparable to drops of water in a lake?

One other question, mine is not reporting temp/humidity, something I really liked about my NYCE motion sensors. Is this a driver issue or not included in the hardware. Can I find a similar recessed mmWave with temp/humidity?

It's hard to say yes or no. In another forum, to the same question, I got an answer "The Zigbee coordinators are made to communicate!"

In my setup, I have never practically observed delays in receiving the messages from the multiple PIR sensors or delays on activating Zigbee switches, when I had two mmWave radars active and sending distance reports each second at the same time. As long as you do not look at the Zigbee logs page intensive traffic, everyone is happy! : )

In HA (ZHA/Z2M) it is easy to add just another Zigbee stick and to isolate the chatty devices from the rest of the quiet devices network. In Hubitat, this can be achieved with another HE hub.

Actually, this is what I did - although I say 'it is generally safe to have several chatty mmWave radars', on practice I have left the two Tuya radars on the old C-7 hub and I use the Hubitat mesh to bring the two radars to the C-8 hub, where I have now 80 Zigbee devices. This is the best solution for me, as I already have two hubs. There is no point in keeping the old one idle...

Tuya and Aqara mmWave devices do not have temperature and humidity sensors.

It is supported in HE by Jonathan's ESPHome drivers :

2 Likes

Moving these devices to their own network seems like a great idea.

My last hesitation with these sensors is how to power them safely, as they require 110V AC wired directly to the push in connectors. I'm contemplating romex to a closed metal/plastic box, and from that box a short wire (like a modified extension cord) wired to the Tuya. It's far from passing electric code, but should be OK. Are there better solutions?

I have the same dilemma, and I'm planning to bring power to that kind of devices, by extending installation from nearby sockets (electrical boxes). And if kkossev test will be positive, then I even hide presence sensors bellow dry wall, so they could be fully invisible.

I was wondering if you had a chance to look at my logs for driver "TS0601"; "__TZE200_lu01t0zl"? The reason I'm bringing it up again is that I thought it was at least working with it reporting active/not active. I was wrong it is completely dead and nonfunctional. I am having to use it via Tuya hub and in a small bath. I had planned on using it in my TV / living room, but the Tuya hub is not going to work there. If you do not have the time I would understand. I am still within my return window for this mmWave sensor. Regardless thank you so much for all your hard work in the community. I know you have made my HE transition much easier.

1 Like

Hey @TJBurton ,

I didn't have the time to look at your device in the last few days, but I will have this chance during the incoming weekend. This mmWave sensor should be a good one, the base code for its support is in the driver, but you are the first one that has tried using it with this driver. So there will be some things to add or fix.

I will need the debug logs starting from the time when you power on the sensor after being switched off for a while. I need the debug logs in a text format, so that I can copy and paste the debug logs output into the driver test function. Can you do that? (copy all the logs, select as a text, paste as a text). Please enclose the long logs into a summary section (using the cog wheel tool). Or even better, send the logs in a DM to me, and we can continue there, as there will be several trial-and-error iterations until all is working as intended.

@kkossev ,

Ok, I will need to get it paired back to HE as it is paired to my Tuya right now. I will DM you all the logs shortly.

1 Like

John, can you try the new dev. branch version 1.3.3 2023/05/11 8:09 PM ?

Update: this thing is really strange, a kind of a hybrid between the 'normal' Tuya mmWave sensors and the behavior of the one that I call 'the black square radar w/ the annoying LED'. Does it have a LED activated when it senses a presence?

Can you make a better-resolution picture of the leaflet that came with the device (both sides)?

Update2: wait for a new driver version, no one of the existing radar profiles fits this device.
Update3: version 1.3.3 2023/05/11 10:29 PM adds a new group : TS0601_YXZBRB58_RADAR


Please try this new version.

@kkossev,
Hope you can help.
I've purchased another ZY-M100 presence sensor.
Unfortunately, this device gets picked up as a "Tuya Scene Switch TS004F" instead of "
Tuya ZigBee Breath Presence Sensor ZY-M100".
Selecting driver as "device" then switching to Tuya Multi sensor 4in1 produces an error.
But, then allows the driver to be setup.
Please see logs below.

Device


  • endpointId: 01
  • application: 4A
  • inClusters: 0004,0005,EF00,0000
  • manufacturer: _TZE204_sxm7l9xa
  • model: TS0601
  • outClusters: 0019,000A
  • softwareBuild:
  • tuyaVersion: 1.0.10
Pairing info

Add device

Give your new Tuya Scene Switch TS004F a name:
Device pairing info
Manufacturer: _TZE204_sxm7l9xa
Endpoint 01 application: 4A
Endpoint 01 endpointId: 01
Endpoint 01 idAsInt: 1
Endpoint 01 inClusters: 0004,0005,EF00,0000
Endpoint 01 initialized: true
Endpoint 01 manufacturer: _TZE204_sxm7l9xa
Endpoint 01 model: TS0601
Endpoint 01 outClusters: 0019,000A
Endpoint 01 profileId: 0104
Endpoint 01 stage: 4
Endpoint F2 application: unknown
Endpoint F2 endpointId: F2
Endpoint F2 idAsInt: 242
Endpoint F2 initialized: true
Endpoint F2 manufacturer: unknown
Endpoint F2 model: unknown
Endpoint F2 outClusters: 0021
Endpoint F2 profileId: A1E0
Endpoint F2 stage: 4

Logs

dev:19412023-05-12 08:45:58.312 PMinfoTuya presence sensor (test) configure()..

dev:19412023-05-12 08:45:58.182 PMwarnTuya presence sensor (test) device model TS0601 manufacturer _TZE204_sxm7l9xa was not found!

dev:19412023-05-12 08:45:58.179 PMwarnTuya presence sensor (test) NOT FOUND! deviceName =UNKNOWN profileName=UNKNOWN for model TS0601 manufacturer _TZE204_sxm7l9xa

dev:19412023-05-12 08:45:58.174 PMinfoTuya presence sensor (test) Tuya presence sensor (test) InitializeVars( fullInit = true )...

dev:19412023-05-12 08:45:58.152 PMinfoTuya presence sensor (test) Initialize( fullInit = true )...

dev:19412023-05-12 08:45:57.757 PMinfoTuya presence sensor (test) Min Humidity is: 389 (DP=0x6D)

dev:19412023-05-12 08:45:57.755 PMdebugTuya presence sensor (test) Tuya cluster: dp_id=2 dp=109 fncmd=389

dev:19412023-05-12 08:45:57.750 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:catchall: 0104 EF00 01 01 0040 00 DB2D 01 00 0000 02 01 006E6D02000400000185, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:DB2D, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 6E, 6D, 02, 00, 04, 00, 00, 01, 85]]

dev:19412023-05-12 08:45:57.453 PMinfoTuya presence sensor (test) Received bind response, data=[C7, 82] (Sequence Number:C7, Status: Failure)

dev:19412023-05-12 08:45:57.450 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:catchall: 0000 8021 00 00 0040 00 DB2D 00 00 0000 00 00 C782, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:DB2D, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[C7, 82]]

dev:19412023-05-12 08:45:57.316 PMinfoTuya presence sensor (test) Received bind response, data=[C6, 82] (Sequence Number:C6, Status: Failure)

dev:19412023-05-12 08:45:57.312 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:catchall: 0000 8021 00 00 0040 00 DB2D 00 00 0000 00 00 C682, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:DB2D, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[C6, 82]]

dev:19412023-05-12 08:45:57.243 PMinfoTuya presence sensor (test) Received bind response, data=[C5, 82] (Sequence Number:C5, Status: Failure)

dev:19412023-05-12 08:45:57.240 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:catchall: 0000 8021 00 00 0040 00 DB2D 00 00 0000 00 00 C582, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:DB2D, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[C5, 82]]

dev:19412023-05-12 08:45:57.156 PMinfoTuya presence sensor (test) Received bind response, data=[C4, 82] (Sequence Number:C4, Status: Failure)

dev:19412023-05-12 08:45:57.152 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:catchall: 0000 8021 00 00 0040 00 DB2D 00 00 0000 00 00 C482, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:DB2D, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[C4, 82]]

dev:19412023-05-12 08:45:57.055 PMinfoTuya presence sensor (test) Received bind response, data=[C3, 82] (Sequence Number:C3, Status: Failure)

dev:19412023-05-12 08:45:57.051 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:catchall: 0000 8021 00 00 0040 00 DB2D 00 00 0000 00 00 C382, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:DB2D, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[C3, 82]]

dev:19412023-05-12 08:45:56.908 PMinfoTuya presence sensor (test) Received bind response, data=[C2, 82] (Sequence Number:C2, Status: Failure)

dev:19412023-05-12 08:45:56.899 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:catchall: 0000 8021 00 00 0040 00 DB2D 00 00 0000 00 00 C282, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:DB2D, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[C2, 82]]

dev:19412023-05-12 08:45:56.639 PMdebugTuya presence sensor (test) write attribute response is success

dev:19412023-05-12 08:45:56.635 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:catchall: 0104 0000 01 01 0040 00 DB2D 00 00 0000 04 01 00, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:DB2D, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:19412023-05-12 08:45:56.493 PMdebugTuya presence sensor (test) write attribute response is success

dev:19412023-05-12 08:45:56.489 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:catchall: 0104 0000 01 01 0040 00 DB2D 00 00 0000 04 01 00, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:DB2D, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:19412023-05-12 08:45:56.428 PMinfoTuya presence sensor (test) received device manufacturer _TZE204_sxm7l9xa

dev:19412023-05-12 08:45:56.423 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:DB2D01000068040042105F545A453230345F73786D376C3978610000002003010000204A05000042065453303630310700003001FEFF003000, dni:DB2D, endpoint:01, cluster:0000, size:68, attrId:0004, encoding:42, command:01, value:_TZE204_sxm7l9xa, clusterInt:0, attrInt:4, additionalAttrs:[[value:03, encoding:20, attrId:0000, consumedBytes:4, attrInt:0], [value:4A, encoding:20, attrId:0001, consumedBytes:4, attrInt:1], [value:TS0601, encoding:42, attrId:0005, consumedBytes:9, attrInt:5]]]

dev:19412023-05-12 08:45:56.346 PMdebugTuya presence sensor (test) sendZigbeeCommands (cmd=[he raw 0xDB2D 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 200, he wattr 0xDB2D 0x01 0x0000 0xFFDE 0x20 {13} {}, delay 200, delay 200, zdo bind 0xDB2D 0x02 0x01 0x0402 {A4C138AD5A9B137C} {}, delay 200, zdo bind 0xDB2D 0x02 0x01 0x0405 {A4C138AD5A9B137C} {}, delay 200, zdo bind 0xDB2D 0x03 0x01 0x0400 {A4C138AD5A9B137C} {}])

dev:19412023-05-12 08:45:56.294 PMinfoTuya presence sensor (test) configure()..

dev:19412023-05-12 08:45:56.285 PMinfoTuya presence sensor (test) received device manufacturer _TZE204_sxm7l9xa

dev:19412023-05-12 08:45:56.280 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:DB2D01000068040042105F545A453230345F73786D376C3978610000002003010000204A05000042065453303630310700003001FEFF003000, dni:DB2D, endpoint:01, cluster:0000, size:68, attrId:0004, encoding:42, command:01, value:_TZE204_sxm7l9xa, clusterInt:0, attrInt:4, additionalAttrs:[[value:03, encoding:20, attrId:0000, consumedBytes:4, attrInt:0], [value:4A, encoding:20, attrId:0001, consumedBytes:4, attrInt:1], [value:TS0601, encoding:42, attrId:0005, consumedBytes:9, attrInt:5]]]

dev:19412023-05-12 08:45:56.201 PMdebugTuya presence sensor (test) sendZigbeeCommands (cmd=[he raw 0xDB2D 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 200, he wattr 0xDB2D 0x01 0x0000 0xFFDE 0x20 {13} {}, delay 200, delay 200, zdo bind 0xDB2D 0x02 0x01 0x0402 {A4C138AD5A9B137C} {}, delay 200, zdo bind 0xDB2D 0x02 0x01 0x0405 {A4C138AD5A9B137C} {}, delay 200, zdo bind 0xDB2D 0x03 0x01 0x0400 {A4C138AD5A9B137C} {}])

dev:19412023-05-12 08:45:56.126 PMinfoTuya presence sensor (test) configure()..

dev:19412023-05-12 08:45:54.526 PMinfoTuya presence sensor (test) Min Humidity is: 356 (DP=0x6D)

dev:19412023-05-12 08:45:54.524 PMdebugTuya presence sensor (test) Tuya cluster: dp_id=2 dp=109 fncmd=356

dev:19412023-05-12 08:45:54.519 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:catchall: 0104 EF00 01 01 0040 00 DB2D 01 00 0000 02 01 006D6D02000400000164, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:DB2D, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 6D, 6D, 02, 00, 04, 00, 00, 01, 64]]

dev:19412023-05-12 08:45:52.918 PMinfoTuya presence sensor (test) Min Humidity is: 393 (DP=0x6D)

dev:19412023-05-12 08:45:52.916 PMdebugTuya presence sensor (test) Tuya cluster: dp_id=2 dp=109 fncmd=393

dev:19412023-05-12 08:45:52.911 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:catchall: 0104 EF00 01 01 0040 00 DB2D 01 00 0000 02 01 006C6D02000400000189, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:DB2D, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 6C, 6D, 02, 00, 04, 00, 00, 01, 89]]

dev:19412023-05-12 08:45:51.345 PMinfoTuya presence sensor (test) Min Humidity is: 406 (DP=0x6D)

dev:19412023-05-12 08:45:51.339 PMdebugTuya presence sensor (test) Tuya cluster: dp_id=2 dp=109 fncmd=406

dev:19412023-05-12 08:45:51.327 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:catchall: 0104 EF00 01 01 0040 00 DB2D 01 00 0000 02 01 006B6D02000400000196, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:DB2D, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 6B, 6D, 02, 00, 04, 00, 00, 01, 96]]

dev:19412023-05-12 08:45:49.751 PMinfoTuya presence sensor (test) Min Humidity is: 391 (DP=0x6D)

dev:19412023-05-12 08:45:49.750 PMdebugTuya presence sensor (test) Tuya cluster: dp_id=2 dp=109 fncmd=391

dev:19412023-05-12 08:45:49.745 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:catchall: 0104 EF00 01 01 0040 00 DB2D 01 00 0000 02 01 006A6D02000400000187, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:DB2D, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 6A, 6D, 02, 00, 04, 00, 00, 01, 87]]

dev:19412023-05-12 08:45:48.133 PMinfoTuya presence sensor (test) Min Humidity is: 385 (DP=0x6D)

dev:19412023-05-12 08:45:48.131 PMdebugTuya presence sensor (test) Tuya cluster: dp_id=2 dp=109 fncmd=385

dev:19412023-05-12 08:45:48.126 PMdebugTuya presence sensor (test) parse (_TZE204_sxm7l9xa, 1.3.3 2023/05/11 10:29 PM) descMap = [raw:catchall: 0104 EF00 01 01 0040 00 DB2D 01 00 0000 02 01 00696D02000400000181, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:DB2D, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 69, 6D, 02, 00, 04, 00, 00, 01, 81]]

I am also unable to setup this device in Home Assistant.

Thanks for your help.

1 Like

Hi @iEnam ,

Did you try to set up the device profile manually to one of the 'Tuya Humane Presence Sensor MIR-xxxxxx" profiles? (screenshot here)

This particular radar fingerprint is not in the latest driver code, so that's why it matches another driver fingerprint. But let's try first try without changes in the driver code.

After you manually assign this driver, pair the radar once again to HE. Then, manually select one of the MIR-xxxxx device profiles ( I should probably move the Device Profiles manual configuration outside of the 'Advanced Options' section).

1 Like

Yes, I have tried the above without any success.
Unfortunately, all options for this device are not available in the preferences section even after selecting mmWave Radar profile.
EDIT: selecting Tuya YXZBRB58 Radar displays all the normal radar options for this device, but it does not work. I will wait for you to add the radar fingerprint. Thanks

Is there any way to suppress battery reports on a _TZ3210_zmy9hjay? It reports frequently, always at 100% because it's plugged in (still shows power source as battery).



You can suppress the battery percentage remaining events from being sent as Hubitat events :

image

This was added lately; update first to the latest development branch version :
image

If it works for you too, I will push the update via HPM.

I have not found a reliable way to distinguish when the sensor is battery-powered or DC-powered.

1 Like

Thanks! I should have time to give it a try later this afternoon.

I loaded the new driver. I haven't had a chance to try the new battery events delay, but you might be interested that the driver did somehow correctly identify my device on DC....

I checked the code, in one of the recent updates I have hardcoded overwriting of the powerSource to 'dc' for all mmWave radars and for the 4-in-1 sensor .. : ) These report the power source (basic cluster, attribute 7) incorrectly. For the rest of the devices, the powerSource is registered as reported from the device itself.

2 Likes