Everything you need to know about iBeacons — what they are, how to set them up in GeoHook, and how to get the most out of them for area detection or vehicle recognition.
What Is an iBeacon?
An iBeacon is a small Bluetooth Low Energy (BLE) transmitter that broadcasts a specific identifier at regular intervals. It follows a protocol defined by Apple that allows iOS devices to detect the beacon and determine how close they are to it.
Every iBeacon broadcasts three pieces of information:
UUID — a 128-bit identifier, usually shared by all beacons from the same vendor or deployment (e.g. E2C56DB5-DFFB-48D2-B060-D0F5A71096E0)
Major — a number from 0 to 65535, typically used to group beacons (e.g. a building or floor)
Minor — a number from 0 to 65535, typically used to identify a specific beacon within a group
The combination of UUID + Major + Minor uniquely identifies a beacon. iOS can detect iBeacons in the background without opening the app, which makes them ideal for automation.
What Is NOT an iBeacon?
Not every Bluetooth device is an iBeacon. Many products use Bluetooth Low Energy (BLE) but do not follow the iBeacon protocol:
Apple AirTags — use the Find My network and Ultra Wideband (UWB), not the iBeacon protocol. They cannot be used as iBeacons.
Find My-compatible trackers (Chipolo, Tile with Find My) — same as AirTags. They are designed for item tracking, not for broadcasting a fixed iBeacon identity.
Generic BLE devices (Bluetooth headphones, speakers, fitness trackers) — these use BLE for data transfer or audio, not for broadcasting an iBeacon signal.
Eddystone beacons — a different beacon protocol by Google. While the hardware is often the same, iOS does not support Eddystone for background detection the way it supports iBeacon.
Important: If a product does not explicitly mention iBeacon compatibility, it almost certainly won’t work with GeoHook. Look for “iBeacon” or “Apple iBeacon protocol” in the product description before buying.
Why Does It Have to Be iBeacon?
GeoHook relies on Apple’s Core Location framework, which can monitor for iBeacon regions in the background. This is a special privilege granted by iOS — the system wakes up the app when a matching beacon is detected, even if the app was closed.
Other Bluetooth protocols (like Eddystone or generic BLE advertising) require the app to actively scan in the foreground, which drains battery and stops working as soon as the app is suspended. Only the iBeacon protocol gets this reliable background detection on iOS.
Two Ways to Use iBeacons
GeoHook supports iBeacons for two fundamentally different purposes:
Stationary Area Detection
Place a beacon at a fixed location (office, gym, garage) and use it as an area detector — just like a geofence, but more precise and works indoors.
Vehicle Detection (Nearby)
Place a beacon inside your car and use it to detect whether you’re in the vehicle — enabling conditions like “only trigger when driving.”
Stationary Area Detection
A stationary iBeacon is placed at a fixed location — mounted on a wall, on a shelf, or hidden behind furniture. GeoHook treats it as an area detector, similar to a GPS geofence but with key advantages:
Works indoors where GPS is unreliable (basements, parking garages, concrete buildings)
Much more precise than GPS, especially in dense urban areas
No Internet required for detection (Bluetooth is local)
In GeoHook, you assign a stationary beacon to a location. When your iPhone detects the beacon, it counts as “arrived” at that location, just as if you had entered a geofence. You can also combine a GPS area with an iBeacon on the same location for maximum reliability.
Vehicle Detection (“Nearby”)
A vehicle beacon lives inside your car. GeoHook uses it to determine whether you are currently in the vehicle. This enables powerful conditions on your webhooks:
“Nearby” — only fire the webhook when you’re in the car (e.g. open the garage door)
“Not Nearby” — only fire when you’re not in the car (e.g. arm the alarm system when you leave on foot)
This is especially useful for non-Tesla vehicles. For Tesla vehicles, GeoHook can also use the Tesla Phone Key signal for detection, but an iBeacon is a reliable alternative — especially a USB-powered one that only broadcasts when the car is running.
Why USB Beacons for Vehicles?
For vehicle detection, we strongly recommend USB-powered iBeacons over battery-powered ones. Here’s why:
Only active when the car is on. A USB beacon plugged into the car’s USB port or a 12V adapter only broadcasts when the vehicle has power. This means GeoHook won’t falsely detect your car as “nearby” when you’re walking past it in the garage.
No batteries to replace. Battery-powered beacons typically last 1–3 years, but forgetting to replace the battery means your automations silently stop working.
Cleaner signal. A USB beacon in the car’s cabin has a consistent signal path to your iPhone in your pocket, without the variability of a battery’s declining power output.
Tip: Most cars keep USB ports powered only when the ignition is on (or in accessory mode). Check your vehicle’s manual — some cars keep USB ports powered 24/7, which would defeat the purpose. In that case, use the 12V cigarette lighter socket with a USB adapter, as these almost always cut power when the car is off.
Battery-powered beacons are perfectly fine for stationary use at fixed locations, since they should broadcast continuously.
Setting Up iBeacons in GeoHook
GeoHook provides a guided setup wizard that walks you through the process. Here’s how to get started.
Adding a Vehicle Beacon
Open GeoHook and go to Settings (gear icon)
Under the Devices section, tap “Vehicles with iBeacon”
Tap the + button (or “Add Vehicle with iBeacon”)
The setup wizard starts — choose “Other Vehicle” (Anderes Fahrzeug)
GeoHook will scan for nearby iBeacons. If your beacon is powered on and uses a recognized manufacturer UUID, it appears automatically
Select it, give the vehicle a name, and save
Adding a Stationary Beacon
Open GeoHook and go to Settings (gear icon)
Under the Devices section, tap “Stationary iBeacons”
Tap the + button
GeoHook scans for nearby iBeacons — select yours from the list, or add it manually
After saving, you’ll be asked which location to assign the beacon to
You can also add an iBeacon directly from a location’s detail page: tap “Add area detector” and choose “iBeacon”.
Subscription required: iBeacon features require an active Tesla & iBeacon subscription in GeoHook.
Automatically Recognized Manufacturers
GeoHook ships with a built-in database of known iBeacon UUIDs from popular manufacturers. When scanning, beacons from these vendors are detected and labeled automatically:
Vendor
Product Line
Estimote
Beacon Default, Virtual Beacon (iOS & Mac)
Kontakt.io
Beacon Default
Radius Network
Default, Alternative
BlueUp
Default
BeaconGo
Portable, USB
Beacon Inside
Default
Sensorberg
SB-0 through SB-7
KST
Particle
TwoCanoes
Default
Avvel International
Default
Glimworm
Beacons
Apple
AirLocate (development reference)
If your beacon is from one of these vendors, it should appear in the scan results within a few seconds.
What If My Beacon Isn’t Recognized?
Many iBeacon-compatible devices use a custom UUID that isn’t in GeoHook’s built-in database. This is completely normal — you just need to enter the beacon’s identity manually.
Finding Your Beacon’s UUID, Major, and Minor
There are several ways to find these values:
Manufacturer’s app. Most beacon vendors provide a companion app (e.g. Estimote Cloud, Kontakt.io Admin, BeaconGo Setup) that shows and lets you configure the UUID, Major, and Minor values.
Printed on the beacon or packaging. Some beacons, especially USB models, print the UUID directly on the device, on a sticker, or in the included documentation.
Product manual or data sheet. Check the manufacturer’s website or the documentation that came with the beacon.
GeoHook’s BLE Discovery. If none of the above work, GeoHook has a raw BLE scanner that can detect any iBeacon-compatible device nearby and show its UUID, Major, and Minor — even if the UUID isn’t in the known database. Look for the “BLE Discovery” option when adding a beacon.
Entering the Values Manually
When adding a beacon, choose manual entry instead of selecting from the scan results
Enter the UUID (a 32-character hex string with dashes, like 550E8400-E29B-41D4-A716-446655440000)
Enter the Major value (0–65535)
Enter the Minor value (0–65535)
Give the beacon a name and save
Tip: You can also pick from a list of known manufacturer UUIDs during manual entry. This saves you from typing the full UUID if your vendor is in the list but the beacon wasn’t detected during scanning (e.g. because it was out of range at that moment).
After saving, use the Test button on the beacon’s detail page to verify that GeoHook can detect it. The test shows the signal strength (RSSI), proximity level, and estimated distance.
Tuning Signal Strength for Stationary Beacons
Stationary beacons are often used to detect presence in a specific room or area rather than an entire building. The key to getting this right is understanding how signal strength affects the detection radius.
How It Works
Every iBeacon has a configurable transmit power (TX Power) that determines how far its signal reaches. A higher power means a larger detection range; a lower power means a shorter range.
High power — the beacon is detectable throughout a house, across a yard, or even from the street. Suitable for “home area” detection as a GPS replacement.
Medium power — detectable within a floor or a few rooms. Good for apartment-level detection.
Low power — detectable only within one room or a small area. Perfect for room-level presence detection.
Example: Room vs. Whole House
Imagine you want to trigger a webhook only when you’re in your home office, not when you’re elsewhere in the house:
Place the beacon in or near your office
Set the beacon’s TX power to low (often labeled “-20 dBm” or “near range” in the manufacturer’s app)
Walk around the house with GeoHook’s Test function active to verify the beacon is only detected in the office
If it’s detected too far away, reduce the TX power further. If it’s not detected reliably in the office itself, increase it slightly.
Conversely, if you want the beacon to cover your entire property (as a supplement or replacement for GPS), set the TX power to high.
Note: TX power is configured on the beacon device itself, usually via the manufacturer’s app. GeoHook reads the signal but does not change the beacon’s transmit settings. The test function in GeoHook shows real-time signal strength (RSSI) and estimated distance, which is useful for finding the right power setting.
Other Factors That Affect Range
Walls and obstacles: Concrete and metal significantly reduce signal strength. Wood and drywall have less impact.
Beacon placement: Placing the beacon higher (e.g. on top of a shelf) usually provides a more even signal than hiding it behind furniture.
Advertising interval: Some beacons let you configure how often they transmit (e.g. every 100ms vs. every 1000ms). A faster interval means quicker detection but shorter battery life.