Files
EOS/tests/testdata/docs/_generated/configelecprice.md
T
Bobby NoelteandGitHub 7e5aa2f218
Bump Version / Bump Version Workflow (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (python) (push) Has been cancelled
docker-build / platform-excludes (push) Has been cancelled
pre-commit / pre-commit (push) Has been cancelled
Run Pytest on Pull Request / test (push) Has been cancelled
docker-build / build (push) Has been cancelled
docker-build / merge (push) Has been cancelled
Close stale pull requests/issues / Find Stale issues and PRs (push) Has been cancelled
feat: add Tibber feed-in tariff provider (#1189)
The `FeedInTariffTibber` provider requests `priceInfo` and `priceInfoRange` with
`resolution: QUARTER_HOURLY` and preserves the native 15-minute timestamps. It uses Tibber's
`energy` spot-price component without the `tax` part or EOS electricity-price charges. The
end-customer `total` component is deliberately ignored.

The provider deliberately rejects hourly API responses instead of silently repeating them. It
reuses `elecprice.tibber.access_token` and `elecprice.tibber.home_id`, so no duplicate credentials
are needed.

Signed-off-by: Andreas Schmitz <akkudoktor.net>
Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
2026-07-24 15:52:26 +02:00

11 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 `float None` rw None
elecpricefixed EOS_ELECPRICE__ELECPRICEFIXED ElecPriceFixedCommonSettings rw required Fixed electricity price provider settings.
elecpriceimport EOS_ELECPRICE__ELECPRICEIMPORT ElecPriceImportCommonSettings rw required Electricity price import provider settings.
energycharts EOS_ELECPRICE__ENERGYCHARTS ElecPriceEnergyChartsCommonSettings rw required Energy Charts provider settings.
provider EOS_ELECPRICE__PROVIDER `str None` rw None
providers list[str] ro N/A Available electricity price provider ids.
tibber EOS_ELECPRICE__TIBBER ElecPriceTibberCommonSettings rw required Tibber electricity price provider settings.
vat_rate EOS_ELECPRICE__VAT_RATE `float None` rw 1.19
:::

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"
           },
           "tibber": {
               "access_token": null,
               "home_id": null
           }
       }
   }

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"
           },
           "tibber": {
               "access_token": null,
               "home_id": null
           },
           "providers": [
               "ElecPriceAkkudoktor",
               "ElecPriceEnergyCharts",
               "ElecPriceFixed",
               "ElecPriceImport",
               "ElecPriceTibber"
           ]
       }
   }

Common settings for the Tibber electricity price provider

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

Name Type Read-Only Default Description
access_token `str None` rw None
home_id `str None` rw None
:::

Example Input/Output

   {
       "elecprice": {
           "tibber": {
               "access_token": "tibber_pat_...",
               "home_id": "00000000-0000-0000-0000-000000000000"
           }
       }
   }

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 `str pathlib.Path None` rw
import_json `str None` rw None
:::

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 `pydantic_extra_types.pendulum_dt.Date None` rw None
day_of_week `int str None` rw
duration Duration rw required Duration of the time window starting from start_time.
locale `str None` rw None
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 `float None` rw None
:::

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
                       }
                   ]
               }
           }
       }
   }