Skip to content

v0.9.30

Choose a tag to compare

@btli btli released this 31 May 03:17
· 14 commits to main since this release
68721a6

What's new

Feature detection (eg4-xi8)

  • InverterFeatures.from_family(family, device_type_code=None) — resolve the canonical family-default capability set from a model family (with an optional device type code). A matching code is authoritative; unambiguous families (EG4_OFFGRID, EG4_HYBRID) use a representative code; ambiguous LXP (EU three-phase vs LB split-phase) and UNKNOWN return None so callers can fall back conservatively. This lets the eg4_web_monitor integration source feature capabilities from pylxpweb instead of a duplicate hand-rolled table.

Dead-code cleanup (eg4-fsh, from 0.9.x main)

  • Removed the shadowed/unreachable registers.py module (superseded by the registers/ package).
  • Documented the weekly (7-day) schedule register layout (regs 500-723) as authoritative reserved definitions, gated by reg 233 bit 3 vs the live daily 3-period schedule (regs 68-89).

Validation

  • Full suite: 2025 passed. ruff + mypy --strict clean. Adversarial review: no logic issues.