Companion
A Home Assistant Add-on / Docker container that solves indoor positions using MQTT data received from multiple ESPresense nodes. The companion is the central brain of your ESPresense system. It:
- Processes distance readings from all nodes using trilateration to determine device locations
- Reports device room presence to Home Assistant via MQTT
- Visualizes BLE device locations on your floor plan
- Manages and configures ESPresense nodes
- Updates node firmware
- Adjusts device-specific settings
- Monitors and controls automatic node optimization

Quick Start
Section titled “Quick Start”Companion MQTT behavior (what companion reads/writes)
Section titled “Companion MQTT behavior (what companion reads/writes)”Companion is also bidirectional on MQTT:
Companion reads (subscribes)
Section titled “Companion reads (subscribes)”espresense/devices/+(BLE observations from nodes)espresense/rooms/+/telemetry(node telemetry)espresense/rooms/+/status(node availability)
Companion writes (publishes)
Section titled “Companion writes (publishes)”- Presence/location outputs for Home Assistant entities
- Node optimization/config writes via room
.../settopics (for example max distance tuning)
Use MQTT for the node topic reference and write examples.
Need Help?
Section titled “Need Help?”- Join our Discord Community
- Check the Troubleshooting Guide
- Contribute to this documentation by clicking “Edit this page” below