Hello all I would like to reach out to Athom to really look into the basic quality of the the BLE implementation. I have tried several times to be proactive with support but either I’m told to contact the app developer (myself which I stated as at first…) or to the community.
As happy as I have been with my homeys the more frustrated I am with the ble support on the platform.
I developed an app for pool water quality monitoring during winter. From a ble perspective it is as simple as it goes, discover the device, read a 64 bytes of data and disconnect.
I only use tge example code from Athom here.
I ran it it continuously from January to March reading data every hour with only a few errors on the platform. Now when the pool season really started and I guess the implementation for homey mini was done it has been more or less totally broken. Most of the time even in Homey developer tools I won’t even discover the device even if it us on top of the homey… When I do most of the time trying to connect to itvwill fail with timeout or various error codes. Occasionally it works but highly unstable.
Is there any way to get in touch with someone at Athom that have an interest in making ble working to at least 5% of the time?
Currently the ble implementation in Homey 2023 is of exceptionally bad quality.
My pool has crashed 2 times this season when I’ve been away and it stops working with a new release. I have several users of my little app experiencing the same. It should not be that hard to have some basic quality in the platform for the simplest possible use case. It can even fail 50% of the time and it would be ok, but not 99+%.
Even just device discovery is incredibly flaky now. Being able to connect is something else..
With v12.5.0-rc.4 it started working again for me but now it’s totally broken again. Discovery is totally broken on v12.5.0 again.
I’d be more than willing to help to debug if there was an interest from Athom.
Anyone in the community who has any ideas what to do?
1 Like
BLE issues have plagued Homey Pro basically since it was first introduced on the market. Given the persistence of these issues, it seems like they simply cannot be fixed sufficiently.
I added BLE for my app. And i I also had some issues.
-
The auto discovery was working right if you justvtry to find a known advertisement ID. FW 12.5 fixes this. So you can call the BLE.find(..) method and Homey is doing a discovery of the device is not cached yet.
-
Based on the docs I assumed that it’s save to call advertisement.connect( ) if you stored the advertisement after first find. But that’s a wrong assumption.
Yoi have to call find( ) every time and the.connect( )
Example:
homey.tesla/lib/TeslaBleApi.js at ada40d689c2b98255854808d86fd0fd428a1f308 · RonnyWinkler/homey.tesla · GitHub
The fallback/workround in line 91 is not needed with FW >= 12.5
But still I don’t get a connect every time..but less frequent.
I know that it was never perfect, but until v12.4.2-rc.6 it was working most of the time. I would see occasional connection failures in my long term tests, but nothing that made it unusable for my simple application which is to just read pool water chemistry data a few times a day.
Sine v12.4.2-rc.6 it has been highly unstable, some versions it is working only to break again in the next release. Right now it has not even been able to do a successful find/discovery in 3 days although the app tries every minute (currently on 12.5.0). It was working briefly on 12.5.0-rc.4, but never as “well” as before the satellite mode support was added in v12.4.2-rc.6.
I did see some instability even before but it was something that such a simple app as mine could tolerate, but now it is unusable as it basically almost never is discovered and when it is connection setup fails very often.
Thanks for the suggestion Ronny,
I do BLE find every minute and depending on the user settings I try to connect and then read the the latest pool water readings in my case. Right now find basically never returns with a success (on 12.5.0). It was working briefly on 12.5.0-rc.4, but never as “well” as before the satellite mode support was added (v12.4.2-rc.6).
Since 12.5.0 I don’t think it ever discovered my. I have not gone in debug mode so I cannot say for sure, but I have been messing a bit with BLE in Homey developer tools and I never saw it there. Then it is another thing that connect is very unstable as well, prior to v12.4.2-rc.6 it was working maybe 98 times out of 100 or better, Lately if the app is able to discover the device it may succeed maybe 20% of the time, which is acceptable if you monitor pool water chemistry as it does not change that quickly. But you need a reading at least every day or at the very least every 2nd day. Not weeks in between as if you base any automation on this your pool will crash. You typically want this type of device to monitor and control pool water chemistry while not being at home otherwise I can connect using the native BLE app in my case or use test strips.
Anyway I’m getting a bit frustrated as it was working so well off season (prior to (v12.4.2-rc.6) and now when in season it is rarely working or not all most of the time.