Add configurable optimizer area sensors

This commit is contained in:
2026-08-10 12:25:43 +02:00
parent dc6b2dc71a
commit 02bb4a831e
16 changed files with 643 additions and 21 deletions
@@ -64,6 +64,15 @@ class OptimizerSnapshot:
"""Return readings indexed by optimizer serial number."""
return {optimizer.serial: optimizer for optimizer in self.optimizers}
@property
def optimizers_by_id(self) -> dict[str, OptimizerData]:
"""Return readings indexed by logical optimizer ID."""
return {
optimizer.optimizer_id: optimizer
for optimizer in self.optimizers
if optimizer.optimizer_id is not None
}
class SolarEdgeOptimizerApiClient:
"""Read the local SolarEdge Optimizer Data App API."""