[Release] Xiaomi / Aqara ZigBee device drivers

community_driver

#1046

I set 3 of these up yesterday. They worked for an hour or two but today none of them are reporting.

I have a fairly robust zigbee mesh. There's a repeater within 10 feet of all three sensors.


#1047

But are all of your repeaters Xiaomi compatible?? More repeaters isn't better if they are the wrong ones...

When I chose to start using Xiaomi devices I had to replace 5-6 repeating devices with ones that were compatible with Xiaomi's non-zigbee standard reporting quirks... I knew that going into it, though.


#1048

Well that's the first I've heard of anything like non-standard zigbee. If that's the case these devices are going in the trash.

All of my repeaters are the centralite/iris outlet ones.


#1049

I suppose it depends on your set up.
I have around 15 of various device types and they are as solid as a rock.
I have one Tradfri outlet that only one of the devices is routing through.
I haven't followed all of this thread recently but what zigbee channel are you using? I found anything above channel 24 was flaky. Changed to channel 20 and it's been solid for months.


#1050

Interesting. Looks like I'm on channel 15.

The xiaomi devices are showing up in hubitat with 16 bit and 64 bit addresses, and Devicd Type ID like they should.

I was messing around with the sensitivity level in the driver and I thought that might have caused my problems. Now I'm less sure.


#1051

How about your 2.4Ghz wi-fi channel on your router.
This can clash with your zigbee channel as well.
Personally I'm on fixed channel 2 for my router wi-fi channel and zigbee channel 20 for my HE hub.
Might be worth checking.


#1052

I suppose 2.4Ghz interference is possible but I've had no such problems for at least 2 years with the current setup. Not since moving to channel 15 anyway. I'm unlikely to touch it just to experiment with xiaomi. Everything else works.


#1053

No problem. I'm just chucking ideas out there about things I've read/picked up along the way. Good luck.


#1054

Those are not Xiaomi compatible, so you will always have drop-out issues if you use Xiaomi devices with those repeaters. That isn't a Hubitat thing, that is a Xiaomi device thing, and will happen when used with incompatible repeaters on any hub.

I refer you to here:


#1055

All four of the Aqara humidity/temperature/pressure sensors I got are reporting 70ish percent battery remaining after only a few days of having them. Anybody else experience battery drain on these? If so, any possible fixes? I'm using the Ikea Tradfri repeaters, though only two of these should be routing through them. Or could the driver just be misinterpreting the numbers?


#1056

mine have all reported weird battery first off when pairing. im just going to run them til they stop reporting and with new batteries see what comes.


#1057

How long have yours been running for without changing them?


#1058

@veeceeoh wrote a very good explanation of how battery calculations are handled.

https://community.hubitat.com/t/xiaomi-draing-battery/20218/6?u=bjcowles

The question is, what are the voltages being reported?


#1059

maybe 6 weeks


#1060

Correct. If I remember it wasn't fully supported on the Hubitat platform when I started porting the driver from my SmartThings device handler, but it has become very clear since then that the 3-axis values would not be of any real use because the X/Y/Z values for any given position vary somewhat wildly from unit to unit.

The best use for the X/Y/Z values is already implemented: Vertical or "off-angle" object or door open/close position, which is presented by the driver through the contact sensor capability. The driver already does all the heavy lifting calculations to provide this feature, and it is based on relative X/Y/X accelerometer positions rather than absolute (which would not work due to the lack of accuracy / consistency between units as described above).

That said, if you can come up with a valid useful reason to reinstate the 3-axis capability, I could rework the code, but it would just send the raw values, which may not make sense / be useful to apps written around the 3-axis output of other manufacturer's devices.



The new USA market Aqara Smart Switches (wired for 120V/60A, models WS-USC01 & WS-USC02 for no-neutral and WS-USC03 & WS-USC04 with neutral) are currently the only ZigBee 3.0 devices officially listed that I'm aware of. However, even these are not yet available to purchase anywhere.

Patience...



It's the usual problem with community forums. Useful information is scattered all over the place, disorganized. But the issues with Xiaomi / Aqara devices not playing well with most ZigBee repeaters has been known of and discussed for a while. With a recent uptick in people who seem to be interested in Xiaomi / Aqara devices but unaware of the potential pitfalls in their use on the Hubitat (and SmartThings) platforms, I was prompted to add this to my opening posts of the the two big threads I started here on the Hubitat Community Forums:

I am hoping that's enough to prompt potential users to look into why they are not officially supported or guaranteed to work, without having a lengthly paragraph explanation in giant bold type. :rofl:

In all seriousness, however, Xiaomi / Aqara's official websites state that their ZigBee-based devices require a Xiaomi / Aqara Gateway Hub, and compatibility with any other hub platforms is never mentioned. So using them with other hubs is presumably at the user's risk.

I feel your pain, though, as it works in reverse: I have bought ZigBee repeater capable devices hoping my Xiaomi / Aqara devices would play well only to discover they don't. It's no fun wasting time / money / effort on devices that don't do what you were hoping they would do.



As @bjcowles mentioned, I have explained how the battery percentage is calculated in a previous post, but the short explanation is that the percentage is a rough estimate based on the range of voltage readings expected from a working battery in a Xiaomi / Aqara device.

The default range is from 2.9 Volts to 3.05 Volts, which means a battery percentage of 70% is the equivalent of a battery reporting 3.01 Volts. And this means your batteries are working fine. In fact, there is official Aqara documentation stating that the battery should be replaced when the reported voltage is 2.8 Volts. So with the driver's current default minimum of 2.9 Volts used to calculate the percentage, if you see a percentage of 0%, the battery should still work fine, just it needs to be replaced fairly soon.

If you don't like seeing such "low" percentages, I recommend manually changing the min/max values to 3.0/2.8, respectively, in the device details page when viewing the sensor/device in the Hubitat web interface. But with those values, a percentage of 15-20% would mean it's time to replace the battery.


#1061

So far these are pretty damn good sensors; I can trigger one seemingly on demand by cupping my hands over it and breathing into my hands for a second. Between these and the Iris v2 motion sensors, I'm really liking the snappy response I'm getting out of my hubitat setup so far, unlike what I was seeing with my hue only setup. I can't imagine having a smartthings hub, it must be infuriating having things not work just because your ISP decided to be flaky one day. I personally can't stand it when technology goes slow for no good reason, one of the reasons I ditched my roku in favor of shieldtv.


#1062

Stop. Send me a PM before you do that and I'll send you my address where you can ship them. I'll pay the shipping. :stuck_out_tongue_winking_eye:

I'm able to get all the Xiaomi Zigbee devices to work reliably, and not drop from the Zigbee network by using only IKEA Trådfri outlets and repeaters, with no incompatible powered Zigbee devices on my hub.

However, that has not been the case for me with the Xiaomi Mijia or Aqara contact sensors. They work, but I still had occasional drops and contact sensors that did not respond correctly on occasion, despite being very close to the hub. The only fix has been to pair them directly to a Xiaomi Aqara HomeKit hub, and then sync that back to HE virtual switches via HomeKit automation. That has been 100% solid performance.

Not the answer for everyone, but for $40 US, this gave me 100% solid, nicely designed and compact contact sensors, that cost only $10 each. It also gave me a doorbell, a supplemental alarm siren, a full spectrum nightlight/status light, and the ability to use any supported Xiaomi Zigbee device, regardless of whether or not the driver exists on HE, and regardless of its reliability on HE. So if you consider the total cost, I have 6 Xiaomi contact sensors, and one Xiaomi HomeKit hub. Those, plus the Controller app for iOS was a total cost of $112 US. Whereas 6 Samsung SmartThings multi-sensors would have cost $120 US. So it's not that I'm saving a ton, but I will save $10 every time I buy a new contact sensor. Plus I have the flexibility to purchase other Xiaomi Zigbee products, and I only have to make sure they are supported by the Aqara Home app.

This works well for me because I'm an iOS users, I was already running Homebridge for HE, and I have an Apple TV 4 to do the HomeKit automations in the background. So while it's obviously not a solution for everyone, it is a solid solution. The only word of advice extra I will add is as noted above, pay for the Controller Pro for HomeKit app, and be sure to backup your HomeKit automations. They are the one unstable piece in that puzzle, no thanks to Apple's stupid idea to automatically delete your automations the moment a device is unavailable in HomeKit.


#1063

I just pre-ordered one of these new Zigbee 3.0 motion sensors. If I can get it to pair, I'll be happy to work with you to get a driver created if you're interested.


#1064

Are those actually Xiaomi? I know the listing title says it is, but I don't see that anywhere else. I ordered one from Amazon a while back and had mixed luck: Konke motion sensor

They do seem to behave a bit like the Xiaomi sensor in that they only send "motion active" messages, but unlike the Xiaomi sensors, faking "inactive" with a timeout doesn't seem to work since they don't keep reporting activity if motion remains active--they just don't do anything at all. I could be missing something (maybe there's a configuration it needs sent that I didn't do, or some say it only is able to receive these at certain times).

Also, as I noted above, I couldn't get it to pair on channel 19. Google tells me 15, 20, and 25 are the ones that work (and 20 does for me). I ended up putting mine outside at a place I normally just walk by once (to solve the first problem) to have a light turn on and don't care if it gets eaten by the elements (which would solve the remaining problems :slight_smile: ).


#1065

Interesting. Wish I had seen your post first. Bit of an impulse buy I must admit. In the interest of helping to make this square peg fit a round hole, I will keep my order. There must be some way of making this work, we just haven't found it yet.

No idea if they are actually Xiaomi or Shenzhen Green Rice Lianchuang Technology Co., Ltd, or whomever, but I purchased because I like the idea that I might be able to get these working well enough to be an effective ceiling mount motion sensor. NYCE are too expensive for my smart home budget. The Mijia sensors work with the Aqara HomeKit hub, so maybe these would too. That would be fine for me.