mirror of
https://github.com/esphome/esphome.git
synced 2026-09-28 23:40:25 +00:00
227c46403b3f2dc8e74029674fbc209758d60416
Implements native BTHome v2 protocol support for broadcasting sensor data over BLE advertisements. This enables ESP32 devices to act as battery-powered BLE sensors that are natively compatible with Home Assistant. Features: - Support for multiple sensor types (temperature, humidity, battery, etc.) - Support for binary sensors (motion, door, window, etc.) - AES-CCM encryption support with 16-byte keys - Automatic packet encoding per BTHome v2 specification - Dynamic advertisement updates when sensor values change - Configurable advertising intervals and TX power - Proper BTHome v2 device info byte and service UUID Implementation: - Python configuration for sensor/binary sensor mapping - C++ component for BTHome packet encoding and BLE advertising - mbedtls CCM encryption for secure advertisements - Leverages existing esp32_ble infrastructure Test coverage: - Basic sensor/binary sensor configuration tests - Encryption test configuration - Multi-platform support (ESP32, ESP32-C3, ESP32-S3 with IDF) Closes: https://github.com/orgs/esphome/discussions/3235
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
562 MiB
Languages
C++
55.2%
Python
44.2%
C
0.3%
JavaScript
0.2%
