esphome-docs icon indicating copy to clipboard operation
esphome-docs copied to clipboard

Add documentation for HMAC-MD5 OTA support

Open dwmw2 opened this issue 1 week ago • 3 comments

Description:

Related issue (if applicable): fixes https://github.com/esphome/feature-requests/issues/2833

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

  • esphome/esphome#12419

Checklist:

  • [x] 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.md when creating new documents for new components or cookbook.

dwmw2 avatar Dec 11 '25 03:12 dwmw2

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks :+1:

Learn more about our pull request process.

esphome[bot] avatar Dec 11 '25 03:12 esphome[bot]

Deploy Preview for esphome ready!

Name Link
Latest commit a40cd899436ed190a43902786b2a4d58ca40095b
Latest deploy log https://app.netlify.com/projects/esphome/deploys/6940b2b394d50b00083f4925
Deploy Preview https://deploy-preview-5766--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.

netlify[bot] avatar Dec 11 '25 03:12 netlify[bot]

[!CAUTION]

Review failed

Failed to post review comments

Walkthrough

This pull request updates ESPHome documentation for the 2025.12.0 release cycle. It adds comprehensive documentation for eight new components (HC8, HLW8032, STTS22H, ThermoPro BLE, HUB75 LED matrix, CC1101 RF transceiver, USB CDC-ACM, BM8563 RTC), introduces API action response capabilities, implements HMAC-MD5 OTA authentication support, expands ESP32 variant support (ESP32-C5, ESP32-C61), and enhances LVGL widget functionality. It also updates the release notes generation script and various component reference pages.

Changes

Cohort / File(s) Change Summary
Release & Versioning
data/version.yaml, content/changelog/2025.12.0.md, content/changelog/_index.md, script/generate_release_notes.py
Bumps version to 2026.1-dev, updates changelog redirect, adds comprehensive ESPHome 2025.12.0 release notes, and refactors PR collection logic in release notes generator with generalized tag-based discovery.
New Component Documentation
content/components/sensor/hc8.md, content/components/sensor/hlw8032.md, content/components/sensor/stts22h.md, content/components/sensor/thermopro_ble.md, content/components/time/bm8563.md, content/components/display/hub75.md, content/components/cc1101.md, content/components/usb_cdc_acm.md
Adds complete documentation for 8 new components including configuration, actions, examples, and hardware requirements.
API & Action Response Documentation
content/components/api.md
Introduces new Conditions section with api.connected details, expands Actions section with comprehensive "Action Responses" subsection, adds api.respond action documentation, response modes, and usage examples.
LVGL Widget Enhancements
content/components/lvgl/widgets.md
Adds scroll-related configuration options (scroll_dir, scroll_snap_x, scroll_snap_y), updates lvgl.arc.update action signature with additional fields (change_rate, end_angle, max_value, min_value, etc.), adds lvgl.button.update with text parameter support, and expands examples.
LVGL Layout & Display Updates
content/components/lvgl/layouts.md, content/components/lvgl/_index.md, content/components/display/epaper_spi.md
Documents padding behavior for grid layouts, introduces multiple_widgets_per_cell option, adds grid cell alignment/spanning properties, introduces update_when_display_idle option, restructures e-paper display configuration with dimensions and transform options.
Display Component Updates
content/components/display/_index.md, content/components/display/mipi_dsi.md, content/components/display/mipi_rgb.md, content/components/display/mipi_spi.md
Adds HUB75 reference to display index, introduces new integrated display board entries (JC4880P443, WAVESHARE-3.16-320X820, M5CORE2, JC4827W543) to MIPI tables.
OTA & Update HMAC Support
content/components/ota/http_request.md, content/components/update/http_request.md
Introduces HMAC-MD5 verification options with hmac_md5, hmac_md5_url, and hmac_key configuration variables, provides examples and mutual exclusivity documentation.
ESP32 Variant Documentation Updates
content/components/esp32.md, content/components/deep_sleep.md, content/components/i2c.md, content/components/logger.md, content/components/psram.md, content/components/openthread.md, content/components/light/esp32_rmt_led_strip.md, content/components/remote_receiver.md, content/components/remote_transmitter.md, content/components/sensor/adc.md
Adds ESP32-C5 and ESP32-C61 support across multiple components, updates PSRAM mode defaults, expands memory tables, updates wakeup pin scopes for deep sleep, and adds pull-up configuration options for I²C.
CAN & Transceiver Documentation
content/components/canbus/esp32_can.md
Restructures bit rate table, adds ESP32-C5/C6/P4 multiple controller notes, lists unsupported variants (ESP32-C2, ESP32-C61), and clarifies hardware availability.
Sensor & Power Documentation
content/components/sensor/mcp3204.md, content/components/sensor/sps30.md, content/components/sensor/total_daily_energy.md, content/components/prometheus.md
Adds differential mode support to MCP3204, introduces idle operation mode for SPS30, adds HLW8032 and Event component references to supported lists, and updates various sensor configurations.
WiFi & Network Configuration
content/components/wifi.md, content/components/text_sensor/wifi_info.md, content/components/ethernet.md
Adds wifi.ap_active Condition documentation, introduces power_save_mode text sensor, replaces "ESP" prefixes with "Device" prefixes, and adds LAN8670 Ethernet chipset with Silicognition ManT1S board configuration.
Component Index & Package Management
content/components/_index.md, all_automations.json, content/automations/all_actions.md, content/components/packages.md
Updates component index with new entries (USB CDC-ACM, HC8, STTS22H, HUB75, CC1101, BM8563, ThermoPro BLE), adds hc8.calibrate action registration, and expands package documentation with conditional inclusion and LVGL examples.
Miscellaneous Documentation Updates
content/components/nrf52.md, content/components/micronova.md, content/components/output/pca9685.md, content/guides/getting_started_hassio.md
Adds NRF52 DCDC flag documentation, normalizes Micronova configuration formatting, introduces phase_balancer option for PCA9685, and expands getting started wizard configuration guidance.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • script/generate_release_notes.py: Refactored PR collection logic with new _collect_prs_from_tags() and _get_previous_release_prs() methods requires careful review of the tag-based iteration and exclusion logic
  • content/components/api.md: New action response documentation introduces significant new functionality documentation with multiple code examples that need validation for accuracy and completeness
  • content/components/lvgl/widgets.md: Multiple new widget configuration options and updated action signatures (lvgl.arc.update, lvgl.button.update) need validation against implementation
  • Large number of homogeneous ESP32 variant table additions reduce per-file complexity but require spot-checking for consistency

Possibly related PRs

  • esphome/esphome-docs#5671 — Both PRs add hc8.calibrate action registration and related documentation for the HC8 component
  • esphome/esphome-docs#4135 — Both PRs modify total_daily_energy documentation to include HLW8032 sensor references
  • esphome/esphome-docs#5391 — Both PRs modify deep_sleep ESP32 external wakeup pin documentation for additional variants

Suggested labels

has-parent, next

Suggested reviewers

  • kbx81

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The changeset includes substantial documentation and configuration changes beyond HMAC-MD5 OTA support, such as new component documentation (CC1101, HLW8032, STTS22H, HC8, BM8563, HUB75, ThermoPro BLE, USB CDC-ACM) and ESP32 variant updates, which are unrelated to the stated objective. Review and separate out-of-scope documentation additions (new components, ESP32 variants, LVGL enhancements) from the core HMAC-MD5 OTA documentation changes to ensure focus on the stated objective.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Add documentation for HMAC-MD5 OTA support' directly describes the main change—adding documentation for HMAC-MD5 OTA support—which aligns with the changeset.
Description check ✅ Passed The description clearly relates to the changeset by referencing the addition of HMAC-MD5 OTA support documentation and links to relevant issues and code changes.
Linked Issues check ✅ Passed The changeset adds comprehensive HMAC-MD5 OTA documentation across multiple files including ota/http_request.md, update/http_request.md, and all_automations.json with the hc8.calibrate action, fulfilling the request to document HMAC authentication for OTA upgrades.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing touches
  • [ ] 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • [ ] Create PR with unit tests
  • [ ] Post copyable unit tests in a comment

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.

coderabbitai[bot] avatar Dec 11 '25 03:12 coderabbitai[bot]