Files
EOS/docs/_generated/configelecprice.md
Bobby Noelte 71e5abce88
Some checks are pending
Bump Version / Bump Version Workflow (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (python) (push) Waiting to run
docker-build / platform-excludes (push) Waiting to run
docker-build / build (push) Blocked by required conditions
docker-build / merge (push) Blocked by required conditions
pre-commit / pre-commit (push) Waiting to run
Run Pytest on Pull Request / test (push) Waiting to run
fix: energy charts bidding zone in request (#948)
Ensure that the bidding zone in the request is correctly set to a
string value (not an enum).

This seems to be also an issue with python version < 3.11. Add safeguards
to only use python >= 3.11. Still keep a regression test for the enum
conversion to string.

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
2026-03-15 13:32:05 +01:00

9.4 KiB

Electricity Price Prediction Configuration

:::{table} elecprice :widths: 10 20 10 5 5 30 :align: left

Name Environment Variable Type Read-Only Default Description
charges_kwh EOS_ELECPRICE__CHARGES_KWH Optional[float] rw None Electricity price charges [€/kWh]. Will be added to variable market price.
elecpricefixed EOS_ELECPRICE__ELECPRICEFIXED ElecPriceFixedCommonSettings rw required Fixed electricity price provider settings.
elecpriceimport EOS_ELECPRICE__ELECPRICEIMPORT ElecPriceImportCommonSettings rw required Import provider settings.
energycharts EOS_ELECPRICE__ENERGYCHARTS ElecPriceEnergyChartsCommonSettings rw required Energy Charts provider settings.
provider EOS_ELECPRICE__PROVIDER Optional[str] rw None Electricity price provider id of provider to be used.
providers list[str] ro N/A Available electricity price provider ids.
vat_rate EOS_ELECPRICE__VAT_RATE Optional[float] rw 1.19 VAT rate factor applied to electricity price when charges are used.
:::

Example Input

   {
       "elecprice": {
           "provider": "ElecPriceAkkudoktor",
           "charges_kwh": 0.21,
           "vat_rate": 1.19,
           "elecpricefixed": {
               "time_windows": {
                   "windows": []
               }
           },
           "elecpriceimport": {
               "import_file_path": null,
               "import_json": null
           },
           "energycharts": {
               "bidding_zone": "DE-LU"
           }
       }
   }

Example Output

   {
       "elecprice": {
           "provider": "ElecPriceAkkudoktor",
           "charges_kwh": 0.21,
           "vat_rate": 1.19,
           "elecpricefixed": {
               "time_windows": {
                   "windows": []
               }
           },
           "elecpriceimport": {
               "import_file_path": null,
               "import_json": null
           },
           "energycharts": {
               "bidding_zone": "DE-LU"
           },
           "providers": [
               "ElecPriceAkkudoktor",
               "ElecPriceEnergyCharts",
               "ElecPriceFixed",
               "ElecPriceImport"
           ]
       }
   }

Common settings for Energy Charts electricity price provider

:::{table} elecprice::energycharts :widths: 10 10 5 5 30 :align: left

Name Type Read-Only Default Description
bidding_zone <enum 'EnergyChartsBiddingZones'> rw DE-LU Bidding Zone: 'AT', 'BE', 'CH', 'CZ', 'DE-LU', 'DE-AT-LU', 'DK1', 'DK2', 'FR', 'HU', 'IT-NORTH', 'NL', 'NO2', 'PL', 'SE4' or 'SI'
:::

Example Input/Output

   {
       "elecprice": {
           "energycharts": {
               "bidding_zone": "AT"
           }
       }
   }

Common settings for elecprice data import from file or JSON String

:::{table} elecprice::elecpriceimport :widths: 10 10 5 5 30 :align: left

Name Type Read-Only Default Description
import_file_path Union[str, pathlib.Path, NoneType] rw None Path to the file to import elecprice data from.
import_json Optional[str] rw None JSON string, dictionary of electricity price forecast value lists.
:::

Example Input/Output

   {
       "elecprice": {
           "elecpriceimport": {
               "import_file_path": null,
               "import_json": "{\"elecprice_marketprice_wh\": [0.0003384, 0.0003318, 0.0003284]}"
           }
       }
   }

Value applicable during a specific time window

This model extends TimeWindow by associating a value with the defined time interval.

:::{table} elecprice::elecpricefixed::time_windows::windows::list :widths: 10 10 5 5 30 :align: left

Name Type Read-Only Default Description
date Optional[pydantic_extra_types.pendulum_dt.Date] rw None Optional specific calendar date for the time window. Naive — matched against the local date of the datetime passed to contains(). Overrides day_of_week if set.
day_of_week Union[int, str, NoneType] rw None Optional day of the week restriction. Can be specified as integer (0=Monday to 6=Sunday) or localized weekday name. If None, applies every day unless date is set.
duration Duration rw required Duration of the time window starting from start_time.
locale Optional[str] rw None Locale used to parse weekday names in day_of_week when given as string. If not set, Pendulum's default locale is used. Examples: 'en', 'de', 'fr', etc.
start_time Time rw required Naive start time of the time window (time of day, no timezone). Interpreted in the timezone of the datetime passed to contains() or earliest_start_time().
value Optional[float] rw None Value applicable during this time window.
:::

Example Input/Output

   {
       "elecprice": {
           "elecpricefixed": {
               "time_windows": {
                   "windows": [
                       {
                           "start_time": "00:00:00.000000",
                           "duration": "2 hours",
                           "day_of_week": null,
                           "date": null,
                           "locale": null,
                           "value": 0.288
                       }
                   ]
               }
           }
       }
   }

Sequence of value time windows

This model specializes TimeWindowSequence to ensure that all contained windows are instances of ValueTimeWindow. It provides the full set of sequence operations (containment checks, availability, start time calculations) for value windows.

:::{table} elecprice::elecpricefixed::time_windows :widths: 10 10 5 5 30 :align: left

Name Type Read-Only Default Description
windows list[akkudoktoreos.config.configabc.ValueTimeWindow] rw required Ordered list of value time windows. Each window defines a time interval and an associated value.
:::

Example Input/Output

   {
       "elecprice": {
           "elecpricefixed": {
               "time_windows": {
                   "windows": []
               }
           }
       }
   }

Common configuration settings for fixed electricity pricing

This model defines a fixed electricity price schedule using a sequence of time windows. Each window specifies a time interval and the electricity price applicable during that interval.

:::{table} elecprice::elecpricefixed :widths: 10 10 5 5 30 :align: left

Name Type Read-Only Default Description
time_windows ValueTimeWindowSequence rw required Sequence of time windows defining the fixed price schedule. If not provided, no fixed pricing is applied.
:::

Example Input/Output

   {
       "elecprice": {
           "elecpricefixed": {
               "time_windows": {
                   "windows": [
                       {
                           "start_time": "00:00:00.000000",
                           "duration": "8 hours",
                           "day_of_week": null,
                           "date": null,
                           "locale": null,
                           "value": 0.288
                       },
                       {
                           "start_time": "08:00:00.000000",
                           "duration": "16 hours",
                           "day_of_week": null,
                           "date": null,
                           "locale": null,
                           "value": 0.34
                       }
                   ]
               }
           }
       }
   }