2025-11-13 22:53:46 +01:00
|
|
|
## Full example Config
|
|
|
|
|
|
|
|
|
|
<!-- pyml disable line-length -->
|
|
|
|
|
```json
|
|
|
|
|
{
|
2025-12-30 22:08:21 +01:00
|
|
|
"adapter": {
|
|
|
|
|
"provider": [
|
|
|
|
|
"HomeAssistant"
|
|
|
|
|
],
|
|
|
|
|
"homeassistant": {
|
|
|
|
|
"config_entity_ids": null,
|
|
|
|
|
"load_emr_entity_ids": null,
|
2025-12-31 12:34:33 +01:00
|
|
|
"grid_export_emr_entity_ids": null,
|
|
|
|
|
"grid_import_emr_entity_ids": null,
|
2025-12-30 22:08:21 +01:00
|
|
|
"pv_production_emr_entity_ids": null,
|
|
|
|
|
"device_measurement_entity_ids": null,
|
|
|
|
|
"device_instruction_entity_ids": null,
|
2026-02-22 14:12:42 +01:00
|
|
|
"solution_entity_ids": null
|
2025-12-30 22:08:21 +01:00
|
|
|
},
|
|
|
|
|
"nodered": {
|
|
|
|
|
"host": "127.0.0.1",
|
|
|
|
|
"port": 1880
|
|
|
|
|
}
|
|
|
|
|
},
|
2025-11-13 22:53:46 +01:00
|
|
|
"cache": {
|
|
|
|
|
"subpath": "cache",
|
|
|
|
|
"cleanup_interval": 300.0
|
|
|
|
|
},
|
2026-02-22 14:12:42 +01:00
|
|
|
"database": {
|
|
|
|
|
"provider": "LMDB",
|
|
|
|
|
"compression_level": 0,
|
|
|
|
|
"initial_load_window_h": 48,
|
|
|
|
|
"keep_duration_h": 48,
|
|
|
|
|
"autosave_interval_sec": 5,
|
2026-07-20 12:59:08 +02:00
|
|
|
"compaction_interval_sec": 3600,
|
2026-02-22 14:12:42 +01:00
|
|
|
"batch_size": 100
|
|
|
|
|
},
|
2025-11-13 22:53:46 +01:00
|
|
|
"devices": {
|
2026-09-17 17:51:40 +02:00
|
|
|
"batteries": {
|
|
|
|
|
"bat0": {
|
|
|
|
|
"device_id": "bat0",
|
2026-09-17 18:28:43 +02:00
|
|
|
"capacity_estimation": null,
|
|
|
|
|
"capacity_estimate": null,
|
2025-11-13 22:53:46 +01:00
|
|
|
"capacity_wh": 8000,
|
|
|
|
|
"charging_efficiency": 0.88,
|
|
|
|
|
"discharging_efficiency": 0.88,
|
2026-09-17 17:51:40 +02:00
|
|
|
"levelized_cost_of_storage_amt_kwh": 0.0,
|
2025-11-13 22:53:46 +01:00
|
|
|
"max_charge_power_w": 5000,
|
|
|
|
|
"min_charge_power_w": 50,
|
2025-12-30 22:08:21 +01:00
|
|
|
"charge_rates": [
|
|
|
|
|
0.0,
|
|
|
|
|
0.1,
|
|
|
|
|
0.2,
|
|
|
|
|
0.3,
|
|
|
|
|
0.4,
|
|
|
|
|
0.5,
|
|
|
|
|
0.6,
|
|
|
|
|
0.7,
|
|
|
|
|
0.8,
|
|
|
|
|
0.9,
|
|
|
|
|
1.0
|
|
|
|
|
],
|
2025-11-13 22:53:46 +01:00
|
|
|
"min_soc_percentage": 0,
|
2026-09-17 19:14:01 +02:00
|
|
|
"max_soc_percentage": 100,
|
|
|
|
|
"grid_export_rates": [
|
|
|
|
|
0.25,
|
|
|
|
|
0.5,
|
|
|
|
|
0.75,
|
|
|
|
|
1.0
|
2026-09-17 20:14:24 +02:00
|
|
|
],
|
|
|
|
|
"min_soc_deadline_datetime": null,
|
|
|
|
|
"min_soc_max_duration_h": null
|
2025-11-13 22:53:46 +01:00
|
|
|
}
|
2026-09-17 17:51:40 +02:00
|
|
|
},
|
2025-11-13 22:53:46 +01:00
|
|
|
"max_batteries": 1,
|
2026-09-17 17:51:40 +02:00
|
|
|
"electric_vehicles": {
|
|
|
|
|
"ev0": {
|
|
|
|
|
"device_id": "ev0",
|
2026-09-17 18:28:43 +02:00
|
|
|
"capacity_estimation": null,
|
|
|
|
|
"capacity_estimate": null,
|
2026-09-17 17:51:40 +02:00
|
|
|
"capacity_wh": 60000,
|
2025-11-13 22:53:46 +01:00
|
|
|
"charging_efficiency": 0.88,
|
|
|
|
|
"discharging_efficiency": 0.88,
|
2026-09-17 17:51:40 +02:00
|
|
|
"levelized_cost_of_storage_amt_kwh": 0.0,
|
2025-11-13 22:53:46 +01:00
|
|
|
"max_charge_power_w": 5000,
|
|
|
|
|
"min_charge_power_w": 50,
|
2025-12-30 22:08:21 +01:00
|
|
|
"charge_rates": [
|
|
|
|
|
0.0,
|
|
|
|
|
0.1,
|
|
|
|
|
0.2,
|
|
|
|
|
0.3,
|
|
|
|
|
0.4,
|
|
|
|
|
0.5,
|
|
|
|
|
0.6,
|
|
|
|
|
0.7,
|
|
|
|
|
0.8,
|
|
|
|
|
0.9,
|
|
|
|
|
1.0
|
|
|
|
|
],
|
2025-11-13 22:53:46 +01:00
|
|
|
"min_soc_percentage": 0,
|
2026-09-17 19:14:01 +02:00
|
|
|
"max_soc_percentage": 100,
|
|
|
|
|
"grid_export_rates": [
|
|
|
|
|
0.25,
|
|
|
|
|
0.5,
|
|
|
|
|
0.75,
|
|
|
|
|
1.0
|
2026-09-17 20:14:24 +02:00
|
|
|
],
|
|
|
|
|
"min_soc_deadline_datetime": null,
|
|
|
|
|
"min_soc_max_duration_h": null
|
2025-11-13 22:53:46 +01:00
|
|
|
}
|
2026-09-17 17:51:40 +02:00
|
|
|
},
|
2025-11-13 22:53:46 +01:00
|
|
|
"max_electric_vehicles": 1,
|
2026-09-17 17:51:40 +02:00
|
|
|
"inverters": {},
|
2025-11-13 22:53:46 +01:00
|
|
|
"max_inverters": 1,
|
2026-09-17 17:51:40 +02:00
|
|
|
"home_appliances": {
|
|
|
|
|
"dishwasher": {
|
|
|
|
|
"device_id": "dishwasher",
|
|
|
|
|
"consumption_wh": 1500,
|
|
|
|
|
"duration_h": 2,
|
|
|
|
|
"num_cycles": 1,
|
|
|
|
|
"cycle_time_windows": null,
|
|
|
|
|
"min_cycle_gap_h": 0,
|
2026-09-17 20:14:24 +02:00
|
|
|
"cycles_completed_measurement_key": null,
|
|
|
|
|
"load_profile_power_w": null,
|
|
|
|
|
"load_profile_interval_seconds": null,
|
|
|
|
|
"schedule_mode": "ONCE",
|
|
|
|
|
"time_windows": null,
|
|
|
|
|
"earliest_start_datetime": null,
|
|
|
|
|
"deadline_datetime": null,
|
|
|
|
|
"deadline_policy": "BEST_EFFORT"
|
2026-09-17 17:51:40 +02:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"max_home_appliances": 3
|
2025-11-13 22:53:46 +01:00
|
|
|
},
|
2026-08-23 02:26:16 +02:00
|
|
|
"elecfee": {
|
|
|
|
|
"provider": "ElecFeeFixed",
|
|
|
|
|
"elecfeefixed": {
|
|
|
|
|
"consumption_amt_kwh": {
|
|
|
|
|
"windows": []
|
|
|
|
|
},
|
|
|
|
|
"consumption_percent_amt": {
|
|
|
|
|
"windows": []
|
|
|
|
|
},
|
|
|
|
|
"feedin_amt_kwh": {
|
|
|
|
|
"windows": []
|
|
|
|
|
},
|
|
|
|
|
"feedin_percent_amt": {
|
|
|
|
|
"windows": []
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"elecfeeimport": {
|
|
|
|
|
"import_file_path": null,
|
|
|
|
|
"import_json": null
|
|
|
|
|
}
|
|
|
|
|
},
|
2025-11-13 22:53:46 +01:00
|
|
|
"elecprice": {
|
|
|
|
|
"provider": "ElecPriceAkkudoktor",
|
2026-08-23 02:26:16 +02:00
|
|
|
"akkudoktor": {},
|
2026-03-11 17:18:45 +01:00
|
|
|
"elecpricefixed": {
|
2026-08-23 02:26:16 +02:00
|
|
|
"elecprice_marketprice_amt_kwh": {
|
2026-03-11 17:18:45 +01:00
|
|
|
"windows": []
|
|
|
|
|
}
|
|
|
|
|
},
|
2025-11-16 13:26:18 +01:00
|
|
|
"elecpriceimport": {
|
|
|
|
|
"import_file_path": null,
|
|
|
|
|
"import_json": null
|
|
|
|
|
},
|
|
|
|
|
"energycharts": {
|
|
|
|
|
"bidding_zone": "DE-LU"
|
2026-07-20 13:43:43 +02:00
|
|
|
},
|
2026-08-23 02:26:16 +02:00
|
|
|
"smard": {
|
|
|
|
|
"filter_id": 4169,
|
|
|
|
|
"region": "DE"
|
|
|
|
|
},
|
2026-07-20 13:43:43 +02:00
|
|
|
"tibber": {
|
|
|
|
|
"access_token": null,
|
|
|
|
|
"home_id": null
|
2025-11-13 22:53:46 +01:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"ems": {
|
|
|
|
|
"startup_delay": 5.0,
|
|
|
|
|
"interval": 300.0,
|
|
|
|
|
"mode": "OPTIMIZATION"
|
|
|
|
|
},
|
|
|
|
|
"feedintariff": {
|
2026-09-17 20:14:24 +02:00
|
|
|
"direct_marketing_enabled": false,
|
2025-11-13 22:53:46 +01:00
|
|
|
"provider": "FeedInTariffFixed",
|
2026-07-20 14:37:03 +02:00
|
|
|
"feedintarifffixed": {
|
2026-08-23 02:26:16 +02:00
|
|
|
"feed_in_tariff_amt_kwh": {
|
|
|
|
|
"windows": []
|
|
|
|
|
}
|
2026-07-20 14:37:03 +02:00
|
|
|
},
|
|
|
|
|
"feedintariffimport": {
|
|
|
|
|
"import_file_path": null,
|
|
|
|
|
"import_json": null
|
2026-07-23 15:48:29 +02:00
|
|
|
},
|
2026-07-29 22:21:17 +02:00
|
|
|
"dvhubonline": {
|
|
|
|
|
"base_url": "https://dvhub.online",
|
|
|
|
|
"zone": "DE-LU"
|
|
|
|
|
},
|
2026-07-23 15:48:29 +02:00
|
|
|
"energycharts": {
|
|
|
|
|
"bidding_zone": "DE-LU"
|
2026-08-23 02:26:16 +02:00
|
|
|
},
|
|
|
|
|
"smard": {}
|
2025-11-13 22:53:46 +01:00
|
|
|
},
|
|
|
|
|
"general": {
|
2026-04-15 08:48:56 +02:00
|
|
|
"config_save_mode": "AUTOMATIC",
|
|
|
|
|
"config_save_interval_sec": 60,
|
2026-03-07 14:46:30 +01:00
|
|
|
"version": "0.0.0",
|
2026-02-22 14:12:42 +01:00
|
|
|
"data_folder_path": "/home/user/.local/share/net.akkudoktoreos.net",
|
2025-11-13 22:53:46 +01:00
|
|
|
"data_output_subpath": "output",
|
|
|
|
|
"latitude": 52.52,
|
|
|
|
|
"longitude": 13.405
|
|
|
|
|
},
|
|
|
|
|
"load": {
|
|
|
|
|
"provider": "LoadAkkudoktor",
|
2026-02-26 18:31:47 +01:00
|
|
|
"loadakkudoktor": {
|
|
|
|
|
"loadakkudoktor_year_energy_kwh": null
|
|
|
|
|
},
|
|
|
|
|
"loadimport": {
|
|
|
|
|
"import_file_path": null,
|
|
|
|
|
"import_json": null
|
2026-07-20 14:37:03 +02:00
|
|
|
},
|
|
|
|
|
"vrm": {
|
|
|
|
|
"token": "your-token",
|
|
|
|
|
"site_id": 12345
|
2025-11-13 22:53:46 +01:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"logging": {
|
2026-08-01 12:45:19 +02:00
|
|
|
"api_level": "TRACE",
|
2025-11-13 22:53:46 +01:00
|
|
|
"console_level": "TRACE",
|
|
|
|
|
"file_level": "TRACE"
|
|
|
|
|
},
|
|
|
|
|
"measurement": {
|
2026-02-22 14:12:42 +01:00
|
|
|
"historic_hours": 17520,
|
2026-09-17 18:28:43 +02:00
|
|
|
"channels": {},
|
|
|
|
|
"household": null,
|
|
|
|
|
"energy_context_seconds": 86400,
|
2025-11-13 22:53:46 +01:00
|
|
|
"load_emr_keys": [
|
|
|
|
|
"load0_emr"
|
|
|
|
|
],
|
|
|
|
|
"grid_export_emr_keys": [
|
|
|
|
|
"grid_export_emr"
|
|
|
|
|
],
|
|
|
|
|
"grid_import_emr_keys": [
|
|
|
|
|
"grid_import_emr"
|
|
|
|
|
],
|
|
|
|
|
"pv_production_emr_keys": [
|
|
|
|
|
"pv1_emr"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"optimization": {
|
|
|
|
|
"algorithm": "GENETIC",
|
|
|
|
|
"genetic": {
|
2026-07-29 12:56:08 +02:00
|
|
|
"interval_sec": 3600,
|
|
|
|
|
"horizon_hours": 24,
|
|
|
|
|
"individuals": 400,
|
|
|
|
|
"generations": 400,
|
|
|
|
|
"seed": null,
|
2026-09-17 20:14:24 +02:00
|
|
|
"measurement_max_age_seconds": 300,
|
|
|
|
|
"tail_horizon_hours": 48,
|
|
|
|
|
"terminal_value_mode": "AUTO",
|
|
|
|
|
"terminal_value_euro_per_kwh": 0.0,
|
|
|
|
|
"terminal_value_window_hours": 24,
|
2026-07-29 12:56:08 +02:00
|
|
|
"penalties": {
|
|
|
|
|
"ev_soc_miss": 10
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"genetic0": {
|
|
|
|
|
"horizon_hours": 24,
|
2025-11-13 22:53:46 +01:00
|
|
|
"individuals": 400,
|
|
|
|
|
"generations": 400,
|
|
|
|
|
"seed": null,
|
|
|
|
|
"penalties": {
|
|
|
|
|
"ev_soc_miss": 10
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"prediction": {
|
|
|
|
|
"hours": 48,
|
|
|
|
|
"historic_hours": 48
|
|
|
|
|
},
|
|
|
|
|
"pvforecast": {
|
|
|
|
|
"provider": "PVForecastAkkudoktor",
|
2026-09-16 18:25:20 +02:00
|
|
|
"akkudoktor": {
|
|
|
|
|
"backend": "remote",
|
|
|
|
|
"resolution_minutes": 15,
|
|
|
|
|
"forecast_days": null,
|
|
|
|
|
"past_days": null,
|
|
|
|
|
"weather_models": [
|
|
|
|
|
"best_match"
|
|
|
|
|
],
|
|
|
|
|
"transposition_model": "perez",
|
|
|
|
|
"albedo": 0.25,
|
|
|
|
|
"inverter_efficiency": 0.96,
|
|
|
|
|
"temperature_coefficient": -0.36,
|
|
|
|
|
"apply_iam": true,
|
|
|
|
|
"shift_to_interval_start": true,
|
|
|
|
|
"calibration_enabled": false,
|
|
|
|
|
"calibration_days": 30,
|
|
|
|
|
"calibration_reference_days": 30,
|
|
|
|
|
"calibration_outage_filter_enabled": true,
|
|
|
|
|
"calibration_outage_threshold": 0.55,
|
|
|
|
|
"calibration_min_healthy_days": 3,
|
|
|
|
|
"calibration_azimuth_bin_degrees": 45,
|
|
|
|
|
"calibration_prior_kwh": 5.0,
|
|
|
|
|
"calibration_min_factor": 0.5,
|
|
|
|
|
"calibration_max_factor": 1.5
|
|
|
|
|
},
|
2026-07-20 14:37:03 +02:00
|
|
|
"pvforecastimport": {
|
|
|
|
|
"import_file_path": null,
|
|
|
|
|
"import_json": null
|
|
|
|
|
},
|
|
|
|
|
"vrm": {
|
|
|
|
|
"token": "your-token",
|
|
|
|
|
"site_id": 12345
|
|
|
|
|
},
|
2026-09-03 00:15:40 +02:00
|
|
|
"homeassistant": {
|
|
|
|
|
"entity_id": "sensor.pv_forecast",
|
|
|
|
|
"attribute": "forecast",
|
|
|
|
|
"datetime_key": "datetime",
|
|
|
|
|
"value_key": "watts",
|
|
|
|
|
"value_unit": "W",
|
|
|
|
|
"base_url": null,
|
|
|
|
|
"token": null
|
|
|
|
|
},
|
2026-08-07 13:13:17 +02:00
|
|
|
"pvlib": {},
|
2026-07-20 14:37:03 +02:00
|
|
|
"pvnode": {
|
|
|
|
|
"api_key": "",
|
|
|
|
|
"site_id": null,
|
|
|
|
|
"forecast_days": 2
|
|
|
|
|
},
|
|
|
|
|
"forecastsolar": {
|
|
|
|
|
"api_key": null
|
|
|
|
|
},
|
|
|
|
|
"solcast": {
|
|
|
|
|
"api_key": "",
|
|
|
|
|
"site_id": ""
|
2025-11-13 22:53:46 +01:00
|
|
|
},
|
|
|
|
|
"planes": [
|
|
|
|
|
{
|
|
|
|
|
"surface_tilt": 10.0,
|
|
|
|
|
"surface_azimuth": 180.0,
|
|
|
|
|
"userhorizon": [
|
|
|
|
|
10.0,
|
|
|
|
|
20.0,
|
|
|
|
|
30.0
|
|
|
|
|
],
|
|
|
|
|
"peakpower": 5.0,
|
|
|
|
|
"pvtechchoice": "crystSi",
|
|
|
|
|
"mountingplace": "free",
|
|
|
|
|
"loss": 14.0,
|
|
|
|
|
"trackingtype": 0,
|
|
|
|
|
"optimal_surface_tilt": false,
|
|
|
|
|
"optimalangles": false,
|
|
|
|
|
"albedo": null,
|
|
|
|
|
"module_model": null,
|
|
|
|
|
"inverter_model": null,
|
|
|
|
|
"inverter_paco": 6000,
|
|
|
|
|
"modules_per_string": 20,
|
|
|
|
|
"strings_per_inverter": 2
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"surface_tilt": 20.0,
|
|
|
|
|
"surface_azimuth": 90.0,
|
|
|
|
|
"userhorizon": [
|
|
|
|
|
5.0,
|
|
|
|
|
15.0,
|
|
|
|
|
25.0
|
|
|
|
|
],
|
|
|
|
|
"peakpower": 3.5,
|
|
|
|
|
"pvtechchoice": "crystSi",
|
|
|
|
|
"mountingplace": "free",
|
|
|
|
|
"loss": 14.0,
|
|
|
|
|
"trackingtype": 1,
|
|
|
|
|
"optimal_surface_tilt": false,
|
|
|
|
|
"optimalangles": false,
|
|
|
|
|
"albedo": null,
|
|
|
|
|
"module_model": null,
|
|
|
|
|
"inverter_model": null,
|
|
|
|
|
"inverter_paco": 4000,
|
|
|
|
|
"modules_per_string": 20,
|
|
|
|
|
"strings_per_inverter": 2
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"max_planes": 1
|
|
|
|
|
},
|
|
|
|
|
"server": {
|
|
|
|
|
"host": "127.0.0.1",
|
|
|
|
|
"port": 8503,
|
|
|
|
|
"verbose": false,
|
|
|
|
|
"startup_eosdash": true,
|
|
|
|
|
"eosdash_host": "127.0.0.1",
|
2026-02-28 11:31:51 +01:00
|
|
|
"eosdash_port": 8504,
|
2026-09-26 16:56:53 +02:00
|
|
|
"eosdash_public_url": "https://energy.example.com/dashboard",
|
2026-03-11 17:18:45 +01:00
|
|
|
"eosdash_supervise_interval_sec": 10,
|
|
|
|
|
"run_as_user": null,
|
|
|
|
|
"reload": true
|
2025-11-13 22:53:46 +01:00
|
|
|
},
|
|
|
|
|
"utils": {},
|
|
|
|
|
"weather": {
|
|
|
|
|
"provider": "WeatherImport",
|
2026-07-20 14:37:03 +02:00
|
|
|
"weatherimport": {
|
|
|
|
|
"import_file_path": null,
|
|
|
|
|
"import_json": null
|
2025-11-13 22:53:46 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
<!-- pyml enable line-length -->
|