Skip to content

feat(acuvim): migrate Accuenergy Acuvim II meter from Blixt L1 registry - #90

Merged
frahlg merged 2 commits into
mainfrom
migrate/acuvim
Aug 19, 2026
Merged

feat(acuvim): migrate Accuenergy Acuvim II meter from Blixt L1 registry#90
frahlg merged 2 commits into
mainfrom
migrate/acuvim

Conversation

@davmoz

@davmoz davmoz commented Aug 18, 2026

Copy link
Copy Markdown
Member

Migration of a Blixt L1 read-only meter driver into the catalog.

Driver: Accuenergy Acuvim II three-phase revenue-grade meter via Modbus RTU/TCP — one bundled FC03 float32 block; POI meter on Blixt L1 sites.

Source: the Blixt L1 driver source, version 0.4.1. Byte-for-byte except:

  • Catalog header (PROTOCOL, DRIVER) added above the existing DRIVER_MANIFEST (sdm630/foxess pattern).
  • meter.ac_W → canonical meter.W (Blixt L1 reads both).
  • Bounded probe of the 0x4048 energy block: after 3 refused reads the driver stops asking and leaves the kWh fields out of the emit, instead of failing a read every poll (test_absent_register_settles).

Community tier, read-only, ders: [meter]. make check green.

Safety

Read-only meter; no control path, no writes.

Package or promotion evidence

Control enabled: false. No package in this PR.

frahlg commented Aug 19, 2026

Copy link
Copy Markdown
Member

Automated review pass: make check and make test-driver ID=acuvim are green (3684 passed), the diff is additive-only, read-only/sign-convention rules are followed, and the manifest/Lua DRIVER block agree.

One gap before merge: manifests/acuvim.yaml has no upstream_docs entry. AGENTS.md requires recording the vendor documents a driver was decoded from ("register map, parameter changelog, API reference... at the most durable URL available"), and the driver comments already cite Accuenergy's public "ACUVIM II MODBUS MAP" document (1040E1303) — that just needs to move into the manifest's upstream_docs block (see nibe_local/myuplink for the shape) so the weekly watcher can track it.

Holding merge until that's added — should be a small follow-up push. Everything else here looks solid (community tier, verification_status: experimental is an honest claim per the PR's own evidence).


Generated by Claude Code

David Mozart and others added 2 commits August 19, 2026 10:26
Source is acuvim@0.4.1 exactly as served by the Blixt L1 device-support
registry (devnet), with the catalog header (PROTOCOL + DRIVER) added
above the existing DRIVER_MANIFEST and two changes the suite asked
for:

- emit canonical meter.W instead of ac_W (Blixt L1 reads both);
- probe the 0x4048 energy block a bounded number of times and stop
  when the meter never answers it — the host counts every failed read
  against the poll (test_absent_register_settles).

Community tier, read-only; no HIL record in this repository yet.

Signed-off-by: David Mozart <david@sourceful-labs.com>
Record the vendor user manual (1040E1303) and the Acuvim II Modbus map
v1.07 in the manifest so the weekly watcher can notice if either
document moves or disappears.

Signed-off-by: Fredrik Ahlgren <fredrik@sourceful-labs.com>
@frahlg

frahlg commented Aug 19, 2026

Copy link
Copy Markdown
Member

Rebased onto current main (kept the Blixt-migration Added bullets; acuvim sits at the top of Unreleased/Added). Added upstream_docs for the Accuenergy Acuvim II user manual (1040E1303) and Modbus map v1.07. Lua hash/size unchanged.

Local checks: make test-driver ID=acuvim (42 passed, 11 skipped) and make check (3933 passed, 1400 skipped; public boundary, manifests, index, devices, support status, sandbox).

@frahlg
frahlg merged commit e6cf92c into main Aug 19, 2026
6 checks passed
@frahlg
frahlg deleted the migrate/acuvim branch August 19, 2026 08:30
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.

2 participants