BPS the indoor precise tracking system

:rocket: Introducing BLE Positioning System (BPS) – A Smart Indoor Tracking Solution! :house::round_pushpin:

BPS is an innovative (near) real-time indoor positioning system designed to seamlessly integrate with Home Assistant. By utilizing ESPHome devices with Bluetooth proxy functionality and Bermuda, BPS can accurately track your Bluetooth devices within your home.

:small_blue_diamond: Key Features:
:heavy_check_mark: (near) Real-time tracking – See exactly where a device is located on a floor plan, just like GPS on a map.
:heavy_check_mark: Zone detection – Define zones (rooms) and track if a device is in a specific zone.
:heavy_check_mark: Multi-floor detection – Determine which floor a device is on for precise presence tracking.

:pushpin: Get started now! Learn more and install BPS from the GitHub page:
:link: GitHub Repository

bps_tracking

3 Likes

This is a neat idea.

Thanks, I built it to fit my urge to be able to do precise tracking but I guess (and hope) that more people will find this useful!

I am getting this message in the logs when trying to load v0.1.1a

2025-02-10 09:01:37.455 ERROR (SyncWorker_0) [homeassistant.loader] The custom integration ‘bps’ does not have a valid version key (0.1.1a) in the manifest file and was blocked from loading. See Custom integration changes | Home Assistant Developer Docs for more details

Hi, I have updated and there is a verions v0.1.0 without the “a”. Please try again.

Where are the instructions for adding the long lived token… I have searched the instructions and I prefer when my warning messages do not chastize me for things I can’t find. (your wording for that error is a tad harsh, maybe instead suggest exactly where they are in the instructions)

Also as an aside. Please make the default floor open when opening the page and collapse the entity list you can’t see anything on a mobile device until you do.

So… Where are the real time tracking setup instructions please?

The worked for loading the integration. I’ll try playing around with it now. Thx

I just haven’t had the time but you can find the instruction here

1 Like

Doing now :slight_smile: I’ll let you know how it works. So far so good!

Out of curiosity, what type of device are you running HAOS on?

My HAOS instance is on a NUC10/16G 500G SSD. bare metal. It’s WAAAAAY OP for HAOS.

So far so good hog until I found a CRITICAL (to me) issue. You’re completely rebuilding the sensors on each restart of the config aren’t you?

We’ve got to support Unique ID and recycle the entities.

I expose the entities to assist and tag them so they show up in the reports and are actionable by the LLM. If that vaporizes on restart I cant use it.

This is my ‘command’ (template) that generates the report - it’s looking for any entity I’ve tagged HPS:


found:
image

I found when I restarted the integration this stopped working and the LLM went stupid.

Oh that’s why. So how do we fix it? We cant blow the entities away every time.

OK, as I wrote I’m not a developer and all input is valuable. If you have a solution you are very welcome to contribute!

What is the “AI System” you use?

You mention in the GitHub ReadMe that you’re using NS Panels in your BPS setup. What did you need to enable in the NS Panel for it to listen for BT? I have a few NS Panel Pros I’d like to use. Thanks.

What connects BPS and bermuda receivers ?
Bluetooth_Proxy devices are created in BPS and placed on map and those created in bermuda are not shown.

I have flashed the NSP Panels with ESP Home and enabled bluetooth proxy. I’m not sure if its at all possible to flash the pro. For WAR I hade to have physical buttons thus the PRO was not an alternative.

1 Like