akkudoktoreos.optimization.optimizationabc.OptimizationBase
- class akkudoktoreos.optimization.optimizationabc.OptimizationBase
Bases:
ConfigMixin,PredictionMixin,EnergyManagementSystemMixinBase class for handling optimization data.
Enables access to EOS configuration data (attribute config) and EOS prediction data (attribute prediction).
Note
Validation on assignment of the Pydantic model is disabled to speed up optimization runs.
- __init__()
Methods
__init__()Attributes
- model_config = {'validate_assignment': False}
- config = ConfigEOS(general=GeneralSettings(version='0.2.0', data_folder_path=Path('/home/docs/.local/share/net.akkudoktor.eos'), data_output_subpath=Path('output'), latitude=52.52, longitude=13.405, timezone='Europe/Berlin', data_output_path=Path('/home/docs/.local/share/net.akkudoktor.eos/output'), config_folder_path=Path('/home/docs/.config/net.akkudoktor.eos'), config_file_path=Path('/home/docs/.config/net.akkudoktor.eos/EOS.config.json')), cache=CacheCommonSettings(subpath=Path('cache'), cleanup_interval=300.0), ems=EnergyManagementCommonSettings(startup_delay=5.0, interval=None, mode=None), logging=LoggingCommonSettings(console_level='INFO', file_level=None, file_path=Path('/home/docs/.local/share/net.akkudoktor.eos/output/eos.log')), devices=DevicesCommonSettings(batteries=None, max_batteries=None, electric_vehicles=None, max_electric_vehicles=None, inverters=None, max_inverters=None, home_appliances=None, max_home_appliances=None, measurement_keys=[]), measurement=MeasurementCommonSettings(load_emr_keys=None, grid_export_emr_keys=None, grid_import_emr_keys=None, pv_production_emr_keys=None, keys=[]), optimization=OptimizationCommonSettings(horizon_hours=24, interval=3600, algorithm='GENETIC', genetic=GeneticCommonSettings(individuals=300, generations=400, seed=None, penalties=None)), prediction=PredictionCommonSettings(hours=48, historic_hours=48), elecprice=ElecPriceCommonSettings(provider=None, charges_kwh=None, vat_rate=1.19, provider_settings=ElecPriceCommonProviderSettings(ElecPriceImport=None)), feedintariff=FeedInTariffCommonSettings(provider=None, provider_settings=FeedInTariffCommonProviderSettings(FeedInTariffFixed=None, FeedInTariffImport=None)), load=LoadCommonSettings(provider=None, provider_settings=LoadCommonProviderSettings(LoadAkkudoktor=None, LoadVrm=None, LoadImport=None)), pvforecast=PVForecastCommonSettings(provider=None, provider_settings=PVForecastCommonProviderSettings(PVForecastImport=None, PVForecastVrm=None), planes=None, max_planes=0, planes_peakpower=[], planes_azimuth=[], planes_tilt=[], planes_userhorizon=[], planes_inverter_paco=[]), weather=WeatherCommonSettings(provider=None, provider_settings=WeatherCommonProviderSettings(WeatherImport=None)), server=ServerCommonSettings(host='127.0.0.1', port=8503, verbose=False, startup_eosdash=True, eosdash_host=None, eosdash_port=None), utils=UtilsCommonSettings())
- ems = EnergyManagement(start_datetime=DateTime(2025, 11, 9, 8, 0, 0, tzinfo=Timezone('Etc/UTC')), last_run_datetime=None)
- prediction = Prediction([ElecPriceAkkudoktor([]), ElecPriceEnergyCharts([]), ElecPriceImport([]), FeedInTariffFixed([]), FeedInTariffImport([]), LoadAkkudoktor([]), LoadAkkudoktorAdjusted([]), LoadVrm([]), LoadImport([]), PVForecastAkkudoktor([]), PVForecastVrm([]), PVForecastImport([]), WeatherBrightSky([]), WeatherClearOutside([]), WeatherImport([])])