BTHome logo

BTHome is an open standard for broadcasting sensor data and button presses over Bluetooth LE

BTHome is an energy efficient but flexible BLE format for devices to broadcast their sensor data and button presses. Devices can run over a year on a single battery. It allows data encryption and is supported by popular home automation platforms, like Home Assistant, out of the box.

Picture showing a Bluetooth temperature sensor broadcasting it's data to Home Assistant, showing it formatted to the user.

BTHome is part of the Open Home and aims to create smart homes that offer privacy, choice and durability. Learn more about the Open Home.

Projects using BTHome

Home Assistant

Open source home automation with a focus on local control and privacy. Automatically discovers BTHome devices and allows users to add them to their home with a single click. BTHome V2 support is scheduled for the 2022.12 release.

Website

ATC MiThermometer

Custom firmware for several Bluetooth thermometer & hygrometer devices that can broadcast temperature and humidity via BTHome.

Use their TelinkMiFlasher.html tool to upgrade your device directly from your browser. Once installed, change the advertising type to "BTHome" and click "Send Config".

Website

b-parasite

b-parasite is an open source soil moisture and ambient temperature/humidity/light sensor that supports BTHome.

Website

ESP32_BTHome

ESP32_BTHome is an example of using an ESP32 to send BLE advertisement packets in the BTHome format in such way that you have a very lightweight, energy efficient sensor. Between the broadcasting of BLE advertisements, the ESP32 will in a sleeping state, making it more suitable for battery powered sensors.

Website

bthome-weather-station

bthome-weather-station is an example of using the Espressif IoT Development Framework (ESP-IDF) to read sensor data and send BLE advertisement packets in the BTHome format. It includes reading data, encoding to BTHome format, deep sleep and utilization of multiple cores for speed. The aim is to be easily extensible for adding your own sensors using I2C.

Website

BTHome Electricity Meter

BTHome Electricity Meter is an example of reading total energy usage and live power consumption from an electricity meter with an impulse light, using a Puck.js beacon.

Website

The problem we're solving

Most Bluetooth devices are designed to be used with a smartphone app. They broadcast their data in a proprietary format that is not standardized. To be able to use these devices in your smart home, your home automation platform needs to support each proprietary format. This makes it difficult to use devices from different manufacturers in the same system.

BTHome is an open standard that allows devices to broadcast their sensor data and button presses in a standardized format. Home automation systems now need to only adopt a single standard and BTHome devices will work out of the box.

Scope & Constraints

The goal of the BTHome standard is to share sensor data and button presses efficiently via Bluetooth LE discovery packets. It is not the goal to offer a way for devices to share control.

Sponsors

The BTHome 16 bit UUID has been sponsored by Allterco, who purchased the UUID for us at the Bluetooth SIG organisation. Allterco is more familiar to most of you as Shelly. Alltreco has made a license available for everyone to use the format for free, as long as you follow the (V2) format that is defined on this website. If you want to develop devices with BTHome, and you want to asure that it is really free, you can download the license.