whatisgithub

What is bps-improved?

maxi1134/bps-improved — explained in plain English

Analysis updated 2026-05-18

87JavaScriptAudience · ops devopsComplexity · 4/5Setup · hard

In one sentence

An improved Home Assistant integration that tracks where Bluetooth devices are inside your home, room by room, with a nicer setup panel and better accuracy.

Mindmap

mindmap
  root((BPS improved))
    What it does
      Indoor Bluetooth tracking
      Room level positioning
      Builds on Bermuda
    Tech stack
      JavaScript
      Python
      Home Assistant
    Use cases
      Room based automations
      Custom zone mapping
      Away detection
    Audience
      Home Assistant users
    Setup
      Install via HACS
      Add integration
      Configure Bermuda devices

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Track which room a person or device is in at home using Bluetooth receivers.

USE CASE 2

Set up automations that trigger based on which zone someone is currently in.

USE CASE 3

Design custom shaped zones and sub zones on a floor plan for more precise tracking.

USE CASE 4

Diagnose Bluetooth receiver and beacon connectivity issues using the built in debugging view.

What is it built with?

JavaScriptPythonHome AssistantSciPy

How does it compare?

maxi1134/bps-improvedenergypantry/agent-browser-runtimegaearon/gitbook-plugin-prism
Stars878688
LanguageJavaScriptJavaScriptJavaScript
Last pushed2022-11-06
MaintenanceDormant
Setup difficultyhardhardeasy
Complexity4/54/51/5
Audienceops devopsdeveloperwriter

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires a working Bermuda setup, physical BLE receivers, and a 64 bit system for the SciPy dependency.

So what is it?

This project is an enhanced fork of an existing Home Assistant integration called BPS, which uses Bluetooth signal strength to figure out roughly where a tracked device is inside a home, room by room, using a technique called trilateration that combines distance readings from several fixed receivers. It depends on another integration called Bermuda to get those distance readings in the first place. This fork keeps everything the original project does and adds a long list of improvements on top, so it assumes you already understand the basics from the original project's documentation. Among the new features are more accurate zone sensors, including one that always reports the closest room to a device even when it is technically between rooms, and a cleaner way of organizing sensors so each tracked device's positioning data lives together under its own entry in Home Assistant instead of being mixed into one long list. Devices that leave the house are now properly detected as away instead of staying frozen on the map forever, and the integration recovers cleanly after a restart instead of silently stopping. The setup panel itself has been reworked with a modern dark theme, zooming and panning, support for zones shaped like any polygon rather than just rectangles, smaller sub zones inside a room, color coding per zone, one click cleanup tools for tidying up zone shapes, and a debugging view that shows how every receiver and tracked device connects to Bermuda. Accuracy has also been improved through automatic calibration between receivers, a smarter motion aware smoothing filter for positions, visualizations of the distance measurements used to calculate a position, and a replay feature showing the path a device took over time. Installing this fork is done through HACS as a custom repository, followed by adding the integration through Home Assistant's normal settings menu. It depends on a library called SciPy, which needs a 64 bit system and can sometimes be tricky to install inside more restricted Home Assistant setups. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Walk me through installing this integration through HACS as a custom repository.
Prompt 2
Explain the difference between the _bps_zone and _bps_nearest_zone sensors this project adds.
Prompt 3
Help me understand what the Bermuda dependency does and why this project needs it.
Prompt 4
Explain what SciPy is and why it needs a 64 bit system to install correctly.
Prompt 5
Show me how away detection and the position_timeout setting work together.

Frequently asked questions

What is bps-improved?

An improved Home Assistant integration that tracks where Bluetooth devices are inside your home, room by room, with a nicer setup panel and better accuracy.

What language is bps-improved written in?

Mainly JavaScript. The stack also includes JavaScript, Python, Home Assistant.

How hard is bps-improved to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is bps-improved for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.