SwitchBot Curtain via Bluetooth - no Security and read only?

Hey there,

I have connected a SwitchBot Curtain to HA’s new Bluetooth integration.

First I would like to know if there is really not security at all? I was asked for a password but left the input field empty and was able to add the device anyway. This would mean that anybody with a HA installation nearby could simply add my devices?

Another problem is that I cannot control the curtain. It the entites show the current state correctly but trying to move the curtain using the given controls does not work. The command fails. “Last run success” is always false.

Any suggestions? Thanks in advance!

I have the same problem, I’ve logged an issue on github:

EDIT: just re-added the integration without password for the curtain after removing and restarting and I can now control them. Same error in the log though

Looking at the ESP32 to MQTT code I currently use from devWaves, it looks like it only needs a password for the bots ?

I did not supply a password. So the error is not caused by entering a password.

I have the same issue. I can add my Switchbot devices to HA but I get the following error when I try to control it. Happens with both my curtain and button pusher. I left the password field blank as well.

Logger: switchbot
Source: /usr/local/lib/python3.10/site-packages/switchbot/__init__.py:363 
First occurred: August 3, 2022 at 6:33:13 PM (3 occurrences) 
Last logged: 6:21:22 PM

Switchbot communication failed. Stopping trying
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/bleak_retry_connector/__init__.py", line 85, in establish_connection
    await client.connect(timeout=BLEAK_TIMEOUT)
  File "/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/client.py", line 167, in connect
    assert_reply(reply)
  File "/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/utils.py", line 22, in assert_reply
    raise BleakDBusError(reply.error_name, reply.body)
bleak.exc.BleakDBusError: [org.freedesktop.DBus.Error.UnknownObject] Method "Connect" with signature "" on interface "org.bluez.Device1" doesn't exist


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/switchbot/__init__.py", line 360, in _sendcommand
    return await self._send_command_locked(key, command)
  File "/usr/local/lib/python3.10/site-packages/switchbot/__init__.py", line 383, in _send_command_locked
    client = await establish_connection(
  File "/usr/local/lib/python3.10/site-packages/bleak_retry_connector/__init__.py", line 117, in establish_connection
    _raise_if_needed(name, exc)
  File "/usr/local/lib/python3.10/site-packages/bleak_retry_connector/__init__.py", line 78, in _raise_if_needed
    raise BleakConnectionError(msg) from exc
bleak_retry_connector.BleakConnectionError: F2-4C-28-9D-DE-26 (F2:4C:28:9D:DE:26): Failed to connect: [org.freedesktop.DBus.Error.UnknownObject] Method "Connect" with signature "" on interface "org.bluez.Device1" doesn't exist

Even after updating to 2022.8.1 the problem persists:

That’s a shame, mine area all working now with no warnings in the logs. I never saw an error the same as yours though.

Same error for me. Running on a raspi 4 with Ubuntu and docker. :-/

Same error here. I even reported it on GitHub but my ticket was closed because this was supposed to be fixed with update 2022.8.2. Well, it didn’t fix it for me.

Exactly the same for me

For me there also is no response, but it does see and displays the curtain properties. I’ve also had it found it twice. I added it, and a few hours later it found it again… that one immediately didn’t work and displayed connection issues, while the original one does display all properties, just doesn’t respond. When I readded it without password it actually connected quicker (and yes now this also has me worried anyone can add a curtain bot?). But no change.

My logs don’t show use errors. bascially just one saying the connection is lost.

Switchbot communication failed. Stopping trying
7:53:01 PM – (ERROR) /usr/local/lib/python3.10/site-packages/switchbot/devices/device.py

I also have an actual switchbot, that one cannot be found at all.

What I noticed is that in the switchbot app you can set a bluetooth password for a switchbot, but not for a curtainbot. Perhaps that is what the password is for? So it’s perhaps on Switchbot to make the curtains saver?

1 Like

I had a similar issue and opened a GitHub issue (see above). The Dev replied that they are going to remove the name and password dialog for curtain as they are not required.
I’m one of the lucky ones and mine now work fine. About 30 secs delay from clicking close to any response from the curtain though

I got it working by removing, restarting and waiting for ha to discover them, not manually adding

I removed it and had it rediscovered automatically. Could it also be a range issue? My HA and Curtain are quite far removed from one and other.

Maybe but mine have an RSSI of -90 so not very strong

The Switchbot Curtain devices don’t support a password.
The Switchbot Bots however do.
I think for a bot potentially opening a door the password makes sense, for the curtains I don’t need it.
Passwords need to be setup in the Switchbot app on your phone.

PR submitted for the simplified config flow:

With 2022.8.5 I saw a lot of updates for Switchbot. For me no change in none responsive behavior, etc. Does it work for anyone else now?

Still working for me.
Are they working properly in the switchbot app ?

Have you removed the integration and done a host reboot ?

The updates did not change anything for me but some messages that the command failed. Still not working.
Works with ESP and mobile app but not with HA.

In the Switchbot app everything works. I’ve removed and readded them more times then I can count :slight_smile:

What do you mean with a host reboot?

Settings - System - Hardware - three dots - Reboot Host

Do this after you have removed the integrations. once you’re back up it should discover them again

I had the same issue and tried lots of things, not sure what finally worked though !

1 Like