Fold esphome-dsmr into esphome_dsmr - #135
Conversation
esphome-dsmr and esphome_dsmr were one driver for one device under two
catalog ids. esphome_dsmr 1.0.6 declares replaces = { "esphome-dsmr" }
in its DRIVER table so a host can move a device that runs the old entry,
and the esphome-dsmr source and manifest go. Its published artifacts
stay in the signed channel's history, so installed copies keep running.
Signed-off-by: Fredrik Ahlgren <fredrik@sourceful-labs.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f85824d479
ℹ️ 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| @@ -1,27 +0,0 @@ | |||
| name: "esphome-dsmr" | |||
| version: "1.0.3" | |||
There was a problem hiding this comment.
Record published 1.0.3 before deleting the manifest
The commit states that esphome-dsmr 1.0.3 has already been downloaded, but driver-history.json records only 1.0.1 and 1.0.2. After this manifest is deleted, tools/generate_history.py no longer scans the driver's Git history and merely carries forward those existing entries, so 1.0.3 can never be added by the normal release command. Preserve the published 1.0.3 entry before removing the catalog source so its exact bytes and originating commit remain traceable.
Useful? React with 👍 / 👎.
srcfl/device-drivers#135 folded the catalog entry esphome-dsmr into esphome_dsmr, which declares replaces = { "esphome-dsmr" } in its DRIVER table. At start, a configured driver that runs the owner's selection of a replaced driver now names the release's file, the old selection ends, and the settings are saved. An operator's own file of the old name is left alone. The pin moves to device-drivers 92adaf0. Claude-Session: https://claude.ai/code/session_01MuerPFZFG88kgu8sWVHeq7 Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Last open piece of the one-id work (srcfl/ftw#1423).
esphome-dsmrandesphome_dsmrwere one driver for one device under two catalog ids. #132 kept both because sites installedesphome-dsmrfrom the channel: its artifacts have 38 beta and 11 stable downloads.Change:
esphome_dsmr1.0.6 declaresreplaces = { "esphome-dsmr" }in itsDRIVERtable.esphome-dsmrsource and manifest are removed.Installed copies:
esphome-dsmrartifact stays in the signed channel's history. FTW's runtime policy looks installs up indriversandhistory, so an installed copy keeps running.esphome-dsmrto the bundledesphome_dsmrat start. It rewrites the configured driver file and ends the old selection, readingreplacesfrom the bundled driver.Evidence:
make check: 4594 passed.tools/ftw_repository.py check-versionsagainst the published drivers-beta manifest reports{"added": [], "changed": ["esphome_dsmr"], "drivers": 87}.