Skip to content

r202639: circuit feeds role - #205

Merged
cayossarian merged 3 commits into
prerelease/3.8from
feat/feeds-role
Oct 9, 2026
Merged

cayossarian merged 3 commits into
prerelease/3.8from
feat/feeds-role

Conversation

@cayossarian

Copy link
Copy Markdown
Member

r202639: each circuit reports its declared feeds role.

  • New field SpanCircuitSnapshot.feeds_role: FeedsRole | None, read from connection/feeds-role. None where the role is undeclared, unpublished, or outside the role set.
  • FeedsRole (a Literal of the seven roles) and FEEDS_ROLES are exported.
  • A circuit's connection/feeds-role is now an addressed property, so it is no longer reported as a discovery row.
  • The role changes nothing else: device_type stays as published and no inverter is made up for a solar role. The two acceptance tests that expect a solar circuit to read pv stay registered as known divergences.

Stacked on #201.

Checks:

  • pytest tests -q: 1578 passed, 7 skipped, 14 xfailed (28 new).
  • pre-commit run --all-files: all hooks pass (ruff, black, mypy, pylint, bandit, vulture, coverage 96.54%).

SpanCircuitSnapshot.feeds_role reports a circuit's
connection/feeds-role as a FeedsRole, one of LOADS, SUBPANEL, SOLAR,
STORAGE, GENERATOR, MIXED or UNUSED. It is None where the circuit
declares no role, has not published it, or publishes a value outside
that set. The role changes nothing else: device_type stays as
published, and no inverter is made up for a circuit whose role is
solar. FeedsRole and FEEDS_ROLES are exported.

Part of the spanos3/r202639/03 batch 2 work.
The snapshot now reads a circuit's connection/feeds-role into
feeds_role, so it is an addressed property and no longer a discovery
row. The reference tree declares no role, so the discovery experiment
proves the entry on a circuit given the declaration.

Part of the spanos3/r202639/03 batch 2 work.
@cayossarian
cayossarian changed the base branch from feat/panel-positions to prerelease/3.8 October 9, 2026 15:14
@cayossarian cayossarian closed this Oct 9, 2026
@cayossarian cayossarian reopened this Oct 9, 2026
@cayossarian
cayossarian merged commit b8f5d29 into prerelease/3.8 Oct 9, 2026
7 checks passed
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.

1 participant