-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
BTHome component docs #5640
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: next
Are you sure you want to change the base?
BTHome component docs #5640
Changes from all commits
d899066
6cb47dd
33d1c5f
ebc024c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,215 @@ | ||||||
| --- | ||||||
| description: "Instructions for setting up BTHome BLE sensor broadcasting on ESP32 devices." | ||||||
| title: "BTHome BLE" | ||||||
| params: | ||||||
| seo: | ||||||
| description: Instructions for setting up BTHome v2 BLE sensor broadcasting on ESP32 devices. | ||||||
| image: bluetooth.svg | ||||||
| --- | ||||||
|
|
||||||
| The `bthome` component enables your ESP32 device to broadcast sensor data using the [BTHome v2](https://bthome.io/) Bluetooth Low Energy (BLE) protocol. This allows your ESP32 to function as a battery-powered BLE sensor that can be automatically discovered and integrated with Home Assistant and other BTHome-compatible receivers. | ||||||
|
|
||||||
| BTHome is a standardized format for transmitting sensor data over BLE advertising packets, providing efficient, low-power communication for IoT devices. | ||||||
|
|
||||||
| > [!WARNING] | ||||||
| > The BLE software stack on the ESP32 consumes a significant amount of RAM on the device. | ||||||
| > | ||||||
| > **Crashes are likely to occur** if you include too many additional components in your device's | ||||||
| > configuration. Memory-intensive components such as [Voice Assistant](/components/voice_assistant) and other | ||||||
| > audio components are most likely to cause issues. | ||||||
|
|
||||||
| > [!NOTE] | ||||||
| > This component requires the [ESP32 BLE](/components/esp32_ble) component to be configured. The BTHome component will automatically enable BLE advertising. | ||||||
|
|
||||||
| ```yaml | ||||||
| # Example configuration entry | ||||||
| esp32_ble: | ||||||
|
|
||||||
| bthome: | ||||||
| sensors: | ||||||
| - type: temperature | ||||||
| id: my_temperature | ||||||
| - type: humidity | ||||||
| id: my_humidity | ||||||
| - type: battery | ||||||
| id: my_battery | ||||||
| binary_sensors: | ||||||
| - type: motion | ||||||
| id: my_motion | ||||||
| advertise_immediately: true | ||||||
| ``` | ||||||
|
|
||||||
| ## Configuration variables | ||||||
|
|
||||||
| - **id** (*Optional*, [ID](/guides/configuration-types#id)): Manually specify the ID for code generation. | ||||||
| - **esp32_ble_id** (*Optional*, [ID](/guides/configuration-types#id)): The ID of the [ESP32 BLE](/components/esp32_ble) component. Defaults to the only `esp32_ble` component if only one is configured. | ||||||
|
|
||||||
| - **min_interval** (*Optional*, [Time](/guides/configuration-types#time)): The minimum BLE advertising interval in milliseconds. Setting this less than `max_interval` gives the BLE hardware a better chance to avoid collisions with other BLE transmissions. Range: 20ms to 10,240ms. Defaults to `1s`. | ||||||
|
|
||||||
| - **max_interval** (*Optional*, [Time](/guides/configuration-types#time)): The maximum BLE advertising interval in milliseconds. Setting this greater than `min_interval` gives the BLE hardware a better chance to avoid collisions with other BLE transmissions. Range: 20ms to 10,240ms. Defaults to `1s`. | ||||||
|
||||||
| - **max_interval** (*Optional*, [Time](/guides/configuration-types#time)): The maximum BLE advertising interval in milliseconds. Setting this greater than `min_interval` gives the BLE hardware a better chance to avoid collisions with other BLE transmissions. Range: 20ms to 10,240ms. Defaults to `1s`. | |
| - **max_interval** (*Optional*, [Time](/guides/configuration-types#time)): The maximum BLE advertising interval. Setting this greater than `min_interval` gives the BLE hardware a better chance to avoid collisions with other BLE transmissions. Range: 20ms to 10,240ms. Defaults to `1s`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The description states "advertising interval in milliseconds" but the range and default values are specified using time units (e.g., "1s"). The description should be "The minimum BLE advertising interval" without mentioning "in milliseconds" since the configuration type is Time which supports various time units.