I just came up with an idea, but I haven’t find anything useful and “universal” on the internet.
I have some BLE devices (which are not crucial to have them connected but it would be great - and also I don’t like these Bluetooth based devices, because they are usually hard to use if you want to use it with its original methods/apps - opening app, connecting to it, usually it won’t connect first, etc… You might also seen that).
For example I have a Mi Smart Kettle which can be controlled with an MQTT based solution, you just only need a Raspberry to have it working.
However the Kettle is in the Kitchen and I have Raspberries in the Living Room (only around 10m away without walls) and the connection is rather bad. It works in general, but if you bring more BLE devices into proximity (like phones) or you are block the direct sight to the Raspberry (just by walking in between) the connection is lost and it happens every 5 min or so.
I just want to collect some ideas how you use BLE devices if you have any.
What came to my mind:
The easiest is to buy more RPi and place it near these devices. However generally these devices are the same price or much cheaper than a RPi, so compared to the devices, this is not a great solution… Also considering the power usage of these (I already have around 4 RPi in my home… )
Buy some better BLE dongle? This would be the easiest/cheapest solution. However I’m afraid that this BLE can’t be much better than this 10m range indoors. Correct me if I’m wrong and more importantly add your own experiences with external BLE dongles.
Use Arduino as a BLE to Wi-Fi bridge. It is much more cheaper and also simpler compared to a RPi. However I was not able to find anything similar to this.
The arduino way is possible with an ESP32 capable of BLE GATT and wifi/MQTT, the challange will be to have it specific ‘configured’ for your needs, as universal maybe is asked too much… 1 of many examples online
Theoretically yes, but it does not work that great.
This works great, you can connect to the Mi Kettle easily and everything is published through MQTT. I have created a Generic MQTT and set every possible value there.
However the Bluetooth in the Kettle (and also the Raspberry I’m using) is really bad, you would need to place an RPi or any other Bluetooth next to the Kettle to work every time. The biggest problem is not that sometimes it disconnects, because usually it reconnects after a few secs, but the Kettle makes a beeping sound when connecting, which is really annoying and you can’t turn it off.
Also you can’t turn ON/OFF the Kettle remotely.
How did you managed to get it in connected mode? I usualy switch on my ESP32 with OMG firmware and it scans and publish all available BLE devices and their data, then in OH2 I get this data to where needed using MQTT binding