Skip to content

[dsmr] Document thermal_mbus_id option#6067

Open
thomwiggers wants to merge 2 commits intoesphome:nextfrom
thomwiggers:document-dsmr-thermal-mbus
Open

[dsmr] Document thermal_mbus_id option#6067
thomwiggers wants to merge 2 commits intoesphome:nextfrom
thomwiggers:document-dsmr-thermal-mbus

Conversation

@thomwiggers
Copy link

Document the thermal_mbus_id option exposed by related PR.

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

  • N/A 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.

  • N/A Link added in /components/_index.md when creating new documents for new components or cookbook.

esphome[bot]
esphome bot previously requested changes Feb 12, 2026
Copy link

@esphome esphome bot left a comment

Choose a reason for hiding this comment

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

As this is a feature matched with a PR in https://github.com/esphome/esphome, please target your PR to the next branch and rebase.

@esphome esphome bot marked this pull request as draft February 12, 2026 12:07
@esphome
Copy link

esphome bot commented Feb 12, 2026

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

Learn more about our pull request process.

@netlify
Copy link

netlify bot commented Feb 12, 2026

Deploy Preview for esphome ready!

Name Link
🔨 Latest commit b7065b1
🔍 Latest deploy log https://app.netlify.com/projects/esphome/deploys/698ddbf8984c180008fea99a
😎 Deploy Preview https://deploy-preview-6067--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 Feb 12, 2026

Walkthrough

Documentation update for ESPHome version 2026.3.0-dev, adding new component documentation (CH423 I/O Expander, SY6970 Battery Charger, DLMS Meter, Zigbee Time, Key Collector text sensor) and expanding configuration options across existing components with minor corrections and structural improvements.

Changes

Cohort / File(s) Summary
New Component Documentation
content/components/ch423.md, content/components/sensor/sy6970.md, content/components/sensor/dlms_meter.md, content/components/time/zigbee.md, content/components/text_sensor/key_collector.md
New complete documentation files for CH423 I/O Expander, SY6970 Battery Management IC, DLMS Meter sensor, Zigbee Time source, and Key Collector text sensor platform with configuration variables and usage examples.
Display Component Documentation
content/components/display/epaper_spi.md, content/components/display/hub75.md, content/components/display/mipi_dsi.md, content/components/display/mipi_spi.md
Added new display controller/panel models (JD79660, Waveshare variants, ILI9342), board presets (huidu-hd-wf1), M5Stack Tab5 V2 revision guidance, and transform option clarification.
Sensor Component Updates
content/components/sensor/_index.md, content/components/sensor/bl0942.md, content/components/sensor/bmp581.md, content/components/sensor/dsmr.md, content/components/sensor/filter/*.md, content/components/sensor/ld2450.md, content/components/sensor/pmsx003.md, content/components/sensor/xiaomi_ble.md
Updated filter configurations (delta, clamp with expanded options), calibration defaults for BL0942, DSMR thermal_mbus_id and firmware version fields, LD2450 on_data automation, PMSX003 sensor type matrix, and xiaomi_ble encryption guidance.
Configuration Option Additions
content/components/binary_sensor/status.md, content/components/captive_portal.md, content/components/climate/climate_ir.md, content/components/debug.md, content/components/ethernet.md, content/components/globals.md, content/components/http_request.md, content/components/key_collector.md, content/components/display/nextion.md, content/components/water_heater/template.md, content/components/zigbee.md
Added new optional configuration parameters across multiple components: update_interval, on_connect/on_disconnect triggers, compression defaults, ESP-IDF support, min_free option, ca_certificate_path, text_sensor capability, max_queue_age, startup_override_ms, water heater lambdas, and ieee802154_vendor_oui.
Documentation Reorganization
content/components/cover/_index.md, content/components/select/_index.md
Restructured documentation with new sections for Actions/Conditions/Triggers and improved examples; reorganized coverage of accessing current options and lambda usage patterns.
Other Component Updates
content/components/logger.md, content/components/esp32.md, content/components/esp32_ble_beacon.md, content/components/time/_index.md, content/components/vbus.md, content/components/web_server.md
Added nRF52 platform support to logger and timezone inference; extensive ESP32 TLS/VFS/debug options; tx_power ESP-Hosted constraint; DeltaSol BS/2 (DrainBack) model support; compression default changed to gzip for HTTP compatibility.
Infrastructure & Metadata
all_automations.json, content/changelog/2026.1.0.md, content/components/_index.md, data/version.yaml, script/schema_doc.py
Added CH423 to pin_providers; updated changelog with spelling corrections and grouping preface; added new components to index; bumped version to 2026.3.0-dev; enhanced schema_doc.py with fallback md file reference lookup and reduced id property logging noise.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

documentation, has-parent, next

Suggested reviewers

  • jesserockz
  • DjordjeMandic
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ 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%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title '[dsmr] Document thermal_mbus_id option' clearly summarizes the main change: adding documentation for a specific thermal_mbus_id option in the DSMR component.
Description check ✅ Passed The description is directly related to the changeset, explaining that it documents the thermal_mbus_id option exposed by a related esphome PR and includes a reference to the linked code changes.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


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: 15

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
content/components/climate/climate_ir.md (2)

359-359: ⚠️ Potential issue | 🟡 Minor

Fix typo in "protocols".

The word "protcols" should be spelled "protocols".

✏️ Proposed fix
-- **protocol** (**Required**, string): Choose one of Arduino-HeatpumpIR's supported protcols:
+- **protocol** (**Required**, string): Choose one of Arduino-HeatpumpIR's supported protocols:

361-367: ⚠️ Potential issue | 🟠 Major

Remove duplicate carrier_qlima_1 entry and modernize deprecated Hugo shortcodes.

The protocol carrier_qlima_1 is duplicated on line 361 and should appear only once. Additionally, this file uses legacy Hugo shortcodes that violate the coding guidelines:

  • Line 13: {{< img >}} should be replaced with standard Markdown image syntax
  • Lines 42, 48, 264, 322, 382, 387: {{< docref >}} should be replaced with standard Markdown links
🤖 Fix all issues with AI agents
In `@content/components/ch423.md`:
- Around line 64-65: Replace the legacy Hugo shortcodes {{< docref "switch/gpio"
>}} and {{< docref "binary_sensor/gpio" >}} with standard Markdown links that
point to the same documentation paths (e.g., convert each docref to a
Markdown-style link like [switch/gpio](/switch/gpio) or the appropriate
site-relative URL); update the two occurrences in ch423.md so the display text
and target path reflect the original docref argument (switch/gpio and
binary_sensor/gpio).

In `@content/components/display/hub75.md`:
- Line 98: The configuration docs for the "board" variable are missing the
recently added preset name; update the enumerated valid preset names under the
"board" configuration variable to include `huidu-hd-wf1` so it matches the
"Available Board Presets" section. Locate the list of valid preset names for the
board setting (the paragraph that enumerates presets) and add `huidu-hd-wf1` to
that enumeration, ensuring formatting matches the surrounding entries.

In `@content/components/display/mipi_dsi.md`:
- Around line 59-60: The sentence containing the date "October 14, 2025" needs a
comma after the year for correct punctuation and readability: update the text in
content/components/display/mipi_dsi.md so the clause reads "Units manufactured
before October 14, 2025, use the ILI9881C display driver with separate GT911
touch driver (use `M5STACK-TAB5`)." Keep the second clause referencing
`M5STACK-TAB5-V2` unchanged.

In `@content/components/display/mipi_spi.md`:
- Around line 134-137: The guidance text for the transform option contains a
sentence fragment ("Otherwise the options below:"); update the sentence to be a
complete instruction by replacing that fragment with a full sentence such as
"Otherwise, use one of the following options:" (or similar) so the paragraph for
the transform option (referencing transform, rotation, dimensions and the CUSTOM
model) reads clearly and grammatically correct.

In `@content/components/esp32.md`:
- Around line 252-257: The documentation for the use_full_certificate_bundle
option still uses the legacy Hugo shortcode {{< docref
"/components/http_request" >}}; replace that shortcode with a standard Markdown
link (e.g., [HTTP Request](/components/http_request) or the appropriate
relative/absolute URL) so the line referencing the HTTP request component uses
plain Markdown instead of {{< docref ... >}}—update the text around
use_full_certificate_bundle to use the new Markdown link.
- Around line 379-380: Replace the legacy Hugo docref shortcode '{{< docref
"/components/esphome#libraries" "libraries" >}}' with a standard Markdown link
using the link text "libraries" that points to /components/esphome#libraries;
update the sentence in the esp32.md content so it reads naturally with the
Markdown link in place of the shortcode.

In `@content/components/key_collector.md`:
- Line 132: Replace the Hugo shortcode occurrence {{< docref
"/components/text_sensor/key_collector" >}} with a standard Markdown link
pointing to the same target path — use a descriptive link text (e.g., "Key
collector" or "Text sensor key collector") and the URL
"/components/text_sensor/key_collector" so the line becomes a normal Markdown
link rather than the legacy {{< docref ... >}} shortcode.

In `@content/components/sensor/dlms_meter.md`:
- Around line 117-124: Replace the phrase "Provider specific sensors are listed
separately." with the hyphenated form "Provider-specific sensors are listed
separately." to maintain grammatical consistency for the "provider" field
description and the "Sensor" section; update the sentence where the keyword
"provider" appears in the doc (the line that currently reads "Not all sensors
are available on all meters. Provider specific sensors are listed separately.")
to use "Provider-specific".

In `@content/components/sensor/dsmr.md`:
- Around line 49-50: Update the thermal sensor OBIS code examples to use the
configurable variable instead of the hardcoded ID: locate every occurrence of
the hardcoded prefix "0-3:" used for thermal sensor OBIS codes (the OBIS
examples around the thermal sensor sections) and replace it with
"0-thermal_mbus_id:" so the documentation matches the documented configuration
option `thermal_mbus_id` (default 3) and follows the same pattern used for
`0-gas_mbus_id:` and `0-water_mbus_id:`.

In `@content/components/sensor/xiaomi_ble.md`:
- Around line 190-191: Fix the two typos in the NOTE block that currently reads
"PVVX firmare deprecated any other advertisment format other than "BTHome v2"
starting with version 6.0." — change "firmare" to "firmware" and "advertisment"
to "advertisement" (so the NOTE reads e.g. "PVVX firmware deprecated any other
advertisement format other than 'BTHome v2' starting with version 6.0.").
- Around line 596-599: The text currently references the wrong option name
`bind_key`; update the documentation to use the correct option name `bindkey`
everywhere in this paragraph (replace `bind_key` with `bindkey`) so it matches
the config schema and other docs, and keep the inline code formatting
(backticks) around `bindkey`.
- Line 627: Replace the Hugo shortcode instance {{< img src="telink_flasher.jpg"
alt="Image" caption="Telink flasher application." width="100.0%"
class="align-center" >}} with a standard Markdown image: use the file name as
the src, set the caption text "Telink flasher application." as the alt and/or
title text (e.g., alt text = "Telink flasher application." and title = "Telink
flasher application."), and preserve presentation (width/centering) by adding a
simple HTML wrapper or inline style around the Markdown image if needed to
maintain width:100% and center alignment.
- Around line 521-523: The YAML snippet sets bindkey without quotes which may
cause parsing/formatting inconsistencies; update the bindkey value to be a
quoted string (e.g., change bindkey: 0011223344... to bindkey: "0011223344...")
so it matches other examples and avoids YAML edge cases—modify the bindkey line
adjacent to mac_address in the Xiaomi BLE sensor example to include surrounding
quotes.

In `@content/components/text_sensor/key_collector.md`:
- Around line 10-11: Replace the Hugo docref shortcode usage in the text
mentioning the Key Collector with a standard Markdown link: find the phrase
containing {{< docref "/components/key_collector" "Key Collector" >}} and change
it to a Markdown link like [Key Collector](/components/key_collector) (or the
correct relative URL for the Key Collector docs) in both occurrences (around
lines referencing the Key Collector in this file and the other occurrence at
lines 42-43); ensure the display text remains "Key Collector" and that link
syntax conforms to standard Markdown.

In `@content/components/time/zigbee.md`:
- Around line 11-28: Replace the Hugo docref shortcodes with standard Markdown
links: change `{{< docref "/components/zigbee" "Zigbee" >}}` to a Markdown link
like [Zigbee](/components/zigbee), change `{{< docref
"/guides/configuration-types" "Time" >}}` to [Time](/guides/configuration-types)
and change `{{< docref "/components/time/" "Time Component" >}}` to [Time
Component](/components/time/); update the three occurrences in the text (the
first docref in the intro, the update_interval parenthetical, and the last See
Also list) so all docref shortcodes are replaced with their equivalent Markdown
links.
🧹 Nitpick comments (5)
content/components/water_heater/template.md (1)

143-143: Replace legacy docref shortcode with a standard Markdown link.

This file uses the legacy {{< docref >}} shortcode. Please replace it with a regular Markdown link. As per coding guidelines, “Hugo shortcode {{< docref >}} is legacy and should be replaced with standard Markdown links.”

content/components/sensor/pmsx003.md (1)

128-129: Replace legacy docref shortcodes with Markdown links.

The Markdown guideline forbids {{< docref >}}. Please switch to standard Markdown links.

🔧 Proposed fix
-- {{< docref "/components/sensor/aqi" >}}
-- {{< docref "/components/sensor/sds011" >}}
+- [AQI Sensor](/components/sensor/aqi)
+- [SDS011 Particulate Matter Sensor](/components/sensor/sds011)

As per coding guidelines: “Hugo shortcode {{< docref >}} is legacy and should be replaced with standard Markdown links.”

content/components/display/mipi_dsi.md (1)

69-69: Replace legacy {{< img >}} shortcode with Markdown image syntax.

The docs guideline deprecates {{< img >}}. Use standard Markdown image syntax instead.
As per coding guidelines, "Hugo shortcode {{< img >}} is legacy and should be replaced with standard Markdown image syntax".

♻️ Suggested change
-{{< img src="tab5-version-label.jpg" alt="Tab5 version label showing model identification" width="50%" class="align-center" >}}
+![Tab5 version label showing model identification](tab5-version-label.jpg)
content/components/binary_sensor/status.md (1)

24-25: Replace legacy docref shortcode with a Markdown link.

The changed line uses the legacy {{< docref >}} shortcode, which the guidelines disallow in .md files.

🔧 Proposed fix
-- **update_interval** (*Optional*, {{< docref "/guides/configuration-types#time" "Time" >}}): The interval
+- **update_interval** (*Optional*, [Time](/guides/configuration-types#time)): The interval

As per coding guidelines: “**/*.md: Hugo shortcode {{< docref >}} is legacy and should be replaced with standard Markdown links.”

content/components/climate/climate_ir.md (1)

353-353: Consider hyphenating "third-party" for grammatical correctness.

When "third party" modifies "library" as a compound adjective, it should be hyphenated as "third-party library" per standard English grammar rules.

📝 Proposed fix
-This platform works with the `arduino` framework and ESP-IDF (on ESP32), and should only be used if your AC unit is not supported by any of the other (native) platforms from above. No support can be provided for Arduino-HeatpumpIR, because it is a third party library.
+This platform works with the `arduino` framework and ESP-IDF (on ESP32), and should only be used if your AC unit is not supported by any of the other (native) platforms from above. No support can be provided for Arduino-HeatpumpIR, because it is a third-party library.

@PolarGoose
Copy link
Contributor

You have specified the wrong target branch. You should use next instead of current.
Also, you need to fix this review comment: https://github.com/esphome/esphome-docs/pull/6067/changes#r2798554084

@thomwiggers thomwiggers changed the base branch from current to next February 12, 2026 13:51
@esphome esphome bot added the next label Feb 12, 2026
@esphome esphome bot dismissed their stale review February 12, 2026 13:51

Base branch has been corrected - dismissing previous review.

@thomwiggers
Copy link
Author

oops, I even rebased on next before pushing 🙄

@thomwiggers thomwiggers marked this pull request as ready for review February 12, 2026 13:56
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.

2 participants