[RELEASE] Zemismart Zigbee Blind Driver

Thanks - just tried it and it doesn't work though.

1 Like

Was worth a shot

3 Likes

do you suppose this driver will work with the zigbee to rf dongle?

The only way to understand is if someone takes the risk to purchase it and let us know... I think there is a good chance it may work with this driver as it already includes most of the known Zemismart Zigbee blinds and Zigbee dongles, but there is no guarantee that it is not something new and unknown.

I ordered from zeimismart today. i’m diving in head first here. I hope there’s some support here in the community if I need to cobble together a driver.

image

I connected the Tuya Curtain Motor to HE-C5, but the device says "Need to setup limits on device".
So, I manually opened and closed the curtain , but the limit setting does not seem to be working. What should I do?? Plz. help me~

Tuya Curtain Motor : TS0601 TZE200_zpzndje

Current States

  • numberOfButtons : 5
  • presence : not present
  • windowShade : unknown

State Variables

  • isTargetRcvd : false
  • copyright : Copyright ©2021, 2022 Amos Yuen, kkossev, iquix, ShinJjang
  • lastHeardMillis : 1663862044400
  • version : 3.2.2 - 2022-05-23
  • waitingForResponseSinceMillis :
  • target : 0

dev:12841 2022-09-23 01:02:02.951 warnupdateWindowShadeArrived: Need to setup limits on device
dev:12841 2022-09-23 01:02:02.948 debugupdateWindowShadeArrived: position=null
dev:12841 2022-09-23 01:02:00.429 debugclose, direction = 0
dev:12841 2022-09-23 01:01:47.325 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.math.BigDecimal#minus.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 517 (method setPosition)
dev:12841 2022-09-23 01:01:40.535 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.math.BigDecimal#minus.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 517 (method setLevel)
dev:12841 2022-09-23 01:01:26.849 infotest windowShade is unknown
dev:12841 2022-09-23 01:01:26.846 warnupdateWindowShadeArrived: Need to setup limits on device
dev:12841 2022-09-23 01:01:26.844 debugupdateWindowShadeArrived: position=null
dev:12841 2022-09-23 01:01:24.325 debugopen, direction = 0
dev:12841 2022-09-23 00:56:21.589 infotest windowShade is unknown
dev:12841 2022-09-23 00:56:21.586 warnupdateWindowShadeArrived: Need to setup limits on device
dev:12841 2022-09-23 00:56:21.583 debugupdateWindowShadeArrived: position=null
dev:12841 2022-09-23 00:56:19.062 debugopen, direction = 0
dev:12841 2022-09-23 00:56:11.910 infotest windowShade is unknown
dev:12841 2022-09-23 00:56:11.907 warnupdateWindowShadeArrived: Need to setup limits on device
dev:12841 2022-09-23 00:56:11.902 debugupdateWindowShadeArrived: position=null
dev:12841 2022-09-23 00:56:09.383 debugclose, direction = 0
dev:12841 2022-09-23 00:55:41.496 debugsetDirection: directionText=forward, directionValue=0
dev:12841 2022-09-23 00:55:40.464 debugsetMode: modeText=lift, modeValue=1
dev:12841 2022-09-23 00:55:39.512 debugupdated test model=TS0601 manufacturer=_TZE200_zpzndjez
dev:12841 2022-09-23 00:55:39.509 debug fullInit=false invertPosition=true, positionReportTimeout=2500, mixedDP2reporting=false, substituteOpenClose=false
dev:12841 2022-09-23 00:55:39.507 infotest configured : model=TS0601 manufacturer=_TZE200_zpzndjez
dev:12841 2022-09-23 00:54:02.335 infoTuya Curtain Motor configured : model=TS0601 manufacturer=_TZE200_zpzndjez
dev:12841 2022-09-23 00:54:02.239 infoTuya Curtain Motor configured : model=TS0601 manufacturer=_TZE200_zpzndje

sys:1 2022-09-23 00:54:02.340 Created Zigbee Device Tuya Curtain Motor
sys:1 2022-09-23 00:54:00.531 Initializing Zigbee Device A4C138E8EA0ECE73, E6D9
sys:1 2022-09-23 00:53:12.599 Zigbee Discovery Running

Device pairing info
Manufacturer: _TZE200_zpzndjez
Endpoint 01 application: 40
Endpoint 01 endpointId: 01
Endpoint 01 idAsInt: 1
Endpoint 01 inClusters: 0004,0005,EF00,0000
Endpoint 01 initialized: true
Endpoint 01 manufacturer: _TZE200_zpzndjez
Endpoint 01 model: TS0601
Endpoint 01 outClusters: 0019,000A
Endpoint 01 profileId: 0104
Endpoint 01 stage: 4
Endpoint F2 endpointId: F2
Endpoint F2 idAsInt: 242
Endpoint F2 initialized: true
Endpoint F2 outClusters: 0021
Endpoint F2 profileId: A1E0
Endpoint F2 stage: 4

1 Like

Hi @user2546 ,

I see two issues that I will try to correct - the first one is that this device fingerprint inClusters list differs from what is coded in the driver. Was this driver selected automatically when you paired the motor for the first time to HE? Or you assigned the driver manually later?

The error exceptions in the logs are because the motor current position was not received from the device. I will add additional checks in the code to avoid the exceptions from being logged as errors, but this will not solve the problem with the missing position reports from the device.

You need to first successfully configure the upper and the lower limits of the motor, using only the motor remote as per the instructions that usually come with these devices (often not very clear.. )

Is your curtains motor this one ?:

After you setup the motor limits, please update the driver from this dev. branch link. Then delete the device from the web page and pair it again to HE.

@kkossev My remote for the curtain robot arrived today. I have paired it to the robot and used it to set the end limits (all done via the remotes rf).

So the following settings on the device drivers work fine - open/close/on/off/step open/step close/set position/push buttons (only buttons 1-3)

The step open/close functions have an actual resolution of 10% so setting anywhere in between just results it going to the nearest 10%.

Start Position Change just acts like open/close buttons depending on the direction set.

Overall the device drivers work just fine :+1:. The only extra function on the remote is 20% inching, might be nice to be able to have this in the driver too?

Thanks for your reply.

  1. driver was selected automatically when I paired the motor for the first time to HE.

  2. 2 years ago, I bought the products at AliExpress, and have been using it on Smartthings.
    DTH : Smartthings/tuya-window-shade.groovy at master · iquix/Smartthings · GitHub

  3. it is the Curtain motor, not Roller blind motor.


Thank you for the ST DTH link! Checking the code there, I see some complicated 'FixedPercent' logic that is currently not implemented in this driver.

Did you try to manually set the limits using the curtain motor remote?

Just a follow on short review after a few days of use.

I've got it working properly mechanically now (at least so far) on a timber curtain rod with timber rings. First, unlike a switchbot it can't handle rods larger than 28mm diameter. So I had to make some larger track holders. Also being timber, the rings don't slide smoothly when dragged (despite waxing). So I made sleds for the rings to slide more smoothly. Also tying thin fishing line between each ring helps to reduce dragging as the rings are pulled both from the top and bottom. Otherwise the dragging can (and did in my case) throw the endpopints off. If you have too smooth a ring (metal?) you may have to increase friction by using some double sided tape along the bottom of the rail.

I also noticed the rubber friction wheel wearing off slightly after my multiple open close test attempts. Now that it's working things should be less of an issue as the curtains are only opened/closed twice a day. Battery is down to 75% as indicated after probably the equivalent of 3 weeks of normal use.

Otherwise good job again @kkossev on the driver! (On the HA forum and z2m github I see they're still struggling to get the driver to show battery level). Could I also suggest amending the thread title to reflect the fact that this driver works for more than just blinds?

And of course the remote control is a MUST have when buying the curtain robot.

Anyone experiencing issues with the chain drive motor reporting as not present/present right before an automation? It doesn't fire sometimes and I'm not sure why.

Mine has been working flawlessly for the year I've had it (AM 43)

I get occasional issues with mine not operating from its rules. However I've assumed it's down to a weak mesh (there isn't a Zigbee mesh as I've only one device!). I've just enabled logging on mine and will check for those entries in the log next time it fails.

Right after I posted this I was wondering if it was the zigbee mesh. I might have to buy an outlet so I can get a repeater going.

Is there a way to reconfigure it so 100 is fully closed and 0 is fully open? That's how my homemade version was and it kills my brain trying to think the opposite way. There are a few options that I'd think would work in concert to handle this (forward/reverse, 1-99 open closed reporting and the advanced option about inverting numbers) but it seems any combination of them still has 100 as fully sun shining (though the dashboard can be made to say closed when open and vice versa), but setting it to 60 still moves it to 60% open instead of the opposite. Maybe i need to set it to reverse mode and then reset the limit switches with the remote except up as down and down as up?

okay everyone, this driver is not actually up to snuff for the "dumb" ziemismart zigbee dongle. This dongle simply emulated the actual RF remote. Being that, it actually has not "genuine" feedback from the end device.
The issue I specifically have, is the driver seems to randomly open properly and open partially (I have 3 stop points programmed into the actual motor).
i.e. if I press the open button, "Sometimes" it opens fully (from fully closed). "Sometimes" it opens only to the first stop point (From fully closed). "Sometimes" I must press the button in the driver multiple times to even get any response.
It seems we may need a special driver for the"Dumb" rf to zigbee dongle.
It should really only have 5 buttons? (Perhaps the dongle also emulated channels for the multi channel remotes? so perhaps a channel select as well).
The 5 buttons are really just "Short Press UP", "Long Press UP", "Stop", "Short Press Down" and "Long Press Down".
Preference wise, there should still be reverse direction I suppose? And additionally, the back program button on the actual remotes is also a function I thing via the dongle.
Ultimately, the dongle doesn't really have a step or position setting.

Okay! Ive got the pattern! The zeimismart "Dumb" rf dongle only has 3 buttons. Open, Close and Stop. The same as the remote. If you Long press a button on the RF Remote, it actually simply repeats the command twice after a slight pause. So, to emulate, the open and close button in the driver must repeat the open or close command in a pattern. Open (two presses within 1000ms) and same for close. SO a double tap is needed as a long press equivalent. testing shows 750-1000ms apart. If you press twice too close together it only steps to next position. This will emulate the RF remote. I have tested this my manually pressing the buttons in this pattern in the app.

Hey guys, I just bought 6 of these from Decopedia on Aliexpress. They are Zemismart AM25's with zebra blinds on them.

I've got them working with the latest modified driver, although I didn't have an issue with the original one from Zemismart.

I noticed they have poor Zigbee reception. I added THREE zigbee repeater outlets nearby to mesh as best as best as possible...but still...once every few days one of the blinds will come unresponsive to any command and need to be paired again in order to work.

I'm not sure what causes the connection drop but it sure is annoying. I'm about to give up and try running them on Homeassistant or the free Tuya hub it came with.

I read most of the posts here but I don't think I came across any solutions for this particular issue...other than that a few others have this issue.

Last ditch effort to ask here for any ideas?

By ‘one of the blinds will come unresponsive’ do you mean one and the same device, or different blinds fail every time?

What are the the mains powered devices around that may act as Zigbee repeaters?