I’m using a ESP32 bluetooth proxy to trigger my SwitchBot.
Is there a way to keep the bluetooth proxy connected to the switch bot, so that commands are issued faster?
When it hasn’t performed an action recently, the delay between issuing a command and having the SwitchBot react is quite long (2-5 seconds). If it performs a single action, a subsequent action within the next couple of seconds is almost instantanoues.
How close is your ESP32 to the SwitchBot? And do you have active set to true for the BT Proxy YAML on the ESP?
I have a SwitchBot Lock and had similar issues until I put a dedicated proxy VERY near it and set active to true (I hadn’t ever used BT Proxy for an active connection before and thus had never defined that in the YAML before.). I’ve since moved the ESP further away, but it’s still pretty close. I started off with it literally a couple feet away and direct line of sight.
Now it’s essentially instantaneous all the time, with MAYBE a fraction of a second difference between the first command and subsequent ones shortly thereafter.
Thank you for your replies. @Lakini, I’ll give that firmware a shot once I have the time!
Yes I have “active” set to true for the bluetooth proxy. I pasted my config below. My ESP32 is really not far from the device, less than 1 meter and there is a box & wooden mirror cabinet between them, but I can’t imagine that this should impact the performance.
I have noticed the signal strength of the BT connection between my ESP and the lock change DRAMATICALLY just with the door open vs closed with my ESP located nearby but without a line of sight. I didn’t notice this when it was setting right next to it and had line of sight. Not sure if the BT antenna is somewhat directional or if it’s just a product of my door being metal and it disturbing how the signal propagates open vs closed.
Happens to my SwitchBot Bot and also for the SwitchBot Lock.
I placed the ESP32 very near to the device. Signal was improved but outages are basically identical.
Does anyone have an idea?
My options are to switch to MQQT ESP32 Bridge which was very stable for the Bot but does not work (yet) with the Lock. Other options would be to buy the SwitchBot Hub.
HA Integration would be perfect but it’s just too unstable. Connection from my Raspberry Pi 4 directly is also way worse than the Proxy device.
I’ll set Platform to esp-idf and remove interval: 1100ms and window: 1100ms because that’s not recommended for WiFi Devices. I hope this helps. I will report In the next days.
I’ll be curious to see the results and bet that it’ll fix your issues. Have had my lock for many months and other than the very occasional hiccup, it’s worked quite flawlessly using a BT Proxy.
I guess it was because the interval: 1100ms and windows: 1100ms setting which killed WiFi every 1 or 2 hours. But could also be the esp-idf instead of Arduino setting.
Now I am totally happy and don’t have to buy that Hub
Cool thanks. Is there one you can recommend? Preferably one that has a case on it? I just need to open and close curtains via Bluetooth. Nothing crazy lol Just don’t know what’s compatible and what’s not. I’m just getting started
Any ESP32 should do. I make my own cases and PCBs, so I can’t recommend a nicely packaged one but I know there are lots out there. I’m sure other folks have favorites.
I have an ESP32 board configured in HA with the ESPHome add-on, but my switchbot blinds aren’t showing up as newly discovered devices -any idea what I may be doing wrong?
So is it setup as a BT Proxy? Sharing your YAML would help. Also might be worth opening a new topic as your question is only loosely related to the original.
Hello all, I posted a question previously but decided to delete it because all my answers were answered by going through the entire chat above really should’ve taken the time to go through it all in detail haha!!
Anyways, just wanted to share a bit of my experience here. While it’s indirectly related to the main topic here, I just want to bring up a small, possibly forgotten or overlooked, feature for those who have sensors from Apollo Automation, such as the MSR-1 or 2, MTR-1, AIR-1, etc.
I completely forgot that their devices are built using ESP32 (the good stuff too!) and as such can also function as Bluetooth Proxies. You just have to flash your device to enable the capability. Enabling Bluetooth proxy feature on your device does not alter any of the original capabilities of your device, so it’s a great addon! I have two of their MSR-2 devices around the house and now they act as proxies to communicate with my Switchbot BT devices. Seems to react much faster than with the small BT dongle they were connected to previously.
The one thing I want to note though is that from what I can see, most of Apollo Automation devices use the ESP32-C3-Mini, which is has a single core CPU. I’ve read in other forums that some people recommend using ESP32-C6 as a BT proxy due to it having dual core, which allows it to process instructions multiple instructions and data stream faster. If you have multiple BT devices that constantly sends and receive data, you may need the stronger ESP32. Also not sure what happens to the Apollo automation’s primary features if it gets overburdened by a flood of BT data so be mindful of it.
I haven’t seen any problem yet with using my MSR-1, but I also only primarily use it to send automated instructions to open and close my curtains twice a day. One pair of the curtain bots occasionally reacts just a tad bit slower, and sometimes they all react simultaneously. It’s definitely much better than previous experience where the second pair of bots will react almost 5-10 seconds later.