Skip to content

Conversation

@Bohrium332
Copy link

Description:

Add support for Seeed Studio XIAO ESP32-S3 PoE board in Bluetooth Proxy and Web Installer.

This PR:

  • Adds seeed-esp32-poe to the Bluetooth Proxy device list in the web installer
  • Includes device image, description, and purchase links
  • Uses custom firmware manifest hosted at https://bohrium332.github.io/bluetooth-proxy/seeed-esp32-poe/manifest.json
  • Updates the installer to load the correct manifest when this device is selected

Related issue (if applicable): N/A

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

@esphome esphome bot added the current label Oct 30, 2025
@netlify
Copy link

netlify bot commented Oct 30, 2025

Deploy Preview for esphome ready!

Name Link
🔨 Latest commit 9be732e
🔍 Latest deploy log https://app.netlify.com/projects/esphome/deploys/6902ec4a07aa630008bbfd27
😎 Deploy Preview https://deploy-preview-5540--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.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 30, 2025

Walkthrough

Adds a Seeed Studio XIAO W5500 PoE option to the Bluetooth proxy device selection in the project template and includes a hidden info block with device description and a purchase link.

Changes

Cohort / File(s) Summary
Bluetooth proxy device addition
themes/esphome-theme/layouts/_default/projects.html
Added a new radio input value seeed-esp32-poe for Seeed Studio XIAO W5500 PoE in the Bluetooth proxy selection and a corresponding hidden information block (description + Buy link) placed after the existing WT32-ETH01/Seeed entries.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

  • Simple, localized HTML addition following existing pattern
  • No logic, API, or behavioral changes

Possibly related PRs

Suggested reviewers

  • bdraco
  • clydebarrow
  • jesserockz

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The pull request title "Add Seeed Studio XIAO ESP32-S3 PoE to Bluetooth Proxy device list" is clear, specific, and directly describes the main change in the changeset. It accurately reflects the primary objective of adding a new Bluetooth proxy device option to the device selection interface. The title is concise and avoids unnecessary noise, making it easy for a reviewer scanning the history to understand the core change.
Description Check ✅ Passed The pull request description is directly related to the changeset and provides relevant context about the modifications being made. It clearly describes the addition of the Seeed Studio XIAO ESP32-S3 PoE device to the Bluetooth Proxy device list, mentions the inclusion of device information and purchase links, and references the related pull request in the esphome/bluetooth-proxies repository. The description aligns well with the changes summarized in the raw_summary.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between dc9327c and 9be732e.

⛔ Files ignored due to path filters (1)
  • static/projects/bluetooth-proxy/seeed-esp32-poe.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • themes/esphome-theme/layouts/_default/projects.html (2 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**

⚙️ CodeRabbit configuration file

  • Do not generate or add any sequence diagrams

Files:

  • themes/esphome-theme/layouts/_default/projects.html
🧠 Learnings (1)
📓 Common learnings
Learnt from: jesserockz
PR: esphome/esphome-docs#4865
File: .github/workflows/needs-docs.yml:0-0
Timestamp: 2025-05-01T03:29:47.922Z
Learning: In the esphome-docs repository, the "current" label is automatically added by a bot to pull requests, making it a reliable indicator for the target branch.
🔇 Additional comments (1)
themes/esphome-theme/layouts/_default/projects.html (1)

517-530: Info block structure and content look good.

The hidden info block is correctly placed and structured to match the device value. The description explains the board's capabilities and PoE support, and the purchase link directs to the official Seeed Studio product page.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7916da7 and dc9327c.

⛔ Files ignored due to path filters (1)
  • static/projects/bluetooth-proxy/seeed-esp32-poe.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • themes/esphome-theme/layouts/_default/projects.html (2 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**

⚙️ CodeRabbit configuration file

  • Do not generate or add any sequence diagrams

Files:

  • themes/esphome-theme/layouts/_default/projects.html
🔇 Additional comments (2)
themes/esphome-theme/layouts/_default/projects.html (2)

517-530: Device information block looks good.

The info block is correctly structured with matching class names, descriptive heading and purchase links. The description appropriately mentions WiFi being disabled after installation, consistent with similar PoE devices.


351-362: Image file verified—no issues found.

The image file exists at static/projects/bluetooth-proxy/seeed-esp32-poe.png, which correctly corresponds to the path /projects/bluetooth-proxy/seeed-esp32-poe.png referenced in the src attribute.

Comment on lines +351 to +362
<label>
<input
type="radio"
name="bluetooth-device"
class="device-option"
value="seeed-esp32-poe"
/>
<img
src="/projects/bluetooth-proxy/seeed-esp32-poe.png"
alt="Seeed Studio XIAO W5500 PoE"
/>
</label>
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Add custom manifest URL attribute for seeed-esp32-poe device.

According to the PR objectives, this device uses a custom firmware manifest at https://bohrium332.github.io/bluetooth-proxy/seeed-esp32-poe/manifest.json. However, the radio button lacks a data-manifest-root attribute, so the installer will incorrectly use the default manifest root (https://firmware.esphome.io/bluetooth-proxy), resulting in the wrong manifest URL.

Apply this diff to add the custom manifest root:

    <label>
      <input
        type="radio"
        name="bluetooth-device"
        class="device-option"
        value="seeed-esp32-poe"
+       data-manifest-root="https://bohrium332.github.io/bluetooth-proxy"
      />
      <img
        src="/projects/bluetooth-proxy/seeed-esp32-poe.png"
        alt="Seeed Studio XIAO W5500 PoE"
      />
    </label>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<label>
<input
type="radio"
name="bluetooth-device"
class="device-option"
value="seeed-esp32-poe"
/>
<img
src="/projects/bluetooth-proxy/seeed-esp32-poe.png"
alt="Seeed Studio XIAO W5500 PoE"
/>
</label>
<label>
<input
type="radio"
name="bluetooth-device"
class="device-option"
value="seeed-esp32-poe"
data-manifest-root="https://bohrium332.github.io/bluetooth-proxy"
/>
<img
src="/projects/bluetooth-proxy/seeed-esp32-poe.png"
alt="Seeed Studio XIAO W5500 PoE"
/>
</label>
🤖 Prompt for AI Agents
In themes/esphome-theme/layouts/_default/projects.html around lines 351 to 362,
the radio input for the seeed-esp32-poe device is missing the data-manifest-root
attribute so the installer will use the default manifest root; add
data-manifest-root="https://bohrium332.github.io/bluetooth-proxy/seeed-esp32-poe"
to the <input> element (preserving existing attributes) so the installer
resolves the manifest to the correct custom URL.

@Bohrium332 Bohrium332 changed the title add seeed Add Seeed Studio XIAO ESP32-S3 PoE to Bluetooth Proxy device list Oct 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant