Beacon - An app for presence detection using BLE beacons

Thanks, I know it’s at Athom’s side and hope they’ll fine tune those things .

Just an idea: is it possible to rename the capability signal_strength to f.i. measure_signalstrength ?
Like the Flower Care flora_

This way the signal gets displayed on the tile.

No hurries! And thanx in advance.

2 Likes

Hello @Peter_Kawa,
Starting from Homey firmware v6.0.0 Athom shortened to 5 seconds the BLE discovery period.
To increase the likelihood that a beacon will be discovered in a shorter period, one solution is to reduce the period with which the beacon repeats its signal.
With Homey v5.0.0 and the default discovery timeout of Beacon app (10 seconds) the best tradeoff (for me) between discover reliability and battery consumption was 1000 milliseconds. Starting with Homey v6.0.0 I reduced the period of all my beacons to 750~850 milliseconds. This period ensures (for me) a reliable presence detection.

Another (indirect) way for improving the BLE presence detection is to filter the false positives with a contact alarm (or a smart lock) on the main entrance door connected to Homey.
The basic flow for using a beacon that updates Homey presence is:

When… The beacon is outside range
Then… Mark a person as away

The filter is a condition flow card to be added to previous basic flow. The idea is that no one can leave the house without going through the main entrance door:

And… The main entrance door contact alarm status has changed within the last n seconds

The value n should be set according the parameters of beacon app:
n = (5 + “The delay between reading sensor values”) * “Verification amount outside range”

1 Like

Thanks! It’s a bit funny how Athom’s “improvements” sometimes makes things worse.

I have 4 flows for 1 beacon (no door (lock) check) to make it work for me.
Including timers, away/home status conditions.
But t.b.h. the timers make no sense anymore, while false positives happen just a few times a day. It’s a wireless protocol, I know, and “misfires” can happen too.

Only with confirmation push messages I can prevent my home from switching home/away when it shouldn’t.

Flows:
Back home

Away

Status setting
@ Home

Away

1 Like

Indeed, homey “improvements” make things worse. I use bt beacons to unlock my front door. It takes more than half a minute before it finally reads the bt beacons. At this time I’ve already put down my groceries, and typed the code in the lock.

I’m thinking of using a RPI zero W for reading RSSI of a beacon. I can put this close to the door somewhere outside. This than sends a webhook to homey to open the front door.

This way the beacon will only be used if it’s within a meter or 2 from the RPI.

But… My skills for python or bash are average to say the least… So I rather hope homey will fix this before I take on this new project :sweat_smile: maybe they’ll add the feature to trigger on RSSI

I guess this may come in handy, Fabian:
BLE2WiFi / mqtt

Buy an ESP32 for a couple of € and run the following code on it (thanks for the hint @robertklep)

1 Like

hmm, interesting post. HOw would i go into this? I have mqtt 2 way working (via home assistant as well). But how would this work? The esp32 is a simple mirco controller, I guess it needs a small casing or something?
YOu triggered my project attitude :wink:

Hi Victor, by following the Github link you’ll find a great how-to with examples.
I think a general electronics housing is a start.

1 Like

Cases are overrated :wink:

1 Like

hi, i just bought some tile 2018, and they are detected fine,
but i have the same problems as others with tags dettected as away, even though they are home, anyone found some stable settings?

another thing, is it normal with a delay of up to 2 min before detection?
that makes it a bit hard to use for deaktivating the alarm :smiley:

1 Like

Where do you buy it? I’m in the Netherlands but… Google isn’t useful

AliExpress.

1 Like

how do you use the output in homey, in MQTT explorer i can se the status as connected = false most of the time, is that because they also exists in homey, and are connected their?

I don’t, it’s running ESPHome which I use together with Home Assistant.

aahh, okay, i installed the ble2mqtt linked in this thread…
i’ll have a look at ESPHome then :slight_smile:
i need a working way of tracking when my youngest daugther comes home from school, to disable the alarm :smiley:

Hey guys,

I just upgraded from 4.x to latest. I’m getting some weird updates from my Tiles.

What are the most common settings these days?

And second question.

Do you update the Presence of a user based on a Beacon?

I’m getting some “timing” issues in which the phone and the tile leave the building at the same time. Does the smart phone app over rule the presence of a user?

You have to make your own flow for changing the location of a user. You can find all the answers in this topic.

Yeah I understand. But I wonder the following.

If a mobile phone leaves, can I block Homey setting the user to away if the BLE is still here?

Not if your using homeys build in geofence i suppose. Then you have to use macodroid oid

You can’t prohibit Homey to mark that user as “Away”. That’s a bit of a bummer.
But that is kind of solvable:
It depends what you tell Homey what to do when Homey detects a user/phone as “Away”.

This flow doesn’t run if a beacon’s status is marked “within reach”.

You’ll have to use a similar flow for the beacon.
IF
Beacon is out of reach
AND (homey presence) PersonX is away
THEN
Do the “PersonX left the house” routines

2 Likes