Device Handler for Yoolax zigbee motorized shades

Update

I’ve since fixed up my custom device handler, see link below to GitHub. It works well for older and new Yoolax shades (as far as I can tell) and works well with the new SmartThings app. I’ll keep my original question below, but wanted to let people know there’s a Device Handler they can try out for themselves without digging through the whole thread.

Original Post

Greetings! I hope I am posting this in the right spot. I’m very new to SmartThings development (like, I started yesterday but have been looking at it for a little while longer). I recently got these Yoolax zigbee motorized shades from Amazon and after a lot of searching, found that a custom Ikea device handler by a4refillpad can be used to control them. And it can, but it’s not perfect. So I forked the device type repo and attempted to smooth the rough edges. I think I’ve been fairly successful so far, but there is work to do. For example, I had to change the way it detects position and direction of movement because events frequently come in out of order. But it’s working 90% now. Well enough for daily automation (setting different positions throughout the day).

My big problem now is that the device handler was clearly written for Classic SmartThings and I am at a complete loss on how to convert it to New SmartThings with full functionality. In Classic, there is battery level, buttons to open fully, close fully, pause, and refresh. In New SmartThings there is only set level (0-100) and a status indicator which presents a dropdown that can be used to fully open/close, but it’s confusing.

I’ve done a fair amount of googling and I just can’t wrap my head around the new way of doing things, at least insofar as converting an old project to the new way. It seems most of the discussion is at an advanced level way beyond where I am. I’m hoping for some help!

I’d be really happy if I could get the status to not be editable (just show status), add open/close/pause buttons, and show battery.

Here is my code: https://github.com/thx1200/Yoolax/blob/master/devicetypes/yoolax-shades

Screenshots of classic vs new…

Wonder if you figured this out. Trying to integrate Yoolax into SmartThings as well. Shades come up on sunrise, down at sunset, down when system is armed away etc. I bought their hub but haven’t set it up yet.

I’ve been working with Yoolax on this. They are actually very responsive, I’m impressed.

First, I adapted a newer device handler to the Yoolax Zigbee motor which is fully compatible with the new Smartthings. The code is at the same link in github. Have at it. Keep in mind this is only applicable to the Zigbee motor, not the RF motor.

However, there is a bug with their older motors where it causes it to disconnect after some time (usually around a week) and you have to pair it again. Yoolax says they have fixed the issue and are going to ship me a new motor. Unfortunately due to the holidays and COVID, they are having supply issues and it will be another month or two before it arrives from China, so I can’t be sure it all works as advertised until then.

Oh I see, I don’t have the Zigbee motor but rather the RF and the hub that controls it through Google home. I know that google assistant integrates with ST but there is no way to have the ST hub link to geek link hub that it came with right? I didn’t see any device handlers for that and the geek link hub does not show up on ST. I would think that if these blinds are connected to the internet through Google Home/Geeklink hub there has to be a way to integrate it with Smartthings

There are RF hubs that integrate with ST. Which hub are you using? The hub has to have a device handler or other ST integration point, like a cloud integration or something. It wouldn’t be up to Yoolax.

The blinds use a Geek Link hub which does not seem that it integrates with ST. I was able to integrate the keypad that I use for arming the device with Alexa and just created a routine where if the keypad is locked the blinds will be “off” and it closes all the blinds in the house

Thanks for your work on this! I got my Yoolax shade in November with the Zigbee motor RF remote and have been trying to figure out how to get it integrated with ST. My only issue with it that can see right now is open 100% is more like 90%. ST is using the Yoolax low limit I have set but not the high limit.

NIce work!

Is this DTH the only way to integrate Yoolax ZigBee motors? Or is it just instead of a stock DTH. I’m interested in the Zigbee version.

There are a few different ones, such as the Ikea one. The Ikea one is missing a lot of features on the new SmartThings app. The one in the link above is a modified version of the generic handler Samsung provides but it is fixed so it works with the Yoolax Zigbee motors. However, since I posted this, they have changed to a new motor because the original one had issues disconnecting from the hub sporadically. I’m awaiting the new motor to arrive (they are sending me the replacement for free; again super impressed with Yoolax support) so I don’t know if this handler supports the new motor. When I get it, I’ll update the handler (if applicable) and post back on my results. If you got the shades since around mid-November 2020, you may have the new motor if you chose the Zigbee option.

I don’t have the shades yet, I’ll wait to see what kind of results you have.

BTW are you using the Solar Panel too?

I have a Yoolax Zigbee motor shade. I used the old IKEA DTH and like you mentioned, lost connectivity with the hub after some time.

I plan on contacting Yoolax to see about getting the new motor. In the meantime, I can’t remember how to pair the shade with ST. I’ve added your DTH and published it to my hub. What next? The manual doesn’t contain any relevant info.

Also, I’m a dev, so may be able to help with your DTH once I’m up and running.

4 presses of the reset button followed by a 3 second press to put the motor into pairing mode. Mine had worked from the day I last posted up till today. Now it’s not responding to ST but is responding to the RF remote so I’m guessing it dropped from the hub even though the IDE says Online.

How have you been able to contact Yoolax support? I can’t get any response going through Amazon.

@danjp I’m not using the solar option. I thought about getting it if I liked shades. I’ve found I can go about 5 months (!!) without recharging.

@kyledcline I’ll post when I get the new motor. Since it ships from China it takes like a month to get to me in the States. I’d love some help!

@Melshaw I contacted them initially through Amazon and they replied the next day. Then we exchanged direct emails so we didn’t have to go through Amazon. Try them again, they’ve always replied within 24 hours for me.

@thx1200 I got the ST integration up and running with your new-and-improved DTH. Great job so far! World of difference from the broken mess that was the IKEA implementation.

Waiting to see how long it takes before losing connectivity. Please keep us updated.

What kind of help are you looking for? Any features in particular you are missing?

It pretty much does everything I need it to do in terms of functionality. If you have any ideas, feel free to contribute!

The only thing that’s sort of messy right now is the battery level. My battery algorithm is a best guess because the numbers provided based on how mine is reporting its battery level. It seems to give you a value between 50 and 200 rather than 0-100. So one thing that would help is letting the battery run out and see if the last reported value is close to 0. Or at least under 10%. And also make sure it doesn’t go to 0 too early. It takes about 5 months for me to run through a complete charge!

Quick update. I’ve been monitoring battery status and it’s working great for me so far. I was at 17% when I paired with your DH. Went down to 0% as I’ve been testing it a lot and now it’s dead (as expected). Will update when I can find a charger cable long enough.

I noticed it beeps roughly every 1 second while going from/to Preset Position and Open. Not sure if this is by design in the DH, but it doesn’t beep like that using the remote.

I recharged the battery. The battery indicator in ST is tracking perfectly so far, showing 100%.

@thx1200 i just rec’d Zigbee ver of Yoolax shade and would love to automate with ST and Alexa. I’m new to ST and GITHUB and adding custom Device Handlers. Any chance you might post a step by step how to or point me to good one and point out where to insert your code? Or YouTube video? Thanks!

Hey all, I got my new Yoolax Zigbee motor. This one is supposed to work better and not disconnect from ST hub every week or so. I only got it yesterday, so too soon to tell, but I did update the device handler. See the Github repo.

Of note, the new motor is a manufacturer called Yooksmart (the original was Orvibo). This new motor seems to accept all the same commands and report the same statuses, but it has some odd quirks. One is that it reports open/closed percentage uninverted, but when you issue a command to set a particular level, you have to give it as an inverted value. Why? Who knows. So it will tell you, 80% open, but if you want to open it all the way you send the value 0, not 100. LOL. Anyway, this is accounted for in the new DH. Also of note is it reports level statuses much slower than the Orvibo. I tweaked some wait delays so the UI doesn’t think the shades are done moving before they are.

And finally, the biggest unknown is battery. I think it may report battery the same way as the Orvibo (50 to 200) because 200 is showing as a full charge right now I think. But I don’t know if 50 is the lowest value. It will probably take me months to drain the battery and see. But for now, I’m assuming it’s the same as the Orvibo. I’ll update it when I find out!

The DH supports both motor types. The changes I made should only go into effect if it detects a Yooksmart motor. It should still work for anybody with the Orvibo motor, assuming yours doesn’t disconnect like mine did once per week.