Add documentation for HMAC-MD5 OTA support
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
nextbecause this is new documentation that has a matching pull-request in esphome as linked above.
or -
[ ] I am merging into
currentbecause 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.mdwhen creating new documents for new components or cookbook.
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks :+1:
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...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify project configuration.
[!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.calibrateaction 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.
Comment @coderabbitai help to get the list of available commands and usage tips.