Skip to content

Conversation

@ohAnd
Copy link
Owner

@ohAnd ohAnd commented Oct 29, 2025

This pull request introduces support for multiple optimization backends in EOS Connect, refactors backend selection and configuration, and improves documentation to guide users through the new setup. The most significant changes include the addition of a generic optimization interface, support for backend selection in configuration and documentation, and the implementation of a dedicated EOS backend class.

Backend selection and configuration:

  • Added support for selecting the optimization backend (eos_server, evcc_opt, or default) via the new eos.source configuration option in src/CONFIG_README.md and the default config generation in src/config.py. This allows users to choose between the full-featured EOS and the lightweight EVCC Opt backend. [1] [2] [3] [4] [5]

Documentation improvements:

  • Updated README.md and configuration documentation to reflect the new backend selection, setup steps, and configuration options, making it easier for users to understand and use the new features. [1] [2]

Codebase refactoring for backend abstraction:

  • Replaced direct usage of EosInterface with a new generic OptimizationInterface in src/eos_connect.py, enabling flexible backend selection based on configuration. [1] [2] [3]
  • Added reporting of the currently used optimization backend in the API responses for improved transparency.

New backend implementation:

  • Added a new EOSBackend class in src/interfaces/optimization_backends/optimization_backend_eos.py to encapsulate all interactions with the EOS optimization server, including optimization requests, configuration management, and measurement data handling.

ohAnd added 6 commits October 28, 2025 14:13
- Introduced OptimizationInterface class to serve as an abstraction layer for interacting with EOS and EVCC Opt optimization backends.
- Implemented methods for optimization, control data examination, and scheduling management.
- Added functionality to calculate the next optimal run time and retrieve EOS version from the backend.
- Created unit tests for OptimizationInterface, covering backend selection, response handling, and error management.
- Included a dummy backend for testing integration without actual backend dependencies.
@ohAnd ohAnd merged commit d617a49 into develop Oct 29, 2025
6 of 7 checks passed
ohAnd added a commit that referenced this pull request Nov 1, 2025
* fix: improve error handling for missing solar forecast data in EVCC API

* fix: enhance logging for invalid sensor data processing in LoadInterface

* fix: improve error handling and logging for EVCC API forecast retrieval

* fix: enhance error handling and logging in PV forecast_solar retrieval

* fix: enhance error handling and logging for PV forecast akkudoktor and openmeteo lib retrieval

* fix: improve error handling and logging for EOS version retrieval and connection issues - close Connection problem
Fixes #72

* docs: update installation instructions for EOS Connect and Home Assistant add-ons - touches #72 Connection problem

* fix: disable debug logging for loadpoints and EVCC state fetching

* [AUTO] Update version to 0.1.24.122-develop

Files changed:
M	src/version.py

* fix: implement retry mechanism for price retrieval failures

* fix: enhance PV forecast retrieval with timezone-aware processing and error handling - fixing evcc change at 0.208.1 - touches #89

* fix: update datetime handling for historical energy data to use timezone-aware processing due to deprecated functions

* refactor: remove unused load profile creation methods and improve fallback logic for historical data - fix In EOS connect Grafik wird Load nicht angezeigt.
Fixes #97

* [AUTO] Update version to 0.1.24.123-develop

Files changed:
M	src/version.py

* refactor: remove pvlib dependency and implement custom solar position and angle of incidence calculations

* fix: enhance temperature forecast retrieval with error handling and default fallback

* feat: add Solcast integration for high-precision solar forecasting and update configuration documentation - fix feature request: solcast data from home assistant
Fixes #100

* fix: increase precision of hourly price calculations to 9 decimal places - fix smartenergy_at prices deviate
Fixes #98

* [AUTO] Update version to 0.1.24.124-develop

Files changed:
M	src/version.py

* fix: handle scale factor 0 from EVCC

* [AUTO] Update version to 0.1.24.126-develop

Files changed:
M	src/version.py

* fix: improve error messages and refactor variable names for clarity in PvInterface

* fix: rename timezone parameter to tz_name for consistency and clarity

* feat: implement in-memory logging handler with API endpoints for log retrieval and management

* full refactoring of UI backend + integration of ui log viewer

* fix: update logging prefixes for consistency and clarity across API and control modules

* feat: introduce web ui system log view with several filters and alert dashboard incl. notification via menu and menu entries

* fix: update showSchedule function to include data_controls parameter for enhanced schedule management

* fix: conditions in evcc state overrides

* fix: adjust font sizes for mobile responsiveness in main and full-screen overlays

* feat: implement full-screen override controls menu and enhance UI interactions + new info popup

* feat: add EOS Connect icons for control modes and update ControlsManager and ScheduleManager to utilize them

* fix: update logging.js for improved functionality and compatibility

* [AUTO] Update version to 0.1.24.128-develop

Files changed:
M	src/version.py

* update version prefix in Docker workflows to 0.2.x

* [AUTO] Update version to 0.2.01.129-develop

Files changed:
M	src/version.py

* fix: web api pathes for logger to align also with HA addon

* [AUTO] Update version to 0.2.01.130-develop

Files changed:
M	src/version.py

* refactor: improve code formatting and enhance timestamp handling in MemoryLogHandler

* feat: clickable links and log [Main] with color in web logger

* feat: web logger adding search filter

* feat: create generated bug report for github issue

* fix: correct condition for determining current mode at hour in showSchedule

* [AUTO] Update version to 0.2.01.131-develop

Files changed:
M	src/version.py

* refactor: update test mode handling and improve variable naming in data fetching methods
fix: correct max charge power retrieval in schedule manager
style: comment out console logs in menu notifications

* [AUTO] Update version to 0.2.01.132-develop

Files changed:
M	src/version.py

* feat: add override modes to test scenarios and update HTML for selection

* feat: enhance override menu with better order for duration selection and grid charge power controls - touches #105

* feat: add fixed price adder and relative price multiplier to price calculations for akkudoktor/ default price source - fix Excluded taxes and grid fees lead to wrong optimization
Fixes #88 and Modul 3 Prices - TOU - static/ dynamic prices - grid fees
touches #51

* feat: add fixed price adder and relative price multiplier to configuration readme for default price source

* feat: update bug report manager to use EOS_connect repository for bug reports

* feat: refactor optimization scheduler and control logic for improved state management and runtime calculations -  Real-Time Price Response with EOS Connect: Supporting 15-Minute Intervals (and timed executions)
touches #104

* [AUTO] Update version to 0.2.01.133-develop

Files changed:
M	src/version.py

* feat: enhance optimization scheduling logic to support first run alignment and improve quarter-hour synchronization

* feat: implement background price update service in PriceInterface for improved data retrieval - touches #45

* [AUTO] Update version to 0.2.01.134-develop

Files changed:
M	src/version.py

* feat: add SOC failure handling and reset logic in BatteryInterface for improved reliability

* feat: update logging.js for improved functionality and performance

* [AUTO] Update version to 0.2.01.135-develop

Files changed:
M	src/version.py

* feat: enhance error logging in LoadInterface and improve SOC error handling in BatteryInterface

* feat: aggregate 15-min intervals to hourly Wh in __get_pv_forecast_evcc_api for improved accuracy - closes #108 - thanks to @forouher

* [AUTO] Update version to 0.2.01.136-develop

Files changed:
M	src/version.py

* feat: refactor API request handling in PvInterface for improved error management and retry logic

* feat: add testing workflows for Docker builds and implement unit tests for PvInterface error handling and retry logic

* feat: improve scheduling algorithm in EosInterface and add comprehensive unit tests

* fix: correct conditional checks for SOC data source selection and ensure proper capacity calculation - fix ERROR [BATTERY-IF] source currently not supported. Using default start SOC = 5%.
Fixes #111

* [AUTO] Update version to 0.2.01.138-develop

Files changed:
M	src/version.py

* docs: update contributing guidelines with branch roles, flow, and commit conventions

* update README for consistency

* chore: update workflow files to include testing and artifact handling, enhance contributing guidelines, and improve README formatting

* [AUTO] Update version to 0.2.01.139-develop

Files changed:
M	src/version.py

* fix: comment out conditional for uploading Docker image artifact on pull requests

* [AUTO] Update version to 0.2.01.140-develop

Files changed:
M	src/version.py

* refactor: rename build_image job to publish_image and adjust artifact handling for pull requests

* [AUTO] Update version to 0.2.01.141-develop

Files changed:
M	src/version.py

* [AUTO] Update version to 0.2.01.142-develop

Files changed:
M	src/version.py

* feat: implement retry logic for HTTP requests in LoadInterface and add unit tests

* style: improve CSS formatting and enhance font size scaling for better responsiveness

* feat: update schedule display to include SOC and improve expense/income representation

* fix: improve logging for charge power limitation in FroniusWRV2 class

* feat: add planActive state and update charging mode logic in EVCC interface - fix Haus-Batterie wird nicht gesperrt, sofern evcc mode = "PV" und Ladeplan aktiv
Fixes #66

* [AUTO] Update version to 0.2.01.143-develop

Files changed:
M	src/version.py

* chore: update version prefix in workflow and version file to 0.2.25 - adjust SOC color representation in schedule manager

* fix: update API version to 0.0.2 and enhance logging for EVCC charging state transitions

* [AUTO] Update version to 0.2.25.144-develop

Files changed:
M	src/version.py

* fix: improve grid charge power handling and logging in ControlsManager - fix 0.2.24: After setting override, I cannot disable override or change it, from the UI
Fixes #119

* fix: update expense and income color representation to use 'lightgray' for better visibility

* fix: update expense and income color representation to improve visibility thresholds

* [AUTO] Update version to 0.2.25.145-develop

Files changed:
M	src/version.py

* fix: enhance data validation by checking for 'unknown' state in energy data

* fix: add DST change detection and adjust EMS data retrieval accordingly - preperation for full EOS DST change capability - fixes Null values lead to crash
Fixes #130

* fix: implement last control data tracking for optimized charging decisions - fixes Log file flooded with 'WARNING [Main] EOS requested AC charging (0.75) but battery SoC (100.0%) at/above maximum (100%) - overriding to 0'
Fixes #131

* [AUTO] Update version to 0.2.25.151-develop

Files changed:
M	src/version.py

* Implement currency symbols from price provider (#129)

* feat: expose currency for chosen price provider such that ui sees it

* bugfix: currency ui symbol

* refactor localization for a centrilzed structure

---------

Co-authored-by: ohAnd <[email protected]>

* [AUTO] Update version to 0.2.25.153-develop

Files changed:
M	src/version.py

* fix: remove currency symbol from in/out text display in schedule

* update EVCC charging modes in connection with EOS demands
- Introduced a new color constant for "Charge From Grid During E-Car Fast Charge" in `constants.js`.
- Updated the schedule display logic in `schedule.js` to include the new charging mode.
- Improved logging format in `pv_interface.py` for better readability.

* [AUTO] Update version to 0.2.25.157-develop

Files changed:
M	src/version.py

* feat: add 'Charge from Grid EVCC FAST' option to MQTT command templates - touches Haus-Batterie wird nicht gesperrt, sofern evcc mode = "PV" und Ladeplan aktiv
touches #66

* [AUTO] Update version to 0.2.25.158-develop

Files changed:
M	src/version.py

* Add Strømligning.dk price provider (#126) - implements #123 - thanks to @LordMike

* feat: add Stromligning price provider

* feat: extend stromligning price window by using their forecast API

* Update price interface for stromligning as per discussion

* Tweak the docs

* Handle some pylint issues

* [AUTO] Update version to 0.2.25.162-develop

Files changed:
M	src/version.py

* fix: #122 set all evcc states to avoid discharge (#134) - fixes #122

* fix: #66 set all evcc states to avoid discharge

* fix: enhance MQTT value and command templates for better state handling

---------

Co-authored-by: ohAnd <[email protected]>

* [AUTO] Update version to 0.2.25.163-develop

Files changed:
M	src/version.py

* feat: enhance historical data processing to include attributes and unit conversion

* [AUTO] Update version to 0.2.25.164-develop

Files changed:
M	src/version.py

* Evcc opt wrapper (#138)

* first working draft of second source for optimization - evcc opt

* feat: update README and configuration for EOS server source and port settings - fixes eos intrerface tests

* feat: update README and UI to support evcc optimization backend and display experimental mode banner

* refactor: remove hardcoded base URL for EVCC optimization request

* feat: Add OptimizationInterface for backend optimization management

- Introduced OptimizationInterface class to serve as an abstraction layer for interacting with EOS and EVCC Opt optimization backends.
- Implemented methods for optimization, control data examination, and scheduling management.
- Added functionality to calculate the next optimal run time and retrieve EOS version from the backend.
- Created unit tests for OptimizationInterface, covering backend selection, response handling, and error management.
- Included a dummy backend for testing integration without actual backend dependencies.

* refactor: remove obsolete test module for EosInterface scheduling algorithm

* [AUTO] Update version to 0.2.25.166-develop

Files changed:
M	src/version.py

* feat: enhance PV configuration handling with default values for azimuth and tilt, and improve horizon parameter checks - fix PV: All options seem to be required, despite not using akkudoktor
Fixes #135

* feat: enhance Docker workflow to support multi-platform builds

* fix: correct indentation in cleanup_old_develops job and ensure proper execution of Docker image cleanup

* [AUTO] Update version to 0.2.25.168-develop

Files changed:
M	src/version.py

* fix: update references from EVCC Opt to EVopt across documentation and codebase

* Renaming EVCCOptBackend to EVOptBackend + fix grid charge calculation for fulfilling EOS api and get right target value

* fix: update test for EVopt backend by renaming reference from EVCCOptBackend to EVOptBackend

* [AUTO] Update version to 0.2.25.170-develop

Files changed:
M	src/version.py

* fix: update default azimuth, tilt, power, and inverter settings in PvInterface configuration for solcast, evcc

* fix: enhance EOS version handling and configuration validation for version 0.1.0+dev - inlc. automatic config update if needed

* [AUTO] Update version to 0.2.25.171-develop

Files changed:
M	src/version.py

* fix: enhance Docker workflows to support multi-platform builds and QEMU setup

* fix: update BaseControl to include time frame base and calculate needed AC charge power

* [AUTO] Update version to 0.2.25.172-develop

Files changed:
M	src/version.py

* fix: comment out debug logging for needed AC charge power calculation

* test: add comprehensive tests for calculate_next_run_time and simulation behavior

* refactor: enhance MQTT control command handling and add SOC limit management incl. via MQTT

* refactor: update configuration for EOS and EVopt sources, including time frame base adjustments - breaking change in config evcc_opt -> evopt

* [AUTO] Update version to 0.2.25.173-develop

Files changed:
M	src/version.py

* bugreport - fix: show current version - refactor: clean up whitespace and improve readability in BugReportManager methods

* refactor: rename EVCCOptBackend to EVOptBackend and update related transformation methods

* refactor: adjust forecast calculations for EVopt source based on current time

* refactor: adjust background opacity of experimental banner in index.html

* [AUTO] Update version to 0.2.25.174-develop

Files changed:
M	src/version.py

---------

Co-authored-by: ohAnd <[email protected]>
Co-authored-by: Paul Elsner <[email protected]>
Co-authored-by: Michael Bisbjerg <[email protected]>
ohAnd added a commit that referenced this pull request Nov 1, 2025
* fix: improve error handling for missing solar forecast data in EVCC API

* fix: enhance logging for invalid sensor data processing in LoadInterface

* fix: improve error handling and logging for EVCC API forecast retrieval

* fix: enhance error handling and logging in PV forecast_solar retrieval

* fix: enhance error handling and logging for PV forecast akkudoktor and openmeteo lib retrieval

* fix: improve error handling and logging for EOS version retrieval and connection issues - close Connection problem
Fixes #72

* docs: update installation instructions for EOS Connect and Home Assistant add-ons - touches #72 Connection problem

* fix: disable debug logging for loadpoints and EVCC state fetching

* [AUTO] Update version to 0.1.24.122-develop

Files changed:
M	src/version.py

* fix: implement retry mechanism for price retrieval failures

* fix: enhance PV forecast retrieval with timezone-aware processing and error handling - fixing evcc change at 0.208.1 - touches #89

* fix: update datetime handling for historical energy data to use timezone-aware processing due to deprecated functions

* refactor: remove unused load profile creation methods and improve fallback logic for historical data - fix In EOS connect Grafik wird Load nicht angezeigt.
Fixes #97

* [AUTO] Update version to 0.1.24.123-develop

Files changed:
M	src/version.py

* refactor: remove pvlib dependency and implement custom solar position and angle of incidence calculations

* fix: enhance temperature forecast retrieval with error handling and default fallback

* feat: add Solcast integration for high-precision solar forecasting and update configuration documentation - fix feature request: solcast data from home assistant
Fixes #100

* fix: increase precision of hourly price calculations to 9 decimal places - fix smartenergy_at prices deviate
Fixes #98

* [AUTO] Update version to 0.1.24.124-develop

Files changed:
M	src/version.py

* fix: handle scale factor 0 from EVCC

* [AUTO] Update version to 0.1.24.126-develop

Files changed:
M	src/version.py

* fix: improve error messages and refactor variable names for clarity in PvInterface

* fix: rename timezone parameter to tz_name for consistency and clarity

* feat: implement in-memory logging handler with API endpoints for log retrieval and management

* full refactoring of UI backend + integration of ui log viewer

* fix: update logging prefixes for consistency and clarity across API and control modules

* feat: introduce web ui system log view with several filters and alert dashboard incl. notification via menu and menu entries

* fix: update showSchedule function to include data_controls parameter for enhanced schedule management

* fix: conditions in evcc state overrides

* fix: adjust font sizes for mobile responsiveness in main and full-screen overlays

* feat: implement full-screen override controls menu and enhance UI interactions + new info popup

* feat: add EOS Connect icons for control modes and update ControlsManager and ScheduleManager to utilize them

* fix: update logging.js for improved functionality and compatibility

* [AUTO] Update version to 0.1.24.128-develop

Files changed:
M	src/version.py

* update version prefix in Docker workflows to 0.2.x

* [AUTO] Update version to 0.2.01.129-develop

Files changed:
M	src/version.py

* fix: web api pathes for logger to align also with HA addon

* [AUTO] Update version to 0.2.01.130-develop

Files changed:
M	src/version.py

* refactor: improve code formatting and enhance timestamp handling in MemoryLogHandler

* feat: clickable links and log [Main] with color in web logger

* feat: web logger adding search filter

* feat: create generated bug report for github issue

* fix: correct condition for determining current mode at hour in showSchedule

* [AUTO] Update version to 0.2.01.131-develop

Files changed:
M	src/version.py

* refactor: update test mode handling and improve variable naming in data fetching methods
fix: correct max charge power retrieval in schedule manager
style: comment out console logs in menu notifications

* [AUTO] Update version to 0.2.01.132-develop

Files changed:
M	src/version.py

* feat: add override modes to test scenarios and update HTML for selection

* feat: enhance override menu with better order for duration selection and grid charge power controls - touches #105

* feat: add fixed price adder and relative price multiplier to price calculations for akkudoktor/ default price source - fix Excluded taxes and grid fees lead to wrong optimization
Fixes #88 and Modul 3 Prices - TOU - static/ dynamic prices - grid fees
touches #51

* feat: add fixed price adder and relative price multiplier to configuration readme for default price source

* feat: update bug report manager to use EOS_connect repository for bug reports

* feat: refactor optimization scheduler and control logic for improved state management and runtime calculations -  Real-Time Price Response with EOS Connect: Supporting 15-Minute Intervals (and timed executions)
touches #104

* [AUTO] Update version to 0.2.01.133-develop

Files changed:
M	src/version.py

* feat: enhance optimization scheduling logic to support first run alignment and improve quarter-hour synchronization

* feat: implement background price update service in PriceInterface for improved data retrieval - touches #45

* [AUTO] Update version to 0.2.01.134-develop

Files changed:
M	src/version.py

* feat: add SOC failure handling and reset logic in BatteryInterface for improved reliability

* feat: update logging.js for improved functionality and performance

* [AUTO] Update version to 0.2.01.135-develop

Files changed:
M	src/version.py

* feat: enhance error logging in LoadInterface and improve SOC error handling in BatteryInterface

* feat: aggregate 15-min intervals to hourly Wh in __get_pv_forecast_evcc_api for improved accuracy - closes #108 - thanks to @forouher

* [AUTO] Update version to 0.2.01.136-develop

Files changed:
M	src/version.py

* feat: refactor API request handling in PvInterface for improved error management and retry logic

* feat: add testing workflows for Docker builds and implement unit tests for PvInterface error handling and retry logic

* feat: improve scheduling algorithm in EosInterface and add comprehensive unit tests

* fix: correct conditional checks for SOC data source selection and ensure proper capacity calculation - fix ERROR [BATTERY-IF] source currently not supported. Using default start SOC = 5%.
Fixes #111

* [AUTO] Update version to 0.2.01.138-develop

Files changed:
M	src/version.py

* docs: update contributing guidelines with branch roles, flow, and commit conventions

* update README for consistency

* chore: update workflow files to include testing and artifact handling, enhance contributing guidelines, and improve README formatting

* [AUTO] Update version to 0.2.01.139-develop

Files changed:
M	src/version.py

* fix: comment out conditional for uploading Docker image artifact on pull requests

* [AUTO] Update version to 0.2.01.140-develop

Files changed:
M	src/version.py

* refactor: rename build_image job to publish_image and adjust artifact handling for pull requests

* [AUTO] Update version to 0.2.01.141-develop

Files changed:
M	src/version.py

* [AUTO] Update version to 0.2.01.142-develop

Files changed:
M	src/version.py

* feat: implement retry logic for HTTP requests in LoadInterface and add unit tests

* style: improve CSS formatting and enhance font size scaling for better responsiveness

* feat: update schedule display to include SOC and improve expense/income representation

* fix: improve logging for charge power limitation in FroniusWRV2 class

* feat: add planActive state and update charging mode logic in EVCC interface - fix Haus-Batterie wird nicht gesperrt, sofern evcc mode = "PV" und Ladeplan aktiv
Fixes #66

* [AUTO] Update version to 0.2.01.143-develop

Files changed:
M	src/version.py

* chore: update version prefix in workflow and version file to 0.2.25 - adjust SOC color representation in schedule manager

* fix: update API version to 0.0.2 and enhance logging for EVCC charging state transitions

* [AUTO] Update version to 0.2.25.144-develop

Files changed:
M	src/version.py

* fix: improve grid charge power handling and logging in ControlsManager - fix 0.2.24: After setting override, I cannot disable override or change it, from the UI
Fixes #119

* fix: update expense and income color representation to use 'lightgray' for better visibility

* fix: update expense and income color representation to improve visibility thresholds

* [AUTO] Update version to 0.2.25.145-develop

Files changed:
M	src/version.py

* fix: enhance data validation by checking for 'unknown' state in energy data

* fix: add DST change detection and adjust EMS data retrieval accordingly - preperation for full EOS DST change capability - fixes Null values lead to crash
Fixes #130

* fix: implement last control data tracking for optimized charging decisions - fixes Log file flooded with 'WARNING [Main] EOS requested AC charging (0.75) but battery SoC (100.0%) at/above maximum (100%) - overriding to 0'
Fixes #131

* [AUTO] Update version to 0.2.25.151-develop

Files changed:
M	src/version.py

* Implement currency symbols from price provider (#129)

* feat: expose currency for chosen price provider such that ui sees it

* bugfix: currency ui symbol

* refactor localization for a centrilzed structure

---------

Co-authored-by: ohAnd <[email protected]>

* [AUTO] Update version to 0.2.25.153-develop

Files changed:
M	src/version.py

* fix: remove currency symbol from in/out text display in schedule

* update EVCC charging modes in connection with EOS demands
- Introduced a new color constant for "Charge From Grid During E-Car Fast Charge" in `constants.js`.
- Updated the schedule display logic in `schedule.js` to include the new charging mode.
- Improved logging format in `pv_interface.py` for better readability.

* [AUTO] Update version to 0.2.25.157-develop

Files changed:
M	src/version.py

* feat: add 'Charge from Grid EVCC FAST' option to MQTT command templates - touches Haus-Batterie wird nicht gesperrt, sofern evcc mode = "PV" und Ladeplan aktiv
touches #66

* [AUTO] Update version to 0.2.25.158-develop

Files changed:
M	src/version.py

* Add Strømligning.dk price provider (#126) - implements #123 - thanks to @LordMike

* feat: add Stromligning price provider

* feat: extend stromligning price window by using their forecast API

* Update price interface for stromligning as per discussion

* Tweak the docs

* Handle some pylint issues

* [AUTO] Update version to 0.2.25.162-develop

Files changed:
M	src/version.py

* fix: #122 set all evcc states to avoid discharge (#134) - fixes #122

* fix: #66 set all evcc states to avoid discharge

* fix: enhance MQTT value and command templates for better state handling

---------

Co-authored-by: ohAnd <[email protected]>

* [AUTO] Update version to 0.2.25.163-develop

Files changed:
M	src/version.py

* feat: enhance historical data processing to include attributes and unit conversion

* [AUTO] Update version to 0.2.25.164-develop

Files changed:
M	src/version.py

* Evcc opt wrapper (#138)

* first working draft of second source for optimization - evcc opt

* feat: update README and configuration for EOS server source and port settings - fixes eos intrerface tests

* feat: update README and UI to support evcc optimization backend and display experimental mode banner

* refactor: remove hardcoded base URL for EVCC optimization request

* feat: Add OptimizationInterface for backend optimization management

- Introduced OptimizationInterface class to serve as an abstraction layer for interacting with EOS and EVCC Opt optimization backends.
- Implemented methods for optimization, control data examination, and scheduling management.
- Added functionality to calculate the next optimal run time and retrieve EOS version from the backend.
- Created unit tests for OptimizationInterface, covering backend selection, response handling, and error management.
- Included a dummy backend for testing integration without actual backend dependencies.

* refactor: remove obsolete test module for EosInterface scheduling algorithm

* [AUTO] Update version to 0.2.25.166-develop

Files changed:
M	src/version.py

* feat: enhance PV configuration handling with default values for azimuth and tilt, and improve horizon parameter checks - fix PV: All options seem to be required, despite not using akkudoktor
Fixes #135

* feat: enhance Docker workflow to support multi-platform builds

* fix: correct indentation in cleanup_old_develops job and ensure proper execution of Docker image cleanup

* [AUTO] Update version to 0.2.25.168-develop

Files changed:
M	src/version.py

* fix: update references from EVCC Opt to EVopt across documentation and codebase

* Renaming EVCCOptBackend to EVOptBackend + fix grid charge calculation for fulfilling EOS api and get right target value

* fix: update test for EVopt backend by renaming reference from EVCCOptBackend to EVOptBackend

* [AUTO] Update version to 0.2.25.170-develop

Files changed:
M	src/version.py

* fix: update default azimuth, tilt, power, and inverter settings in PvInterface configuration for solcast, evcc

* fix: enhance EOS version handling and configuration validation for version 0.1.0+dev - inlc. automatic config update if needed

* [AUTO] Update version to 0.2.25.171-develop

Files changed:
M	src/version.py

* fix: enhance Docker workflows to support multi-platform builds and QEMU setup

* fix: update BaseControl to include time frame base and calculate needed AC charge power

* [AUTO] Update version to 0.2.25.172-develop

Files changed:
M	src/version.py

* fix: comment out debug logging for needed AC charge power calculation

* test: add comprehensive tests for calculate_next_run_time and simulation behavior

* refactor: enhance MQTT control command handling and add SOC limit management incl. via MQTT

* refactor: update configuration for EOS and EVopt sources, including time frame base adjustments - breaking change in config evcc_opt -> evopt

* [AUTO] Update version to 0.2.25.173-develop

Files changed:
M	src/version.py

* bugreport - fix: show current version - refactor: clean up whitespace and improve readability in BugReportManager methods

* refactor: rename EVCCOptBackend to EVOptBackend and update related transformation methods

* refactor: adjust forecast calculations for EVopt source based on current time

* refactor: adjust background opacity of experimental banner in index.html

* [AUTO] Update version to 0.2.25.174-develop

Files changed:
M	src/version.py

* [AUTO] Update version to 0.2.25.177-develop

Files changed:
M	src/version.py

* [AUTO] Update version to 0.2.25.178-develop

Files changed:
M	src/version.py

---------

Co-authored-by: ohAnd <[email protected]>
Co-authored-by: Paul Elsner <[email protected]>
Co-authored-by: Michael Bisbjerg <[email protected]>
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