Skip to content

Conversation

@Awienert
Copy link

@Awienert Awienert commented Nov 30, 2025

Draft – Proposal for New Inverter Architecture

This PR is a draft and a proposal introducing a new inverter architecture.

What's new

BaseInverter: shared abstract base class providing a unified interface and reducing duplicate logic.

InverterFactory: creates inverter instances based on config, making it easier to add new inverter types.

Why

cleaner structure

easier extensibility

consistent API for all inverters

@ohAnd ohAnd changed the base branch from main to develop December 7, 2025 19:30
…onius inverter interfaces with unit tests

- Created `inverter_factory.py` to manage inverter instantiation based on configuration.
- Introduced `NullInverter` class for display-only mode and EVCC integration, implementing no-op methods.
- Developed `VictronInverter` class as a stub for future Modbus/TCP integration.
- Added `FroniusLegacy` and `FroniusV2` classes with comprehensive unit tests covering initialization, capabilities, and API interactions.
- Implemented unit tests for `NullInverter`, `VictronInverter`, and `Fronius` inverters to ensure compliance with expected behaviors.
- Established test fixtures for consistent configuration across tests.
@ohAnd
Copy link
Owner

ohAnd commented Dec 14, 2025

@Awienert needed a longer journey ... ;-) - was a lot broken ...

But I followed your approach, but restructered a little...

So please finalize your specific integrations for victron src/interfaces/inverters/victron.py

And if done and tested we can go to develop branch.

@Awienert
Copy link
Author

@ohAnd Sorry for the broken parts — my environment was working 🙂
It is now open for different inverters. I will create the Victron integration ASAP.

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