Skip to content

Put esphome_dsmr's host API fields on their own lines - #134

Merged
frahlg merged 1 commit into
mainfrom
fix/esphome-dsmr-host-api-lines
Sep 25, 2026
Merged

frahlg merged 1 commit into
mainfrom
fix/esphome-dsmr-host-api-lines

Conversation

@frahlg

@frahlg frahlg commented Sep 25, 2026

Copy link
Copy Markdown
Member

Follow-up to #132.

FTW now bundles the real esphome_dsmr source. That source had host_api_min and host_api_max on the DRIVER = { line. FTW reads DRIVER fields line by line, so its bundled copy could not state its host API. The publication check in FTW's CI refused it: esphome_dsmr.lua: managed driver must declare host_api_min and host_api_max (srcfl/ftw#1429).

Change:

  • Each DRIVER field is on its own line, as in every other driver.
  • esphome_dsmr goes to 1.0.5. There is no behaviour change.
  • The artifact test now requires every host API statement to agree, instead of exactly one. The channel header and the driver's own table both state the range, as for every other driver with a DRIVER table.

Evidence:

  • make check: 4644 passed.
  • FTW's ftw-driver-repository publish -unsigned accepts the bundled set with this file: "published 40 drivers".

FTW reads DRIVER fields line by line. With host_api_min and host_api_max
on the "DRIVER = {" line, FTW's bundled copy of esphome_dsmr 1.0.4 could
not state its host API and FTW's publication check refused it. Each field
is now on its own line, as in every other driver. No behaviour change.

The artifact check now asks that every host API statement agrees: the
channel header and the driver's own table both state the range, as for
every other driver with a DRIVER table.

Signed-off-by: Fredrik Ahlgren <fredrik@sourceful-labs.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-25T07:49:28.869252Z 8135cdc PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@frahlg
frahlg merged commit 43710c8 into main Sep 25, 2026
5 checks passed
@frahlg
frahlg deleted the fix/esphome-dsmr-host-api-lines branch September 25, 2026 07:52
frahlg added a commit to srcfl/ftw that referenced this pull request Sep 25, 2026
srcfl/device-drivers#134 puts esphome_dsmr's host API fields on their
own lines; FTW reads DRIVER fields line by line and its publication
check refused the 1.0.4 file. The bundled set now publishes cleanly.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MuerPFZFG88kgu8sWVHeq7
frahlg added a commit to srcfl/ftw that referenced this pull request Sep 25, 2026
…#1429)

* fix(drivers): one id per driver, from the bundled copy to the channel

Moves the pin to srcfl/device-drivers#132, where every driver's DRIVER
table states the catalog id and version. FTW's identity rule for the
old spellings (IdentifiesSameDriver) goes: a bundled copy and a channel
artifact are the same driver when their ids are equal.

- Catalog tests look drivers up by the catalog ids.
- The recovery-snapshot provenance test for esphome_dsmr is gone: the
  bundled file is now the driver's source, and sync-bundled-drivers.sh
  --check already binds every bundled file to the pinned commit.
- setup.js recognises the Zap driver by its id `zap`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MuerPFZFG88kgu8sWVHeq7

* docs(release): promote the driver channel as the last stable step

drivers-stable only serves installs that read the channel (1.x-3.x) and
the stable rows of the Versions list; 0.x runs the drivers its release
bundles. Promoting it is one existing command after a stable Core
release, not new automation. The proposal to promote it with Core goes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MuerPFZFG88kgu8sWVHeq7

* fix(drivers): pin the merged one-id device-drivers commit

Moves the pin to bcf4683, srcfl/device-drivers#132 as merged on main,
instead of the branch commit it was tested against before its rebase.
The changeset no longer says esphome-dsmr is gone: #132 keeps that
catalog entry for sites that installed it. The stable promotion step
says what to do when main has moved past drivers-beta.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MuerPFZFG88kgu8sWVHeq7

* docs(agents): a driver selection survives updates and rollbacks

Matches #1428: a newer release driver runs over an early selection
without discarding it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MuerPFZFG88kgu8sWVHeq7

* fix(drivers): pin device-drivers 43710c8 (esphome_dsmr 1.0.5)

srcfl/device-drivers#134 puts esphome_dsmr's host API fields on their
own lines; FTW reads DRIVER fields line by line and its publication
check refused the 1.0.4 file. The bundled set now publishes cleanly.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MuerPFZFG88kgu8sWVHeq7

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant