1
Solved

Tasker mis-handling of beacons

Tasker handling of beacons (iBeacon, Eddystone, etc. etc.) is not possible because operation of BT Near with beacons is not reliable. Active Profiles keep going inactive again several times a minute even though neither the phone nor the beacon have moved at all. Although this false reporting of "BT Beacon Gone" can be reduced somewhat by careful tuning of the monitoring parameters, it cannot be reduced to a tolerable level.


The problem acts as though for faster response _both_ Tasker and Android are trying to detect the "BT Beacon Gone" condition at the same time. This should not be happening. As with other BT devices, Tasker by ltself detects Gone in a way that's both easily tunable and fully reliable. Theoretically adding the Android detection of Gone into the mix too will improve responsiveness, but in practice it reduces reliability so much that Beacon tasks become simply impossible.


I suspect if you search in the Tasker sources for CALLBACK_TYPE_MATCH_LOST, you will find the problem. That ScanSettings should not be used, for many reasons: it operates differently on different versions of Android, trying to detect BT Beacon Gone in the face of the highly variable "advertising" frequency of beacons is inherently very difficult, trying to mix Android reasoning and Tasker reasoning about BT Beacon Gone is unavoidably illogical, the operation is notorious for not working reliably, operation is not affected by any Tasker tuning parameters, in fact operation is not user-tunable at all even through Android, and the operation is extremely hard to debug because there are no entries in the Tasker run-log.

2 replies

Thanks for the report. Can you please use the Report Issue To Developer option and send me a report showing that happnening? Thanks in advance

C

Oops. I had this problem several months ago, but when I tried to replicate it for debugging, I couldn't. (I see _different_ problems now: 1] rather than turning off too often, Tasker profiles now won't turn off _at_all. And 2] the Android view of what's available (from "settings") is somewhat different from the Tasker view in most cases.

I've now seen enough different symptoms on enough different versions of Android (and different phones) to take to heart Tasker's warning BLE should be considered "experimental". As Tasker's Net->BluetoothInfo[Scan] seems to always have the correct info, it seems to me possible that Tasker could make BLE work anyway by doing _everything_ itself  ...  but so long as it's partially dependent on Android we're forced to stay in the "experimental" realm. 

Thanks for your attention. And thanks for listening to my rant. I still have trouble accepting that a feature that appeared in Android _several_years_ago still has such flaky Android support that the net result is Tasker users can't use it:-(

Topic is closed for comments