it seems like Xiaomi devices do not send a model name while connecting, so it is not possible to use them with Edge drivers.
Tested on several contact sensors, a couple of motion, and a temperature sensor.
None of the devices is displayed in the “Devices nearby” section.
The manufacturer and model names were copied from existing Groovy DHTs.
I can see the ZigbeeIds and the requests in the Hub log, but not in the mobile application. A new device is not created.
I even tested with the cluster fingerprint and still no luck, but I have not found any good documentation on the cluster fingerprinting.
At the same time, Aqara Motion Illuminance sensors work.
nope it’s not related neither to biometrics nor to Android.
it’s about Xiaomi Zigbee response and ST Edge fingerprinting. It would be great to have more documentation / source code of this part.
@veonua ,
If you have a working DTH, why not just copy the fingerprint from there?
Anyway for Aqara, manufacturer almost certainly should be LUMI and model probably be something like lumi.sensor_???, depending on your censor, not sure which one you have an issue with.
For my Xiaomi (not Aqara) contact sensor I have a working profile as follows:
If you have a working DTH, try to fill info according the above template.
Another option (if you don’t have a working DTH) to retrieve the info is to write a small DTH that just prints model/mfg info in installed, updated and/or parse calls
@veonua Another thing, when working with Xiaomi contact sensor it took to me many attempts to pair it and I didn’t have DTH installed.
This is probably because Xiaomi does not send zbjoin.
I would suggest to uninstall DTH, before pairing with edge driver, otherwise there are high chances that DTH will detect your device earlier than the edge driver
This is an older post, but it looks like I’m fighting the same problem. Xiaomi-Aqara humidity/thermo and I’m trying to develop the Edge zigbee driver. But it never gets and “added” event in the Edge driver, and will fall back to the DTH most of the time. Apparently there is no way to delete the DTH now that Groovy is sandboxed? I also tried the zigbee-humidity driver in the Edge driver library - it should also have worked based on the zigbeeGeneric fingerprint. I was able to build and test the ST multipurpose zigbee example so I think I’m building and publishing correctly. Any hints on ways to debug zigbee joins? I do see messages in the hub log when the DTH accepts the device, but I thought the Edge drivers were supposed to get first shot.
Yeah, I wonder if it is because of this statement I just saw from @nayelyz “Is this DTH a custom one registered in your IDE or the stock one? If it’s a custom one, it takes preference over installed drivers.” Since I can’t delete the DTH (which is recommended in this thread) I do wonder if I’m not getting the Edge driver to be selected over the DTH. I swear I’ve seen Edge selected over my custom DTH’s in the past, but things on the server can change without us knowing.
Why are you having issues deleting the custom DTH? In the IDE > Device handlers when you click the button marked in yellow in the picture below, it sends you to a page where you can delete it.
It might take some time to load but I just made a test and I was able to delete a custom DTH. Just make sure you delete all the devices paired to it before deleting it, otherwise, you’ll get an error.
It appeared to act like it was disabled (i.e. did nothing), but now I see it working. So, maybe a Chrome glitch? This isn’t the first time I’ve tried, so I wonder if Chrome and/or the page goes into a “mode” where the button doesn’t work.
Mmm, I don’t think this button could be disabled by the page itself, but, this takes a long time to load, so, there might be an issue where the page isn’t loaded properly, but I haven’t heard about that button being disabled before…
I suspect the long load time may lead to a time out on the page and that is why is acts a bit random. Lately it’s been working for me - 10 to 20 second wait. Maybe the default timeout is 60 or 120 seconds so if the servers are REALLY SLOW then it just acts like it is disabled since not all of the javascript loaded and/or a REST call timed out.