[Release] Xiaomi / Aqara / Opple Drivers with Presence!

Are you talking about these ones?

1 Like

Yes, those are the ones.

or checkout @iharyadi 's home made repeater.


@andre-berlin could you by any chance please post the changes you made to Markus' drivers here to get them to work?

I'm hoping that they will help me out with my QBKG12LM and QBKG11LM devices as they mostly work, but they don't properly update the status of the lights when physically pressing the buttons.

Markus seems to be very busy and these drivers are not being worked on anymore even on the other forum it seems


I got this Zigbee Button from Aqara. I can pair it and see the status changed. But I cannot use it as the number of button is set to 0.
Anybody who got this fixed?

I just added support for this in my combined driver:

I have installed your driver, but it has the same Problem. Number of Button is 0
Screen Shot 2021-01-30 at 10.15.21 AM

That is likely a vestige from the driver in this thread. Mine does not show that state "NumberOfButtons" as it's a single button. I just added the exact same button to my production C7 and it works just fine assigning actions using Rule Machine.

1 Like

Installed and paired Xiaomi Mijia Smart Light Sensor (model GZCGQ01LM).
It suddenly starts to send data after intialize + press button on it. Probably it is Ok.

Log contains one this:

dev:1322021-02-04 10:10:37.428 [warn] (...132)Unhandled Event PLEASE REPORT TO DEV - description:catchall: 0000 8005 00 00 0040 00 3AA3 00 00 0000 00 00 0200A33A0101 | msgMap:[raw:catchall: 0000 8005 00 00 0040 00 3AA3 00 00 0000 00 00 0200A33A0101, profileId:0000, clusterId:8005, clusterInt:32773, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:3AA3, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[02, 00, A3, 3A, 01, 01]]

To get support for this driver you're going to have to post this on their forums. Look at Markus' profile pic.

1 Like

You should try to use the "Zigbee - Generic Device Toolbox" driver to wipe the states clean and then give @chirpy's driver a go. :slight_smile:
"Zigbee - Generic Device Toolbox" can be installed via the HPM.


I am seeing an error with the Aqara Vibration Sensor when I try to set the Open and or Closed position.

errororg.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object '9.1' with class 'java.lang.String' to class 'java.math.BigDecimal' on line 475 (setClosedPosition)

1 Like

I had something similar when switching between different drivers from Markus and other ones.
Install Markus's Zigbee - Generic Device Toolbox driver, change to that and delete all the various bits you can delete and then switch back to the driver you want to use

I have the exact same problem as @ericreed and already used @markus' Generic Device Toolbox.

Unfortunally nothing has changed, the GroovyCastException (line 475) is still raising. :cry:

BTW: Changing the sensitivityLevel is also not working (but without any error message).

Is the error with Markus's driver or the one from chirpy?

If it's Markus's it likely won't be fixed anytime soon as he doesn't have access to the latest firmware. So in that case just try the driver from chirpy.

The reason I was getting the error was because I changed drivers and somehow code from the old driver was left over. When I searched for the code that the error was complaining about the code wasn't actually there so I knew that it wasn't a problem with the code, just some left over stuff from swapping in between drivers.

So can you have a look at the code and see if it actually a problem in the driver itself.
If it's actually a problem with the driver and it's chirpy's one he will likely fix it very quickly

I'm using Markus's driver.

BTW: IMHO @chirpy's driver has no option to set the Open and or Closed position.

I'm not at my computer at the moment so I can't have a look at the code but it likely is a bug in the code, either because of something changed from the Hubitat firmware or a bug that was there.

I'd suggest trying the other forum they Markus uses but I personally haven't had luck getting him to fix a different bug with the wired switches.

As chirpy is actively maintaining his driver I'd suggest if that's the only thing missing that you make a request for him to add that feature.

I personally don't have the vibration sensor so my help unfortunately can't be that specific


I've had a look at the code and at the error in detail and I'm very new to groovy but according to the documentation I found the problem is that a float type number (9.1 in the error reported by @ericreed) which is being stored as a string is trying to get converted to a BigDecimal type.
BigDecimal seems to only accept whole numbers.

So there's 2 ways to fix Markus' driver as I can tell. Figure out where the 9.1 comes from and round that down to 9 before it gets to line 475 or potentially change the type from BigDecimal to something that supports floating point numbers.

Apologies again as I can't be more helpful. While I am a software developer I am slowly starting to learn groovy.

BigDecimal is a floating decimal type, and by definition supports a string to BigDecimal conversion (actually prefers it over float) ....

1 Like

That's interesting.

Any idea why then the error would come up?
Cannot cast object '9.1' with class 'java.lang.String' to class 'java.math.BigDecimal'

To me that says it's trying to convert from float stored as a string to BigDecimal but it can't do that

This seems to be the line causing that error:

BigDecimal cX = device.currentState("currentX")?.value

link to line in driver code

Download the Hubitat app