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

That is what it should be and always is. I will submit a new driver which should force the endpoint even if not detected.

EDIT: @yototogblo the driver has been updated, please use the new driver, delete the device and re-pair.

Thanks! Just updated it. Unfortunately, have the exact same issue (still sending the null)

I have one more thing I will add to the driver, let us try that.

1 Like

If it helps, here's the data and Raw Description in SmartThings:

  • application: 20
  • endpointId: 01
  • manufacturer: LUMI
  • model: lumi.curtain
  • zigbeeNodeType: ROUTER

Raw Description:
01 0104 0202 01 0B 0000 0004 0003 0005 000A 0102 000D 0013 0006 0001 0406 08 0019 000A 000D 0102 0013 0006 0001 0406

Added and submitted, please update and press Initialize. Refresh and check the Data section of the driver. If you have only one endpoint id shown in the data section and it is now set to 01, this worked if open and close works. Otherwise, I will have to patch the commands before sending them and see if I can find a permanent solution together with HE since this is outside of the driver.
I also have these curtains and I do get the correct endpointId. When re-pairing, did you delete the device completely and then re-pair?

Thanks a lot. Will try now. And yes, I did delete the driver and re-pair

1 Like

Unfortunately, that didn't work. I also deleted and re-paired and still didn't work. The initialize() method has null in it so never gets processed by the motor.

That wouldn't have mattered, but if it doesn't work it means I can't force the setting of a correct endpointId. I have submitted a patched version of the code which gets past where the system gets the endpoint id from. Please test it. No need to re-pair, just change the driver.

That worked! Thanks sooo much. Much appreciated!

Great! I will make the change permanent in all methods, not just open and close, a new version will be up soon.

A new version with a complete workaround has been submitted.

@mike.maxwell what can be done about a device getting a null endpointId? Trying to overwrite it manually in the Data section doesn't work. Doing so I end up with two values with the same name. For me this doesn't happen with this very same device, but for @yototogblo it was the same every time on HE and no issue on ST? I now worked around it by "patching" the zigbee command output and replacing "0xnull" with "0x01", but that is not a great permanent solution.

No idea what the issue is about haven't been following this one...

Can you post a screen shot of the data section for this device on Hubitat?

Unfortunately, I didn't take any screenshot of the data page before markus's fix. However, there was no entry for endPoint ID initially. Now that markus seems to be forcing the endPointId to get set, I have an entry for it.

Data * softwareBuild:

  • driver: v1.0.1.0429
  • inClusters: 0000,0004,0003,0005,000A,0102,000D,0013,0006,0001,0406
  • endpointId: 01
  • outClusters: 0019,000A,000D,0102,0013,0006,0001,0406
  • model: lumi.curtain
  • manufacturer: LUMI
1 Like

Would it be possible to add startLevelChange and stopLevelChange commands to the dimmer capability of this? I'd love to be able to use a remote to open it to a certain position.

Thanks

Sure, I can do that, I'm rebuilding my zigbee method library so will make that change in a day or two.

1 Like

Hey @markus, pls any luck on this?

Thanks much!

Got held up with some things, maybe tomorrow. Don't worry, it is coming.

1 Like

@yototogblo it has been added to the development branch, will push to release branch in about a week probably, you can get the development version here:

Thanks! Works great.

For some reason though, the state is no longer updating after opening or closing... The state is getting stuck. I just opened the curtain and the level, position or windowShade didn't change. I have to click "Refresh" for the states to change.

Try pairing it again, I will check more tomorrow. It is very late here.