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.
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:
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:
Then, select "LOAD ALL DEFAULTS" from the Configure drop-down menu and click on the Run button :
Youi can check whether the new Device Profile is selected in the Preferences tab :
Also, the device profile should be shown on the State Variables section :
(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?
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)
@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 :
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
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.
I will come back to clarifying and correcting these later, after having a final release of the code.
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
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.
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)
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