[APP][Cloud & Pro] SwitchBot (Release 1.1.43, Test 1.1.48)

I could add an on/off capability and set the state based on the mid point. So if the curtains position is greater than 50% then turn on, etc. Then when the tile is pressed, send the appropriate 0/100% command to go to the opposite state.

That would be just amazing! For my use case I really don’t need to get lrecise adjustment of position, just open/close :slight_smile:

Trying to add a switchbot to one or the other Homey and both see the switchbot is i am correct but refuse to add it.

Is there something unexpected for you in the scan below?

    {
"_events": {},
"_eventsCount": 2,
"__peripheral": null,
"__client": {},
"id": "cd4f0ff28d12",
"uuid": "cd4f0ff28d12",
"address": "cd:4f:0f:f2:8d:12",
"addressType": "random",
"connectable": true,
"localName": "WoHand",
"manufacturerData": {
  "type": "Buffer",
  "data": [
    89,
    0,
    205,
    79,
    15,
    242,
    141,
    18
  ]
},
"serviceData": [],
"serviceUuids": [
  "fee7",
  "cba20d00224d11e69fb80002a5d5c51b"
],
"rssi": -74

}

BTW I did everything I could think of, disable all other BLE apps, restart, Wait, PtP and even waited days and versions of the App. Even Showed Homey the SwitchBot and vice versa :wink:
It works from the Androd App so Battery is OK. Closed BT on my Phone.

The “serviceData” is empty so possible to far away from Homey. The rssi of -74 is a bit low which would also support that theory. It seems Homey very fussy about getting that for some reason.
Unfortunately, once Homey caches the entry it is very difficult to make it refresh it. This is a bug in the BLE stack that has been reported to Athom.
Once the device is added I have the information required to force it to be removed from the cache before doing a new discovery to get the data again.
The only sure way to clear the cache is to reboot Homey.

I have just noticed that your device is returning a “localName”. None of mine do that so without the serviceData there is no way to identify the device as a SwitchBot entity.

I will try adding a check so if the “localName” === “WoHand” and the “serviceData” is empty then use the “id” to clear the cache ready for the next attempt (I can just retry the scan as the pairing session will just timeout).

1 Like

There is a new test version in the store that tries to clear the cache of incomplete SwitchBot devices.
You will need to go through the add device routine twice as it cleans up on the first discovery so it should get picked on the second one.

Still no luck, will try again later this week.

When adding the device you might need to bring Homey and the device quite close together. The only way I could add my spare bedroom SwitchBot was to have it in the same room as Homey. After that it did work in the bedroom but takes several retries (built-in to the app) to control it and status updates are slow.
I now use two of my hubs, one in each room that has Switchbot devices.

this is almost exactly what i do to determine if a curtain is open or closed, if tag >90 then status is closed when tag < 10 then status is open :slight_smile:
The result i save (on change tag value) as a logical value and i use that in my flows to deermine of a curtain is open or closed. When i open of close the curtains with a flow i check the status from every curtain after 2minutes if they are indeed open or closed, if not i re run the flow again to get them in the position i wanted…

1 Like

Hi!

I discovered that if I close the blinds from the Switchbot app it closes in Performance mode which is way quicker than using Homey. If I close the blinds from the Switchbot app it takes 12 secs however with Homey it is 34 secs. How can I set the Performance mode in Homey?

Another interesting thing is that within the Homey app the open/closed indicator seems the other way around. So when in the Switchbot app it says closed then in the Homey app it says fully open however it should be closed similar to other blinds. :slight_smile: The same is visible in HomeKit however it should indicate closed similar to the Switchbot app.

If you open the Advanced Settings (from the gear in the top right corner) then you can change the direction and select the performance mode.

1 Like

Oh, thats great! Anyway the app is awesome and support too, so some Donate :heart: is coming soon! Thank you for your hard work to do this!

Thank you, much appreciated.

1 Like

I bought the switchbot bot and got it today. So far it works however it sometimes takes some time to respond. This doesn’t really matter since I use it to turn on my coffee machine remotely (preheat) so the delay doesn’t matter.

Hopefully it will respond to the calls every time. Otherwise I will have a look at the arduino option you mentioned.

It can be slow, especially if it is close to the limit of range.
The app retries the command several times if it fails so hopefully it should work if it is able to reach at some point.
Just out of interest, what is the RSSI value? If it is less than -60 then it is getting close to the limit. The best I have seen with the bot right next to Homey is -40. With the Arduino board it can get down to about -35.

1 Like

Slow is fine as long as it works! I get between 81-87 RSSI at its current position. Let’s see how it goes over the next few days.

Thanks for all your effort!

Today 1 of my motors stopped opening/closing when controlled by Homey.
It still does report position, battery and rsi, only the movement control is not responding and errors with a network timeout popup.

When i use the switchbot app then i can control the motor as normal, so the motor itself is not the problem. When i close/open the curtain using the switchbot app the position is also correctly reported in Homey, they only thing what not is working is the opening and closing using Homey.

Is there a way to get it working again in homey?
(in github i placed a log)

I am running version 0.2.9 and a app restart in Homey had no effect.

1 Like

I have a same problem, also restarted the app. In the official app working fine but not in Homey. I have a HUB, and the Polling Interval is 600s (I don’t know what is the perfect number)

my interval is at 1000 but that is not the problem, my other motors work fine, it is just 1 motor whats is having this problem (i use 6 motors in total).
When i use the HUB connection from homey to sysbot then it also worked, only the BLE connection not.

I rebooted Homey and now it is working again, but it seems that there is something going wrong, a reboot should not be the solution.

If restarting the app didn’t fix it but rebooting Homey did then it’s probably not the app, but something with the BLE on Homey. I think Athom are working on the BLE to fix some issues, as I have mentioned before.
Please let me know if it happens again so I can keep track of any issues.

1 Like