There’s a Long FAQ written two years ago about using iBeacons for presence, but some of the information is getting out of date and there’s a lot of conversation about specific projects, and I think it’s getting confusing. So I’m just putting this here to be a quick FAQ for those interested.
1. what I beacons are
An I beacon is a small Bluetooth device, usually battery powered, which does only one thing: broadcast its own ID so that nearby devices can hear it. That’s it.
There are a number of different brands available. As of the beginning of 2024, blue charm is pretty easy to find (you can buy it on Amazon) and reasonably priced at about $19 each. But you can use any kind which broadcasts the Apple Ibeacon standard. Don’t get one which only broadcasts the Eddystone standard: Google dropped support for that a couple of years ago and you won’t be able to use them for much.
Blue charm does sell some of its models on Amazon UK:
(If you get a different brand, make sure it has its own app (or SDK, if you prefer to work from a laptop) for managing the iBeacon configuration. Some very inexpensive Chinese models are basically just hardware: they expect you to write your own programs to do anything with the device.)
2. Why use an IBeacon?
The most common reason is that you can create a much smaller detection zone than most other presence devices. Most iBeacons can be detected at three distances: immediate (just a few centimeters), near (about 3 meters), and far (about 40 m, although it varies by model)
I myself use them because I want the detection zone to be just the length of the wheelchair ramp in front of my house. I don’t want my door unlocking while I’m still on the bus half a block away.
Some people use them for a very small detection zone so, for example, they can tell if their keys are on the table in the entryway.
IBeacons are also useful for people who don’t have smart phones, like if you want to put one on a keychain for guests or on a child’s backpack, or on a dog’s leash for use by the dog walker.
3. TWO MAIN WAYS TO USE THEM
There are two main ways to use them.
A) the IBeacon stays put, and your iPhone comes and goes. You want to trigger events when your iphone gets close to the ibeacon. This is the most common kind of use case and the easiest to set up. You will put the “receiving station“ app on your phone (more about that later), and then just trigger events when your phone comes within reach of the IBeacon.
If you don’t want to worry about changing batteries, this is a good use case for one of the USB powered IBeacons.
B) the IBeacon comes and goes, and you want to trigger events when it gets within range of a second device which stays at home and is plugged in. We’ll call this second device the receiving station device.
Typically the receiving station device is an old iPhone or iPad, but you can also build your own using a raspberry pi with a Bluetooth dongle or add it to home assistant running on a raspberry pi. The raspberry pi options are much more technically complicated to set up, so much so that I’m not going to go into the details in this short FAQ, but if you don’t already have an old iOS device to use, the raspberry pi option will be much less expensive than buying an additional iOS device.
4. receiving station apps
If your use case falls into group A, the IBeacon stays put and your phone comes and goes, you’ll just put the receiving station app on your phone. I recommend Geofency.
If your use case falls into Group B, the receiving station stays put, and the IBeacon comes and goes, your phone is irrelevant to the process. Instead, put Geofency on the receiving station device.
Geofency will recognize when the I Beacon and receiving station device are close to each other and can then send a Webhook.
5. WHERE SHOULD YOU SEND THE WEBHOOK?
you need to send the webhook to something that can then communicate with smartthings. As of December 2023, there are three popular options for this:
5a) SharpTools (pro tier). This offers the best smartthings integration. Easy to set up and use.
5b) IFTTT. You can see the discussion of this in the Long ibeacon FAQ. Some people seem to find it confusing to use. And my personal concern is I don’t know how much longer Ifttt will be in business as they seem to be losing their corporate customers. But it’s definitely an option.
5c) Tasker. If you’re using android, then Tasker is another option. See discussions else were in the forum about integrating Tasker with smartthings. It’s doable, but not particularly easy.
6) what should you do when the web hook is received?
That’s up to you. Many people turn on a virtual presence sensor or just a Virtual switch and then use that to trigger other events in smartthings. Some people keep it simpler and just use one ibeacon to trigger one SmartThings routine. So this part is really up to you.
SUMMARY: THE PROCESS
Smartthings does not offer a direct integration for IBeacons. So if you do want to use one with smartthings, you will need two additional apps: a receiving station app to recognize when the IBeacon goes in and out of range (I recommend Geofency for this). And then another app/service to receive the webhook from the receiving station app and then tell smartthings to do something. SharpTools, IFTTT, and Tasker are all possible candidates for this.
7. Another alternative: make your own IBeacon and receiving station
If you have strong maker skills you can build your own devices. I don’t want to go into those details here, but here’s an example. I’m not recommending this because I don’t think it’s practical for most people, but if you do enjoy this type of DIY project, this should be enough to get you started.
8. Another alternative: use ibeacons with Home Assistant
I don’t recommend starting with home assistant if you aren’t already using it: it requires a lot of time and technical skill. But if you are already using it, then it’s pretty easy to add IBeacons to it. In most cases the device you use as your home assistant server will also be your receiving station. Or you can set up a proxy device. Again, I don’t want to go into the details on this in this short FAQ, I just want to note that this option exists.
So that’s it. I’d like to keep this “how to” short and uncomplicated. Please feel free to post if you have additional devices or receiving station apps, or Webhook processing apps to recommend. But if you just have questions about how to set this up for yourself, then please start a new thread under projects so we can help you there and keep this thread from getting confusing for others.