[BETA] Tuya Zigbee mmWave Sensors

New version 4.0.1 timestamp "2025/09/14 9:21 AM" for testing :

  • added new debug commands;
  • added debug info in states gitHubV4 and profilesV4;
  • added g_loadProfilesCooldown logic - prevent multiple profile loading attempts after JSON parsing errors within a short time

You will still need to manually press the "Update From Git Hub" if installing/updating this driver version 4 for the first time. All the efforts in this update were put toward a very weird problem where parsing the JSON file after downloading it from the HE local storage fails within the first 15 seconds following the HE hub reboot. Why this problem is still a mystery ... As a workaround, I have added a 30-second cooldown timer which delays the next downloading and parsing attempt.

The temporarily URL for the V4 driver is the same.

Anyone who has tested this driver, please let me know if you see any issues.

2 Likes

Hi @kkossev,
just bought similar device marketed as a 4 in 1 mmWave Motion Sensor from HOBEIAN, a slightly different model (ZG-204ZV, should be 10G sensor instead of 24G as the ZM).
With this driver is just reporting motion but no presence, adding Data in case you may find the time to add support to the driver:

application: 93
endpointId: 01
inClusters: 0000,0003,0500,EF00,0402,0405,0001,0400|
manufacturer: HOBEIAN
model: ZG-204ZV
outClusters: 0003
softwareBuild: 0130082025

Adding get info logs:

info fingerprint profileId:"0104", endpointId:"01", inClusters:"0000,0003,0500,EF00,0402,0405,0001,0400", outClusters:"0003", model:"ZG-204ZV", manufacturer:"HOBEIAN", controllerType: "ZGB"
trace ZCL version:03
trace Software Build Id:0130082025
trace Model:ZG-204ZV
trace Manufacturer:HOBEIAN
debug getting info for unknown Zigbee device...

Tried with the TUYA TS0601 24GHz + PIR Radar but no luck...

Thanks in advance!

1 Like

Ciao Andrea,

I have added your device to the updated JSON file. Using the latest test branch driver version from the link above, click on the "Update from GitHub" button. You should see the following confirmation message in the Current States:

image

Then, select "LOAD ALL DEFAULTS" from the Configure drop-down menu and click on the Run button :

image

Youi can check whether the new Device Profile is selected in the Preferences tab :

image

Also, the device profile should be shown on the State Variables section :
image
(you may need to exit the device web page and enter it again in order the information to be refreshed)

Can you post a screenshot of the Preferences web page, what do you see?

1 Like

@bobbles @paul.haczynskyj your devices seems to be the same, please try this driver.

1 Like

Hi,

Thank you very much.
Device seems to be recognized by the driver but mmWave radio still not working, motion sensor reporting ‘active’ or ‘inactive’ and no presence state reported.

Lux sensor seems to be working fine, temp and humidity not showing values (not that I care much in this context…) but they are working fine with your Tuya Zigbee Multi-Sensor 4 in 1 driver

Adding the screens below (redone from pc, previous screens were from mobile app and not so much readable)


Again thanks for your awesome work with these devices!

1 Like

Hi @kkossev
I'm using the latest update of the driver and it is working OK for me.
For info here is the device information.
image

1 Like

@bobbles, your device is slightly different from Andrea's. There is a difference in the inClusters and most importantly - in the Application (firmware) version. Your firmware version is 94, while Andrea's is 93. Can you also confiirm that by 'latest update of teh driver' you mean ver. 4.0.1 timestamp "2025/09/14 9:21 AM" ?

@andrea.veroni we may need several more trial-and-error attempts to find out why your device is not working. Please do the following :

  • enable the Debug logging
  • remove the batteries of your device for 15 seconds
  • insert the batteries back and observe the live logs on the PC browser
  • copy and paste as text the debug logs that follow the battery insertion.

You can use the Hide Details from the cog wheel tool to hide the long logs :
image

1 Like

Yes. Here it is.
image

1 Like

Well, i just realized that my sensor (ZG-204ZV) is just a MOTION DETECTION SENSOR. It's using a mmWave sensor instead of a PIR one to detect motion.
Zigbee2mqtt page clearly states the differences between the two sensors. Just for reference:

Debug logs are reporting issues just with clusters 0x0405 (humidity) and 0x0402 (temp), every other message seems to be correctly interpreted by the driver.

I got tricked into thinking it should be a HDS just because it is using mmWave and not PIR.
So this is indeed a 4 in 1 Tuya sensor and not a human detection sensor, and everything is working as expected.
Not much infos on this device, but definitely enough not to be tricked like i've been.

Not posting debug logs because there's nothing to search for XD

2 Likes

Yes, there is also a lot of confusion in GitHub in different home automation platforms about the differences between HOBEIAN models ZG-204ZV and ZG-204ZM..... On top of that, there is a third group of similar devices that share same set of 'Data Points' using the generic TS0601 model. :frowning:

I will come back to clarifying and correcting these later, after having a final release of the code.

2 Likes

Hi @kkossev,

Would it be possible to add support natively into your new code to this device so I don't need to inverse the logic when it detects presence? It would be much appreciated :slightly_smiling_face:

1 Like

Hi @rfg81 ,

Yes, now this driver version 4.x does not have (practically) limitations on the number of the 'Device Profiles' or different manufacturers fingerprints as the previous version 3.x. I am testing with a JSON file which is double the size of the actual file, i.e. two times more devices than the number of the real mmWave sensors at the moment.

I have moved your device to a new group where the motion status is inverted. But please first update the driver to the new version 4.0.2 2025-09-17 where I have the latest code improvements. Once this code is released, there should not be a need to update the driver code for new devices - just click on the 'Update From Git Hub' button.

ver. 4.0.2 2025-09-17 :

  • added HOBEIAN ZG-204ZV and TS0601 _TZE200_uli8wasj _TZE200_grgol3xp _TZE200_rhgsbacq _TZE200_y8jijhba into TS0601_HOBEIAN_RADAR profile;
  • profilesV4 code moved to the library;
  • temperature and humidity as custom attributes;
  • changed the default offlineCheck for mmWave sensors to 60 minutes;
  • LoadAllDefaults reloades the profilesV4 cache from Hubitat storage;
  • moved TS0601 _TZE284_iadro9bf _TZE204_iadro9bf _TZE204_qasjif9e _TZE204_ztqnh5cg into a new TS0601_TUYA_RADAR_2 profile

After manually updating the driver (temporarily link), do not forget to click on the 'Update From GitHub' button. Then you will need to select 'LOAD ALL DEFAULTS' from the Configure drop-down menu and click on the Run button below - this is because your device was moved from one device profile to another.

1 Like

I got this but I don't know if it's supposed to look like it:


I pressed F5 but nothing changed. I can't force any profile. It says: No available options

I don’t see the results of pressing this button in the State Variables screenshot... This one-time manual click is needed during the early tests, until the default JSON file is included in the HPM package.

Update: before trying the 'Update From GitHub' button again, please update the driver to the new version 4.0.3 "2025/09/18 2:58 PM" - it reduces the load on the HE hub coming from excessive debug logs in the case when the Hubitat local storage "deviceProfilesV4_mmWave.json" file is missing or is broken.

Last update for today: ver. 4.0.3 2025-09-18 "2025/09/18 10:22 PM" :

  • 30 seconds cooldwown timer is started on JSON local storage read or parsing error;
  • importUrl updated;
  • added _TZE204_muvkrjr5 into TS0601_TUYA_RADAR_2 profile;
  • automatically load the standard JSON file from GitHub on driver installation if not present locally (one time action after installation or hub reboot)
2 Likes

Hi! It seems that I still have the same problem after updating the driver and pressing the Update From GithHub button:


This is the log, I passed in front of it to see if I would see something in the log:

And after sometime has passed:

1 Like

Click on 'Load Defaults' and then click on the 'Run' button below.

image

Hubitat device web pages may not be updated regularly; always refresh the page before taking a screenshot.

I tried that, it was what you saw in the last screenshot.

In the Preferences tab with the Advanced option enabled, do you see now the list of the available device profiles?

image


Can you also make the following test :
In the Command field, type 'initialize' and click on the Run button:

Do you see something like this in the live logs ?

Here it goes, after the steps you described:

1 Like

I think that I have found and fixed the problem - it was in the JSON file where your device TS0601 _TZE284_iadro9bf was present only in the defaultFingerprints section in the JSON file, but not in the individual fingerprints list. Anyway, I made a quick test using the old (the current) driver version and the new JSON file, and it worked.

Click on the 'Update from GitHub' button to load the new JSON file. Then select 'LOAD ALL DEFAULTS' and click on the Configure button (I had to click it twice, maybe a web page refresh issue again). If all is OK you should see this in the live logs :

dev:43122025-09-19 15:24:16.771debugTS0601 _TZE284_iadro9bf (simulated) found exact match for model TS0601 manufacturer _TZE284_iadro9bf : profileName=TS0601_TUYA_RADAR_2 deviceName =Tuya ZigBee Breath Presence Sensor ZY-M100-S_2

Thank you very much for the logs!

3 Likes