Catch CLAUDE.md up with the firmware-updates merge #80

Merged
rob merged 2 commits from docs/claude-md-updates into main 2026-09-21 06:08:49 +00:00
Collaborator

CLAUDE.md described a repository from before PR #53 landed. Verified each stale claim against the code rather than assuming:

  • BULK transport and the WiFi/OTA paths are implemented (updater/session.py, updater/radio.py) — dropped from "Not yet implemented". CMD_HOLD/STATE_MOMENTARY (still refused explicitly in valve.py), DIAG (test_traffic.py picks a DIAG type specifically because "the DIAG family is not built yet"), and the CCT/heater message families (defined in the catalogue but not wired into any entity) are all still genuinely unbuilt, so they stay.
  • "No networking outside CAN" is rewritten as "the van's control function never depends on a network" — the updater fetches releases and raises a hotspot, but that's not the control path. Matches README's own "while it is running" framing.
  • can0 is generalised: the van is wired to can1, and the interface name comes from the config flow (confirmed in updater/api.py's /api/interface/<name> route and custom_components/campervan/firmware.py).
  • Added a short paragraph on the third updater container: loopback control API on 127.0.0.1:8787, told which CAN interface to use, drives NetworkManager for the campervan-ota hotspot, serves images on port 8080.
  • Firmware version bullet now says the uint16 is a packed CalVer (protocol/versions.py), 0x0000 meaning a development build.
  • Tickets line now covers both Home Assistant Integration and Updates - HA.

Checked README.md too — it already reflects the current state and nothing there needed to change. No ticket for this one; docs-only, nothing to test.

CLAUDE.md described a repository from before PR #53 landed. Verified each stale claim against the code rather than assuming: - `BULK` transport and the WiFi/OTA paths are implemented (`updater/session.py`, `updater/radio.py`) — dropped from "Not yet implemented". `CMD_HOLD`/`STATE_MOMENTARY` (still refused explicitly in `valve.py`), `DIAG` (`test_traffic.py` picks a DIAG type specifically because "the DIAG family is not built yet"), and the CCT/heater message families (defined in the catalogue but not wired into any entity) are all still genuinely unbuilt, so they stay. - "No networking outside CAN" is rewritten as "the van's control function never depends on a network" — the updater fetches releases and raises a hotspot, but that's not the control path. Matches README's own "while it is running" framing. - `can0` is generalised: the van is wired to `can1`, and the interface name comes from the config flow (confirmed in `updater/api.py`'s `/api/interface/<name>` route and `custom_components/campervan/firmware.py`). - Added a short paragraph on the third `updater` container: loopback control API on `127.0.0.1:8787`, told which CAN interface to use, drives NetworkManager for the `campervan-ota` hotspot, serves images on port `8080`. - Firmware version bullet now says the `uint16` is a packed CalVer (`protocol/versions.py`), `0x0000` meaning a development build. - Tickets line now covers both *Home Assistant Integration* and *Updates - HA*. Checked README.md too — it already reflects the current state and nothing there needed to change. No ticket for this one; docs-only, nothing to test.
Catch CLAUDE.md up with the firmware-updates merge
All checks were successful
Lint, type check and test / hassfest (pull_request) Successful in 10s
Lint, type check and test / quality (pull_request) Successful in 1m44s
Lint, type check and test / release (pull_request) Has been skipped
b969b83c3c
Claude left a comment

Checked every fact against the code on this branch (updater/api.py, updater/config.py, updater/radio.py, protocol/versions.py, config_flow.py, const.py, valve.py, catalogue.py, light.py, switch.py, README.md, rpi-setup.md) — all hold up. One prose nit worth a fix, nothing blocking.

Checked every fact against the code on this branch (updater/api.py, updater/config.py, updater/radio.py, protocol/versions.py, config_flow.py, const.py, valve.py, catalogue.py, light.py, switch.py, README.md, rpi-setup.md) — all hold up. One prose nit worth a fix, nothing blocking.
@ -18,2 +18,4 @@
this integration, and it is not a stale leftover to delete.
A third container, `updater`, does run too — the Pi host side of firmware
updates. It talks to the integration over a loopback control API on
Author
Collaborator

This sentence has three parallel verbs on "It" (talks to / drives / serves), but the first one is interrupted by a long "which is how it is told..." clause before the second verb arrives. On a first read "drives NetworkManager" reads like it might still be inside that clause rather than the next item in the list. Worth splitting, e.g.: "It talks to the integration over a loopback control API on 127.0.0.1:8787, which is how it is told which CAN interface to use rather than guessing or reading an environment variable. It also drives NetworkManager to raise the campervan-ota hotspot, and serves images to nodes on port 8080."

This sentence has three parallel verbs on "It" (talks to / drives / serves), but the first one is interrupted by a long "which is how it is told..." clause before the second verb arrives. On a first read "drives NetworkManager" reads like it might still be inside that clause rather than the next item in the list. Worth splitting, e.g.: "It talks to the integration over a loopback control API on `127.0.0.1:8787`, which is how it is told which CAN interface to use rather than guessing or reading an environment variable. It also drives NetworkManager to raise the `campervan-ota` hotspot, and serves images to nodes on port `8080`."
Take the review: split the updater paragraph so it reads in one pass
All checks were successful
Lint, type check and test / hassfest (pull_request) Successful in 10s
Lint, type check and test / quality (pull_request) Successful in 1m49s
Lint, type check and test / release (pull_request) Has been skipped
2a39e690e8
rob merged commit 33e9a83c8f into main 2026-09-21 06:08:49 +00:00
rob deleted branch docs/claude-md-updates 2026-09-21 06:08:49 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rob/CampervanHomeAssistant!80
No description provided.