Support for SwitchBot Curtain 3

How far away from the Curtain 3 is / was you bluetooth adapter and / or switchbot hub? Low signal strength or quality is usually the culprit.

Is it possible to install this core integration as seperate integration as well with modified curtain.py? Ie. “double integration” for single device? Purpose would be having both speeds available in Home Assistant.

I think this would be possible. However, I am not into the development of integration so I have no idea how exactly this would be done.

Because I wanted a solution for my curtains I modified the original files and built a dirty way to control the speed mode right from my automations. This is not the way how it should be done, but it works for me. If you want to try it, you may have a look here. Be aware that this requires modification of the core integration and should only be used temporarily.

If I can assist to get a clean solution I’m happy to help. But as said earlier I have little to no experience with this.

1 Like

Thanks for the info; have to check!

Hello, how do I change these files, please?
When I accessed the deeps folder through SMB, it was empty.
Will the changes remain after updating HA, or will I have to do them again?

Thank you.

You can use the SSH & Web Terminal addon to modify the files.
And you dont need to modify the files after an update of Home Assistant, only after an update of the integration

Thank you.
I tried that… but the ui through the terminal acts like the deps folder has no subfolders.

You should be able to locate the file with the command find / -name 'curtain.py'

Also, to prevent unrelated discussions in this thread, feel free to open an issue in my github project so we can continue to resolve this problem there.

The slow mode is now merged as I see at pyswitchbot:

6 Likes

Will that be available with the next update of HA core?
Thank you.

1 Like

Hi there! So Christmas brought me 2 switchbot curtain 3 u rails devices. Work well in the app.

I have 2 esp32 esphome devices set with active scan for bluetooth and picked up both devices.

Although I can fully control them via the app it’s not working so well via HA.

I have 3 issues:
1. Status is not correct
2. I can control the curtains via HA, open, close and set to a value but the status is never fed back correctly.
3. not sure but I think 1 out of 2 “entities” opens both curtains (left & right) and the other entity opens left only…

For 2, the “previous” status is kept. Untill I select a new value, then the old one is shown…

Weird…

I saw some posts of BLE taking time to update status, but even waiting an hour does not update it…

Any suggestion?

Also, seeing some progress on the “quiet mode” that’s 3 days ago, will that mean it can be in 2024.1 version of HA…???

EDIT:
So I added another ESP32 bluetooth proxy (active) more closer to the curtains (built in shelly i4 flashed with esphome. Now I can see both curtains “realtime” moving (percentage updates in HA). Deleting the “groups” in switchbot app and grouped in HA as “curtain”.

Now wait for the quiet mode support :slight_smile:

Same here… any tips?

That is the way how it is added when you setup the combined curtain in the switchbot app. I had this at first, too. Went to add a group helper in home assistant instead which contains both curtains (so I am able to control both sites separately but also at once)

The quiet drift mode is not yet in the stable release of home assistant so you are currently not able to use the quiet drift mode ‘natively’ in HA.

2 Likes

pyswitchbot was bumped to 0.43.0 in 2024.01. Can we use quietdrift, or something else needs to happen still?

Edit:
So the pySwitchbot open and other actions now support the speed attribute. And ha/core is using the updated 0.43.0 version of the pySwitchbot library.

I’m guessing this method call has to incorporate the newly added speed parameter? Does anyone know of any other similar use-cases which could be used for implementing opening covers with different speeds? Or can anyone point to a PR that one could use as inspiration for adding e.g. another cover entity for each device for opening/closing using the speed parameter?

2 Likes

I apologise in advance for going a bit offtopic, but I wanted those of you who own the u-rail track version of the switchbot, whether you think it could work on my rails. The problem is that my rails are not U-shaped but oval. I created a cardboard cutout of the mimimum dimensions for the switchbot wheels and as you can see in the picture below, it barely fits, without any room to spare.


Maybe I could use sandpaper to sand down the wheels a bit if needed…

Then there’s the question whether at the bottom of the rail there is enough surface for the switchbot to grip onto.

I do not have Switchbot Curtain 3 but I have similar worries.

My guess would be in your rail the rollers may fit inside. But as they touch on slopes, the switchbot may turn at an angle, the rollers may touch the top and get friction there in the reverse direction. If it sits right, the rollers rest on a very small corner. If you are brave, you may consider filing the rollers at an angle to match the slope and fit better (the rollers can be replaced as there are different sizes, I do not know if they can be bought separate if it fails).

Personally, my rail is too slim (and square) so I was considering the Aqara which uses native rollers from the rail, so that would always fit. It would just be a matter of small grip area for the motor roller. I read sanding the bottom could help with that, or sticking door isolation foam at the side of the rail to add grip, but that would not look very nice i.m.h.o.

Downsides of the Aqara is it seems very bulky. Upside I think it integrates better with Zigbee v.s. bluetooth. I have not seen a position slider on the Switchbot, the Aqara has a position slider so it knows about intermediate posistions and can be set to it. I doubt the Switchbot can, unless you time the stop button?

Edit: Could the notch in the middle above the rollers cause problems? The rollers seem metal with a small bit of rubber at the end, so filing at an angle is probably not going to help out much.

1 Like

Thanks a lot @Edwin_D You make some good points, it does look quite questionable whether it would work in my rails.
I didn’t know the Aqara Curtain driver E1 uses the native rollers. I had a look at their website and it looks like it should work on my curtains. however what for you is a benefit (zigbee) is a turndown for me.
I have in my house an extensive coverage for z-wave, wifi and bluetooth. I’m not looking to add zigbee to the mix (especially as it will be transitioning to thread/matter soon). So that’s quite a bummer.

Also not the biggest fan of Zigbee/Thread because it operates on the same frequency as 2.4ghz wifi so would cause interference, and I have a lot of concrete and metal in my house, which the 868.42Mhz Z-wave frequency can penetrate much better than the 2.4ghz zigbee/thread frequency.

Most my stuff is z-wave too, I share your preference. But I do have Zigbee too, my preference is Z-wave, wifi, zigbee, bluetooth for wireless in that order, bluetooth is in the same band as Zigbee and wifi 2.4. My main reason to call it an upside is that I’m still not sure if the Switchbot communicates its position.
But I get you don’t want to put up another mesh just for this.

1 Like

I’m interested in this too. What’s the last step holding us back now? I’m even fine with a hacky solution like @Breph 's one but like @matata I found I had no such curtain.py to modify.

Does anyone have any ideas as to how to trigger quietdrift from Automations now we have the new version of pySwitchbot in Home Assistant?

@quizzical since the width of the wheels is the mentioned 10.5mm they’ll definitely lay in the rounded part of your rails. I’d guess that this could still work as the pressure from the switchbot should be enough to drive over the rail.
Hard to make any reliable statements, guess you have to try. The switchbot will come with two additional pair of wheels with different wheel size, so there is an increased chance one of them will work.

Currently, the code to utilize the added speed parameters in the switchbot calls in HA is missing (as per Added QuietDrift support for Curtain 3 by den-mko · Pull Request #223 · Danielhiversen/pySwitchbot · GitHub)

3 Likes