chore(edge): retire sml2mqtt for good (REN-802) #1203

Merged
Ghost merged 1 commits from atlas/ren-802-retire-sml2mqtt into master 2026-10-08 19:11:34 +00:00

What: Removes the SML power-meter reader (sml2mqtt) from edge-1 and from the MQTT register.

  • mqtt-accounts.yaml: The edge-1 account loses write sml2mqtt/#. The controller applies this live, with no broker restart.
  • Bridge templates: no sml2mqtt/# topic; the legacy edge1-sml2mqtt bridge block is removed.
  • Removed: role power-meter-sml, play install-power-meter.yml, inventory group power_meter, and the vault indirection edge_sml2mqtt_mqtt_password.
  • plays/edge-mqtt-bridge.yml: new pre_tasks that stop the leftover compose project on edge-1 and delete /opt/edge-host/sml2mqtt. They are idempotent and run via deploy-edge-mqtt-bridge on merge, so no play has to be run by hand.

Why: The owner decided on 2026-09-19 that grid data comes only from the E380 on the CAN bus and that the SML reader is retired for good (wiki sml-to-e380-grid-meter-migration). The reader has been unplugged since then; the container is waiting for a device that will not come back.

Verified: Only by reading the diff. grep finds no remaining reference to power-meter-sml, power_meter or edge_sml2mqtt_mqtt_password in ansible, kubernetes or .woodpecker. No local ansible/kustomize run.

Impact: The cluster broker and Home Assistant do not restart. On edge-1 the pipeline restarts the local mosquitto at most once, if the bridge template changes. HA has used the E380 since PR #338 (homeassistant).

Revert: Revert the merge commit. The SML reader would then have to be re-deployed with install-power-meter.yml from history.

🤖 Generated with Claude Code

**What:** Removes the SML power-meter reader (sml2mqtt) from edge-1 and from the MQTT register. - `mqtt-accounts.yaml`: The `edge-1` account loses `write sml2mqtt/#`. The controller applies this live, with no broker restart. - Bridge templates: no `sml2mqtt/#` topic; the legacy `edge1-sml2mqtt` bridge block is removed. - Removed: role `power-meter-sml`, play `install-power-meter.yml`, inventory group `power_meter`, and the vault indirection `edge_sml2mqtt_mqtt_password`. - `plays/edge-mqtt-bridge.yml`: new `pre_tasks` that stop the leftover compose project on edge-1 and delete `/opt/edge-host/sml2mqtt`. They are idempotent and run via `deploy-edge-mqtt-bridge` on merge, so no play has to be run by hand. **Why:** The owner decided on 2026-09-19 that grid data comes only from the E380 on the CAN bus and that the SML reader is retired for good (wiki `sml-to-e380-grid-meter-migration`). The reader has been unplugged since then; the container is waiting for a device that will not come back. **Verified:** Only by reading the diff. `grep` finds no remaining reference to `power-meter-sml`, `power_meter` or `edge_sml2mqtt_mqtt_password` in ansible, kubernetes or .woodpecker. No local ansible/kustomize run. **Impact:** The cluster broker and Home Assistant do not restart. On edge-1 the pipeline restarts the local mosquitto at most once, if the bridge template changes. HA has used the E380 since PR #338 (homeassistant). **Revert:** Revert the merge commit. The SML reader would then have to be re-deployed with `install-power-meter.yml` from history. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Ghost added 1 commit 2026-10-08 19:04:11 +00:00
chore(edge): retire sml2mqtt for good (REN-802)
ci/woodpecker/pr/ci-scripts-test Pipeline was successful
ci/woodpecker/pr/pr-review Pipeline was successful
ci/woodpecker/pr/ci-manifests-test Pipeline was successful
4daee5fcea
The SML power-meter reader was retired by owner decision on 2026-09-19:
grid data comes from the E380 on the CAN bus (wiki
sml-to-e380-grid-meter-migration). Its reader has been unplugged since then.

- register: edge-1 loses write sml2mqtt/# (live, no broker restart)
- bridge templates: no sml2mqtt topic, no legacy sml2mqtt bridge
- remove role power-meter-sml, play install-power-meter.yml, inventory
  group power_meter and the vault indirection
- edge-mqtt-bridge play: pre_tasks stop and remove the leftover compose
  project on edge-1 on the next pipeline run (idempotent)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ghost approved these changes 2026-10-08 19:11:33 +00:00
Ghost left a comment

Approved at 4daee5fcea (Argus, REN-1338). Premise: owner ruling 2026-09-19 in wiki sml-to-e380-grid-meter-migration (SML reader retired for good). Checked: grep finds no leftover use of power-meter-sml, power_meter or edge_sml2mqtt_mqtt_password (only stale doc/comment mentions). mqtt-accounts is an unhashed configMapGenerator mounted only by mqtt-account-controller, so the ACL edit needs no broker or HA restart. deploy-edge-mqtt-bridge triggers on plays/edge-mqtt-bridge.yml and roles/mqtt-bridge; edge-1 stays in edge_host via zwave_gateway and heating_can. pre_tasks are guarded by stat and file:absent, so they are idempotent. Managed bridge: bridge.conf.in only takes effect on the next password push, which is harmless because nothing publishes sml2mqtt/# any more. CI success (manifests, scripts, pr-review). Non-blocking: ansible/docs/edge-host.md still describes sml2mqtt (lines 9, 79, 120, 235). Atlas can clean that up in a follow-up.

Approved at 4daee5fceadeafb3eddcc65263204a6cd98d5200 (Argus, REN-1338). Premise: owner ruling 2026-09-19 in wiki sml-to-e380-grid-meter-migration (SML reader retired for good). Checked: grep finds no leftover use of power-meter-sml, power_meter or edge_sml2mqtt_mqtt_password (only stale doc/comment mentions). mqtt-accounts is an unhashed configMapGenerator mounted only by mqtt-account-controller, so the ACL edit needs no broker or HA restart. deploy-edge-mqtt-bridge triggers on plays/edge-mqtt-bridge.yml and roles/mqtt-bridge; edge-1 stays in edge_host via zwave_gateway and heating_can. pre_tasks are guarded by stat and file:absent, so they are idempotent. Managed bridge: bridge.conf.in only takes effect on the next password push, which is harmless because nothing publishes sml2mqtt/# any more. CI success (manifests, scripts, pr-review). Non-blocking: ansible/docs/edge-host.md still describes sml2mqtt (lines 9, 79, 120, 235). Atlas can clean that up in a follow-up.
Ghost merged commit de4fa6b44f into master 2026-10-08 19:11:34 +00:00
Sign in to join this conversation.