This app integrate the basic flows for BLE beacons into Homey. Once the app is installed it will do a discovery of BLE devices, after a short adjustable timeout it wil keep discovering. After each discovery the app compares the found devices with the one paired. If the beacon is not found within the new “discovered list” the beacon is changed in state.
For filtering out false positives there is a verification amount inside or outside the range available in the settings. This setting is the amount of times the beacon needs to be changed before it wil marked as such. The amount will be reset if the beacon is not in that current state.
Q1 Why is the beacon marked ‘outside range’ when i use the beacon with my phone?
If a BLE beacon is connected to a device (phone) it cannot be discovered anymore and the app set the device as away. You can prevent this by removing the app from your phone.
Q2 Why is the beacon marked ‘outside range’ after a couple of minutes?
Your beacon is powering down for saving energy. Sometimes this is configurable by the manufacturer his software.
- Generic BLE beacon (every BLE device that is public discoverable)
Here is a list of used devices
- Tile Pro (8m)
- Tile Mate (8m)
- Nordic nRF51822 (5m)
- Install app
- Make the device discoverable.
- Add device(s) to Homey.
- Make a flow with one of the cards.
There are some settings to improve and tweak the apps behaviour.
NOTE: Changing this settings can result into an unstable situation.
The delay between reading sensor values in seconds. (default 10 seconds)
The amount of seconds that is given to discover the beacons. (5 seconds)
The amount of verifications the app need to mark a beacon inside the range. (1 time)
The amount of verifications the app need to mark a beacon outside the range. (5 times)
An overview of all the trigger cards that can be used
(Global) A beacon detected state is changed (beacon name, detected)
(Global) A beacon is inside range (beacon name)
(Global) A beacon is outside range (beacon name)
(Global) A beacon has been discovered (beacon name, uuid)
(Global) The app generates a log (log)
(Device) The beacon detected state is changed (beacon name, detected)
(Device) The beacon is inside range (beacon name)
(Device) The beacon is outside range (beacon name)
v1.0.0 - 04.10.18
- first alpha to app store.
v1.0.1 - 05.10.18
- add support for NRF51822
- add app icon
- refactoring the drivers
v1.0.2 - 07.10.18
- add trigger card for discovered devices
- add icon for discovery
v1.0.3 - 07.10.18
- add generic device
v1.0.4 - 20.10.18
- add verify process for detect/undetect events
v1.0.5 - 07.10.24
- improve discovery of the devices
- change card description
v1.0.6 - 07.10.24
- improve by connection and find the advertisement
v1.0.7 - 07.10.24
- bump version
v1.0.8 - 07.10.25
- improve sequence update beacons
- get peripheral for accurate range
- change timeout to 1 second
- improve logging to the app
- add retry strategy
v1.0.9 - 07.10.25
- bump version
v1.0.10 - 07.10.27
- introducing timeout and verification settings
- revert back to discovery strategy to improve speed
- add translations
- improve logging
v1.0.11 - 07.10.27
- mismatch variable name bug
- also check on bigger that the amount if app restarts
v1.0.12 - 07.10.30
- add default values in settings
- change comparator typo
v1.0.13 - 07.11.01
- fixed change detect comparison mismatch
- add log handler to watch false positives
- fixed zero verification times
v1.0.14 - 11.11.01
- add homeyCommunityTopicId
- add version number app for logging
- add triggercards detect state changed
The repository is available at: https://github.com/koktaildotcom/com.koktail.beacon