Edge Fingerprint problem for Xiaomi devices

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.

1 Like
 - id: "lumi/RTCGQ11LM"                  << can be added
    deviceLabel: Aqara Motion Illuminance Sensor
    manufacturer: LUMI
    model: lumi.sensor_motion.aq2
    deviceProfileName: motion-battery-illuminance
 - id: "lumi/RTCGQ01LM"  << no luck
    deviceLabel: Xiomi Motion Illuminance Sensor
    manufacturer: LUMI
    model: lumi.sensor_motion
    deviceProfileName: motion-battery
 - id: "LUMI/lumi.sensor_motion"  << no luck
    deviceLabel: Xiaomi Motion
    zigbeeProfiles:
      - 0x0104
    deviceIdentifiers:
      - 0x0104
    deviceProfileName: motion-battery

Maybe this post can help you out:

You can include the profileId and deviceId you mentioned here:

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.

I can see

catchall: 0104 0000 01 01 0000 00 189B 00 00 0000 0A 01 050042126C756D692E73656E736F725F6D61676E6574

raw:189B0000158D000159C0B8, dni:189B, errorCode:00, ieee:00158D000159C0B8

catchall: 0104 0000 01 01 0000 00 189B 00 00 0000 0A 01 050042126C756D692E73656E736F725F6D61676E6574

on/off: 0

in the (Hub) Events

I’ve tried the wildcards like


zigbeeGeneric:
  - id: "any1234"
    deviceLabel: lumi.any.1234
    deviceIdentifiers:
      - 0x1234
    deviceProfileName: water-temp-tempalarm-battery

  - id: "any"
    deviceLabel: lumi.any
    zigbeeProfiles:
      - 0x0104
    deviceProfileName: water-temp-tempalarm-battery

but none of my fingerprints work for this kind of devices. Could you please give me a clue on how can I fingerprint this?

@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:

zigbeeManufacturer:
  - id: "Xiaomi Contact Sensor MCCGQ01LM"
    manufacturer: LUMI
    model: lumi.sensor_magnet
    deviceProfileName: Contact sensor with battery voltage
    deviceLabel: Xiaomi Contact Sensor
    zigbeeProfiles:
      - 0x0104
    deviceIdentifiers:
      - 0x0104
      - 0x1234
    clusters:
      server:
        - 0x0000
        - 0x0003
        - 0xFFFF
        - 0x0019

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

I’ve never seen model/mfg for this device even in groovy DTH, probably because Xiaomi does not send zbjoin.

I would suggest to uninstall DTH, before pairing with edge driver,

it will break existing devices.