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

Hi @stevenascott ,
can you post a picture of this device? I can't open the link, and searching the net for _TZE200_9qayzqa8 finds other dead links - like this device has disappeared from the market ...

The healthStatis logic implemented in this driver is the following :

  • healthStatis is set to online immediately after any Zigbee messages is received from the device. Online means that it communicates to the hub, but it doesn't mean that the device is functional.
  • A 3 (three) hours timer is started at a random second.
  • if nothing was received in the last 3 hours, an internal counter is increased.
  • if 4 (four) consecutive failures to receive anything from the device are registered, then the device status is changed to 'offline'

The above means that there must be a period of 12 hours without anything received from the device, before its status changes from online to offline.

The 12 hours period is OK for battery-powered PIR sensors, which may transmit their battery status once each 4 hours.

This algorithm is not the best one for mains-powered devices like the mmWave sensors however.
In my newer drivers the healthCheck algorithm (passive or active) and the checkin-periods are configurable, but not in this driver.

You can check whether the healthCheck job is running at the bottom of the device web page :

Thank you!

I added the driver and replaced it, but it was missing "a bunch" so I deleted, re-paired the device, and changed the driver. The effect was the same. I found the "Set Par" fields and tried setting some values that were missing (in this case "staticDetectionSensitivity"), but they are never discovered (or displayed?).

dev:1652024-02-08 02:15:59.179 PMwarnPresence Sensor Test 3 catched exception groovy.lang.MissingMethodException: No signature of method: java.lang.Long.minus() is applicable for argument types: (java.lang.String) values: [2024-02-08 14:11:07.561] Possible solutions: minus(java.lang.Number), minus(java.lang.Character), plus(java.lang.String), find(), min(long, long), signum(long) while processing descMap: [raw:catchall: 0104 EF00 01 01 0040 00 A5C6 01 00 0000 02 01 007D7004000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:A5C6, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 7D, 70, 04, 00, 01, 01]]
dev:1652024-02-08 02:15:59.172 PMdebugPresence Sensor Test 3 IJXVKHD0 radar presence DP=0x70 (112) fncmd = 1
dev:1652024-02-08 02:15:59.166 PMdebugPresence Sensor Test 3 Tuya cluster: dp_id=4 dp=112 fncmd=1
dev:1652024-02-08 02:15:59.149 PMdebugPresence Sensor Test 3 parse: (_TZE204_ijxvkhd0, TS0601_IJXVKHD0_RADAR, 1.5.3 2023/09/30 12:32 PM) descMap = [raw:catchall: 0104 EF00 01 01 0040 00 A5C6 01 00 0000 02 01 007D7004000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:A5C6, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 7D, 70, 04, 00, 01, 01]]
dev:1652024-02-08 02:15:59.091 PMdebugPresence Sensor Test 3 IJXVKHD0 radar presence_state DP=0x69 (105) fncmd = 1
dev:1652024-02-08 02:15:59.088 PMdebugPresence Sensor Test 3 Tuya cluster: dp_id=4 dp=105 fncmd=1
dev:1652024-02-08 02:15:59.084 PMdebugPresence Sensor Test 3 parse: (_TZE204_ijxvkhd0, TS0601_IJXVKHD0_RADAR, 1.5.3 2023/09/30 12:32 PM) descMap = [raw:catchall: 0104 EF00 01 01 0040 00 A5C6 01 00 0000 02 01 007C6904000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:A5C6, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 7C, 69, 04, 00, 01, 01]]
dev:1652024-02-08 02:15:59.068 PMdebugPresence Sensor Test 3 ignored IJXVKHD0radar event 2 fncmd = 0
dev:1652024-02-08 02:15:59.063 PMdebugPresence Sensor Test 3 Tuya cluster: dp_id=1 dp=2 fncmd=0
dev:1652024-02-08 02:15:59.057 PMdebugPresence Sensor Test 3 parse: (_TZE204_ijxvkhd0, TS0601_IJXVKHD0_RADAR, 1.5.3 2023/09/30 12:32 PM) descMap = [raw:catchall: 0104 EF00 01 01 0040 00 A5C6 01 00 0000 02 01 007B0201000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:A5C6, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 7B, 02, 01, 00, 01, 00]]
dev:1652024-02-08 02:15:58.986 PMdebugPresence Sensor Test 3 ignored IJXVKHD0radar event 1 fncmd = 0
dev:1652024-02-08 02:15:58.983 PMdebugPresence Sensor Test 3 Tuya cluster: dp_id=1 dp=1 fncmd=0
dev:1652024-02-08 02:15:58.979 PMdebugPresence Sensor Test 3 parse: (_TZE204_ijxvkhd0, TS0601_IJXVKHD0_RADAR, 1.5.3 2023/09/30 12:32 PM) descMap = [raw:catchall: 0104 EF00 01 01 0040 00 A5C6 01 00 0000 02 01 007A0101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:A5C6, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 7A, 01, 01, 00, 01, 00]]
dev:1652024-02-08 02:15:58.222 PMdebugPresence Sensor Test 3 sendZigbeeCommands (cmd=null)
dev:1652024-02-08 02:15:58.219 PMinfoPresence Sensor Test 3 executed setPar setStaticDetectionSensitivity(7)
dev:1652024-02-08 02:15:58.215 PMwarnPresence Sensor Test 3 staticDetectionSensitivity: unsupported model TS0601_IJXVKHD0_RADAR !

Interestingly "staticDetectionSensitivity" seems to have registered to the device correctly because when I changed the driver back, it was set to 7 where I had set it to 3 earlier.

I noticed "powerSource: "dc"" in your driver. Would it be possible to be able to set that to ac (if AC), and drastically increase to polling frequency, perhaps making it variable?

Thank you for trying. There are a lot of changes in this driver between version 1.5.3 and the current version 1.70. , there was a chance that the latest version may have some bugs as a result of the code refactoring, but probably this is not the case here.

This is already done in some new drivers, but not in this one.

I want to be honest - there is very little chance that in the next 1-2 months, I can go back to chasing the weird implementation differences in the dozens of different Tuya radar manufacturers.

All my efforts are currently put toward the Matter Bridge project. Tuya mmWave sensors are working fine via the Matter Bridge integration, leaving the Hubitat Zigbee mesh free of their spammy behavior. If you are planning to use more than 1 or 2 mmWave radars, my recommendation will be to go with a Tuya Zigbee2Matter gateways,

I totaly understand priorities. I can get what I need with the current driver.

That looks very interesting. Do you happen to know, if the Tuya devices that are paired to the Matter Bridge, will be natively available in the Tuya Smart App?

1 Like

Yes, all Tuya devices, including the mmWave radars are available for configuration from the Tuya Smart Life app.

Here is an example of a new radar settings from one of the posts above :
image

What is exposed to Hubitat via the Matter Bridge is the motion active / motion inactive status (aka 'presence'). All the spammy distance reports sent every second are handled by the Tuya Zigbee bridge, in a channel different than the one used in Hubitat hub.

I'm in. That's what bugs me most about Zigbee is the lack of manufacturer app support. I just orderd the $25 version here.

1 Like

My findings so far are that the $25 version has the same firmware and the same capabilities as the $50 Zemismart or Moes bridges. The Matter Gateway firmware is written by Tuya, not by Zemismart or Moes.

It'll make it here by the end of the month. Maybe I'll rethink my current project, so I don't have to drag a ladder around the house to re-pair devices...

1 Like

According to your initial post, it's included in the PIR section, and the driver auto-assigns the device name "Smart PIR Human Motion Presence Sensor (Black)"

Default profile, and after hitting Initialize is always: Tuya PIR Human Motion Presence Sensor (Black.)

I have been troubleshooting this pair of devices for over a year. Sometimes it seems to trigger on presence, but it's never reliable. I haven't had them added to HE for over 6 months, as I switched to FP2 in those areas. I'd love to figure out the issue though -- hopefully something simple.

I find strange/differing results depending on whether I re-initialize after a power-cycle.

Here is the listing:

Definitely claims to have some sort of doplar/radar. I've played with it enough to know that it seems to actually have that. It's just not reliably triggering off in the fade time. Sometimes it's minutes, sometimes it's never.

I don't have this device; the support in this driver is based on the ZHA (Home Assistant) implementation code, which may also have bugs or inconsistencies. I remember it was rather expensive one year ago, and there were very few posts about it.

Is there some way I can help troubleshoot? If you need anything from me, let me know.

Can you confirm which profile I should be using?

edit: After tinkering for hours, changing drivers, initializing, adjusting settings, I now have one of them working fairly reliably at 24s delay, using the default profile assigned at init. Unfortunately the distance appears to be ignored.

I think this just has a finicky zigbee radio. I was able to massively improve the reliability by putting a bridge near this, despite being only 20ft from the c5 hub. I had similar unreliable results on my c7 and c8. I've heard a couple of horror stories about needing a repeater, so I tried it and it seemed to help.

I'm trying to find this driver on HPM but nothing comes up?

Apparently the search term to find it is: "Tuya Multi Sensor 4 In 1"

For another data point on the Linptech. I have five of them in my home, four in "real" use and one that has been sitting on a table next to me plugged in, as I hadn't found a use for it yet.

So far, IIRC, two of them have each had to be restarted once, the others have been fine.

1 Like

I had to restart 1 of my 3 once. No other issues in 2 months.

I am looking for a zigbee mw wave sensor which I can use with Hubitat hub.
Since I have some gift coupons on Amazon.com, I prefer to get it from there.
So I found these 2:
Linptech
https://www.amazon.com/Linptech-Presence-Occupancy-Automation-Compatible/dp/B0C7C6L66J/ref=sr_1_1?crid=2KP00L6CDB796
Moes
Amazon.com

first of all, are these 2 supported by this driver (or any other driver) ?

secondly, I would prefer if I can have a multi sensor.
So is there a mm wave sensor which also reports illumination ?

and lastly , it seems to be a common approach to support mm sensor with a PIR sensor for some scenarios. So there are products like:
https://www.amazon.com/EC-Buying-Millimeter-Detection-Intelligent/dp/B0CJR5PXKP/ref=sr_1_11?crid=8MKOOA8XRWOL
This seems to be a multi sensor with PIR and mm wave.
But it is wifi ; I prefer to have a zigbee sensor.
Is there any known ?

another example of a dual sensor:
https://www.amazon.com/XiuMii-Presence-Monitoring-Automatical-Christmas/dp/B0C8JD2S8F/

The MOES, and possibly others, do report illumination.

Current States

  • illuminance : 787
  • motion : active
1 Like

thank you. So Moes works with this driver ? (can you confirm)
And it reports illumination.

that' good.

What about a dual motion sensor (PIR & mm Wave) ?