BLE Presence
Presence Detection

Presence detection for your smart home β€”
with ESP32 BLE scanners, MQTT/UDP and floorplan positioning.
Raspberry Pi
ESP32
BLE / Eddystone / BTHome
MQTT
UDP
Home Assistant
Loxone
What is it?

Know who is where...

BLE Presence is a self-built presence detection system using Bluetooth Low Energy to locate people and devices room-by-room throughout your home. Completely self-hosted, fully configurable, and designed for your smart home automation.

πŸ“‘

Multi-Scanner Network

Distributed BLE scanners (ESP32) capture Bluetooth signals in every room. Master-client architecture with automatic synchronization.

πŸ—ΊοΈ

Live Floorplan Map

Real-time positioning on the floorplan via trilateration. Floorplan editor with zones and scanner placement.

πŸ”—

MQTT / UDP Integration

The MQTT broker running on the master enables seamless integration with Home Assistant, Loxone and other platforms via MQTT. UDP export available.

(custom broker can also be used)

πŸ“Š

Statistics & History

Presence timeline, battery monitoring over months, online/offline tracking with graphical analysis.

πŸ”„

Updates

Update the master via WebUI.

Update ESP32 scanners remotely or via web UI with automatic version detection.

βš™οΈ

WebUI-based Configuration

Complete configuration via the web interface (Master/ESP32). Room tracking parameters, scanner management, service control.

System Architecture

Master–Client Topology

A central master aggregates data from all scanners, calculates positions, and publishes results via MQTT.

πŸ“‘

BLE Scanner

ESP32
BLE Scan + RSSI

β†’
🧠

Aggregator

Raspberry Pi Master Β· Data Fusion Β· Trilateration
Anti-Flapping Β· Room Tracking

β†’
🏠

Smart Home

Loxone Β· Home Assistant
MQTT Β· UDP

Python Backend Services
PHP Web Interface
C++ ESP32 Firmware
JS Live MQTT WebSocket
MQTT Message Broker
Features in Detail

Everything under control.

From the live map to firmware management β€” the entire system can be conveniently controlled via the web interface.

01

Aggregator Dashboard

Real-time overview of all detected devices and active scanners. Live MQTT connection immediately shows new devices, signal strength, battery status and the assigned scanner.

MQTT WebSocket Live Updates Auto-Cleanup
Aggregator Dashboard
02

Live Floorplan Map

Devices are positioned on the floorplan in real time β€” either via trilateration from multiple scanner signals or as a fallback at the nearest scanner. Zone detection and multi-floor support included.

Trilateration Zones Multi-Floor
Live Map
03

Floorplan Editor

Upload a floorplan, place scanners via drag & drop, draw zones directly on the plan. The scale is calibrated for correct distance calculation. Supports multiple floors.

Drag & Drop Zone Drawing Calibration
Floorplan Editor
04

Statistics & History

Detailed presence timeline per device: online/offline phases, duration, assigned scanner. Battery monitoring over months with trend graphs and min/max values.

Presence Timeline Battery Graphs 30 Day History
Statistics
05

System & Firmware Updates

Version management for the entire system: master software updates, ESP32 firmware downloads for various hardware variants, and automatic detection of firmware status across all scanners.

Auto Version Check Remote Update Multi-Hardware
System Update
06

ESP32 Scanner Fleet

Compact, cost-effective BLE scanners based on ESP32. Dedicated web UI per scanner, centralized management at the master. Supports ESP32-WROOM and ESP32-S3 hardware. OTA updates, battery scans and device sync via API.

ESP32-S3 NimBLE OTA Updates WebSerial
ESP32 Client
Technology

Tech Stack

Deliberately pragmatic β€” proven tools over hype.

Master
πŸ“

Raspberry Pi

Master

🐍

Python

Backend & Aggregator

🐘

PHP

Web Interface

πŸ“¬

MQTT

Mosquitto Broker

🌐

JavaScript

Live UI & WebSocket

ESP32 Scanner
πŸ“Ά

ESP32 / S3

BLE Scanner Clients

⚑

C++ / Arduino

ESP32 Firmware

πŸ”΅

Bleak / NimBLE

BLE Libraries

Live Data

Community

Anonymous, aggregated usage statistics.

🏠

β€”

Installations

πŸ“‘

β€”

Scanners

πŸ“±

β€”

BLE Devices