Skip to content

Conversation

@jesserockz
Copy link
Member

Description:

This adds comprehensive documentation for the new BTHome v2 BLE component that enables ESP32 devices to broadcast sensor data using the BTHome protocol.

The documentation covers:

  • Complete configuration options including sensors, binary sensors, and encryption
  • All supported sensor types (temperature, humidity, battery, etc.)
  • All supported binary sensor types (motion, door, window, etc.)
  • Detailed examples showing basic and advanced usage
  • Integration with Home Assistant
  • Explanation of immediate advertising for event-driven sensors

Related issue (if applicable): fixes

Pull request in esphome with YAML changes (if applicable):

Checklist:

  • I am merging into next because this is new documentation that has a matching pull-request in esphome as linked above.
    or

  • I am merging into current because this is a fix, change and/or adjustment in the current documentation and is not for a new component or feature.

  • Link added in /components/index.rst when creating new documents for new components or cookbook.

New Component Images

If you are adding a new component to ESPHome, you can automatically generate a standardized black and white component name image for the documentation.

To generate a component image:

  1. Comment on this pull request with the following command, replacing COMPONENT_NAME with your component name in UPPER_CASE format with underscores (e.g., BME280, SHT3X, DALLAS_TEMP):

    @esphomebot generate image COMPONENT_NAME
    
  2. The ESPHome bot will respond with a downloadable ZIP file containing the SVG image.

  3. Extract the SVG file and place it in the images/ folder of this repository.

  4. Use the image in your component's index table entry in /components/index.rst.

Example: For a component called "DHT22 Temperature Sensor", use:

@esphomebot generate image DHT22

This adds comprehensive documentation for the new BTHome v2 BLE component
that enables ESP32 devices to broadcast sensor data using the BTHome protocol.

The documentation covers:
- Complete configuration options including sensors, binary sensors, and encryption
- All supported sensor types (temperature, humidity, battery, etc.)
- All supported binary sensor types (motion, door, window, etc.)
- Detailed examples showing basic and advanced usage
- Integration with Home Assistant
- Explanation of immediate advertising for event-driven sensors

Related to esphome/esphome#11962
- Replace docref shortcodes with standard markdown links
- Add full domain to external Home Assistant Bluetooth link
- Replace apiref shortcode with direct API reference link
@netlify
Copy link

netlify bot commented Nov 18, 2025

Deploy Preview for esphome ready!

Name Link
🔨 Latest commit ebc024c
🔍 Latest deploy log https://app.netlify.com/projects/esphome/deploys/691c3f9fb3ea0600083fb9a9
😎 Deploy Preview https://deploy-preview-5640--esphome.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot finished reviewing on behalf of jesserockz November 18, 2025 09:39
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds documentation for the new BTHome v2 BLE component that enables ESP32 devices to broadcast sensor data using the BTHome protocol.

Key changes:

  • New component documentation explaining configuration, supported sensors, and integration with Home Assistant
  • Added BTHome BLE entry to the Bluetooth/BLE components index

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
content/components/bthome.md New documentation for BTHome v2 BLE component with configuration options, sensor types, examples, and integration details
content/components/_index.md Added BTHome BLE entry to the Bluetooth/BLE components index


- **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`.
Copy link

Copilot AI Nov 18, 2025

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 maximum BLE advertising interval" without mentioning "in milliseconds" since the configuration type is Time which supports various time units.

Suggested change
- **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`.

Copilot uses AI. Check for mistakes.
- **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`.
Copy link

Copilot AI Nov 18, 2025

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.

Suggested change
- **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`.
- **min_interval** (*Optional*, [Time](/guides/configuration-types#time)): The minimum BLE advertising interval. 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`.

Copilot uses AI. Check for mistakes.
@jesserockz jesserockz changed the title Claude/bthome documentation 01 uc yum qc j bd zc atc p dgy q9m BTHome component docs Nov 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants