[RELEASE] Aqara (B1) Smart Curtain Motor (ZNCLDJ11LM & ZNCLDJ12LM) Driver

Thank you @claytonelliott for sticking the course, you now have your driver! :slight_smile:

The driver is now properly updated and ready for use. Anyone using it, please report any issues in this thread.

1 Like

Alexa skill works. After installing the Alexa Skill app in Hubitat and enabling the skill in my Amazon Alexa iPhone app the curtain motors were exposed and shown as devices in phone app. Then I simply created these routines which were programmed to change the Set Level to 0, 60 & 100

Alexa, open curtains
Alexa, close curtains
Alexa, 60 percent curtains)

You can also say:
Alexa, turn on XXX (where XXX is the name of your curtain motor)
Alexa, turn off XXX
Alexa, XXX level 50 (or another percentage, and not sure if this is the exact command)

1 Like

Thank you for reporting in :slight_smile: There are some minor changes to the driver coming soon, like Checkin and Presence indicators to know that it has not dropped. Apart form that it is mostly a matter of code having been rearranged and cleaned up.

I just got the original aqara curtain motor but can't get it to work. When I do a zigbee discovery, it finds the curtain but never initializes it. As a result, it shows up as null in Hubitat. I can then edit the device and use your driver but even though it claims it's present, it only checks in the first time (hitting refresh does nothing) and the controls don't work. It's not responding to open or close commands.

Any help would be appreciated. Thanks

It sounds like it didn't pair properly, WITHOUT deleting the device, go to device discovery and re-pair the curtain motor. Just to confirm, we're talking about the ZNCLDJ11LM model, right?

Once you've paired successfully, check the bottom of the device page under Data that model displays as "lumi.curtain" without "garbled" characters. If it is "garbled", short press the button on the curtain and refresh the device page and check again, it should now be correct.

Yup ZNCLDJ11LM . The model is lumi.curtain. I just tried with the 2nd one and the same thing is happening. It seems to pair (although it stays stuck at initializing and the device name is Zigbee device null:null. Can't control either

If it displays "lumi.curtain" on the device page at least you got far enough to get that sent properly.
Turn on debug logging and press Track Discovery Mode. Try to use Open and Close after that. Show me the logs.

Will do so now. Just paired one of them with SmartThings and it works fine there.

Do you have other Xiaomi/Aqara devices paired with your HE hub? What's the Zigbee channel number your HE hub is using?

No other Aqara device. Channel 20

Ok, that is a channel that works with Aqara in general. So that is not it. With the logs I can say more.

It replies to track discovery, so open and close should work after that.

Weird; nothing is happening. Seems like it's only track discovery it responds to. There was a warning message in there so maybe that says something?

Also, if I manually start the motor (by pushing the rotating part), it stops when I click "Track Discovery Mode". It doesn't seem like it's getting a response for anything else though.

I also tried using the "Generic Zigbee Dimmer" driver and that didn't work either even though it works in SmartThings.

Here are the logs after hitting open or close... No response

I see why, the endpoint has not been paired properly, it is null. Something went wrong during pairing.
The command should look like this:
he cmd 0x25D8 0x01 0x0006 0x01 {}, delay 2000

Any hints on how to pair correctly?

For this you have to remove the device and repair. If this doesn't work, if you would get a strong repeater to put in the room with the curtains it would help. A cheap but good one is the Ikea repeater.

I've removed and repaired a bunch of times. You think it has to do with the repeater? I'm pairing it right beside the hub and it's not working still. However, it works fine with SmartThings. I know the zigbee radios are different but still, it's pretty weird.

Any way to manually set the end point ID? It appears it's always 01 (that's what it is in ST)