From c1965afd1b225b40481555afc86334861f8180b6 Mon Sep 17 00:00:00 2001 From: Michael Geers Date: Wed, 8 May 2024 14:11:09 +0200 Subject: [PATCH] Add tariff templates (#562) --- docs/devices/tariffs.mdx | 360 ++++++++++++++++++ docs/devices/tariffs/_category_.json | 3 + .../tariffs/_dynamischer_strompreis.mdx | 41 ++ docs/faq.mdx | 2 +- docs/features/co2.mdx | 2 +- docs/features/dynamic-prices.mdx | 10 +- .../current/devices/tariffs.mdx | 354 +++++++++++++++++ .../tariffs/_dynamic_electricity_price.mdx | 41 ++ .../current/faq.mdx | 2 +- .../current/features/co2.mdx | 2 +- .../current/features/dynamic-prices.mdx | 10 +- src/generateFromTemplate.js | 33 +- templates/release/de/tariff/allinpower_0.yaml | 12 +- templates/release/de/tariff/amber_0.yaml | 15 +- templates/release/de/tariff/awattar_0.yaml | 13 +- .../release/de/tariff/electricitymaps_0.yaml | 13 + templates/release/de/tariff/elering_0.yaml | 13 + templates/release/de/tariff/energinet_0.yaml | 12 + .../de/tariff/energy-charts-api_0.yaml | 12 + templates/release/de/tariff/entsoe_0.yaml | 15 + templates/release/de/tariff/fixed_0.yaml | 7 - templates/release/de/tariff/groupe-e_0.yaml | 12 +- .../de/tariff/gr\303\274nstromindex_0.yaml" | 5 +- templates/release/de/tariff/ngeso_0.yaml | 11 + .../release/de/tariff/octopus-api_0.yaml | 6 +- .../de/tariff/octopus-productcode_0.yaml | 6 +- templates/release/de/tariff/pun_0.yaml | 12 +- .../release/de/tariff/smartenergy_0.yaml | 12 +- templates/release/de/tariff/tibber_0.yaml | 16 +- templates/release/en/tariff/allinpower_0.yaml | 12 +- templates/release/en/tariff/amber_0.yaml | 15 +- templates/release/en/tariff/awattar_0.yaml | 13 +- .../release/en/tariff/electricitymaps_0.yaml | 13 + templates/release/en/tariff/elering_0.yaml | 13 + templates/release/en/tariff/energinet_0.yaml | 12 + .../en/tariff/energy-charts-api_0.yaml | 12 + templates/release/en/tariff/entsoe_0.yaml | 15 + templates/release/en/tariff/fixed_0.yaml | 7 - templates/release/en/tariff/groupe-e_0.yaml | 12 +- .../en/tariff/gr\303\274nstromindex_0.yaml" | 5 +- templates/release/en/tariff/ngeso_0.yaml | 11 + .../release/en/tariff/octopus-api_0.yaml | 7 +- .../en/tariff/octopus-productcode_0.yaml | 7 +- templates/release/en/tariff/pun_0.yaml | 12 +- .../release/en/tariff/smartenergy_0.yaml | 12 +- templates/release/en/tariff/tibber_0.yaml | 16 +- 46 files changed, 1101 insertions(+), 145 deletions(-) create mode 100644 docs/devices/tariffs.mdx create mode 100644 docs/devices/tariffs/_category_.json create mode 100644 docs/devices/tariffs/_dynamischer_strompreis.mdx create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/devices/tariffs.mdx create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/devices/tariffs/_dynamic_electricity_price.mdx create mode 100644 templates/release/de/tariff/electricitymaps_0.yaml create mode 100644 templates/release/de/tariff/elering_0.yaml create mode 100644 templates/release/de/tariff/energinet_0.yaml create mode 100644 templates/release/de/tariff/energy-charts-api_0.yaml create mode 100644 templates/release/de/tariff/entsoe_0.yaml delete mode 100644 templates/release/de/tariff/fixed_0.yaml create mode 100644 templates/release/de/tariff/ngeso_0.yaml create mode 100644 templates/release/en/tariff/electricitymaps_0.yaml create mode 100644 templates/release/en/tariff/elering_0.yaml create mode 100644 templates/release/en/tariff/energinet_0.yaml create mode 100644 templates/release/en/tariff/energy-charts-api_0.yaml create mode 100644 templates/release/en/tariff/entsoe_0.yaml delete mode 100644 templates/release/en/tariff/fixed_0.yaml create mode 100644 templates/release/en/tariff/ngeso_0.yaml diff --git a/docs/devices/tariffs.mdx b/docs/devices/tariffs.mdx new file mode 100644 index 0000000000..eeb87e3f4e --- /dev/null +++ b/docs/devices/tariffs.mdx @@ -0,0 +1,360 @@ +--- +sidebar_position: 4 +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +# Stromtarife + +Indem du Stromtarife für Netzbezug, Einspeisung und CO₂-Intensität konfigurierst kann evcc deine Ersparnis berechnen und Ladevorgänge automatisch auf günstige Zeiten verschieben. + +## Fester Strompreis + +Der einfachste Fall sind feste Werte für Netzbezug (`grid`) und Einspeisung (`feedin`). + +```yaml +tariffs: + currency: EUR # (default EUR) + grid: + type: fixed + price: 0.294 # EUR/kWh + feedin: + type: fixed + price: 0.08 # EUR/kWh + co2: + ... +``` + +## Zeitabhängiger Strompreis + +Stromtarife mit festen zeitabhängigen Preisen können ebenfalls definiert werden. + +```yaml +tariffs: + grid: + type: fixed + price: 0.294 # EUR/kWh (default) + zones: + - days: Mo-Fr + hours: 2-5 + price: 0.2 # EUR/kWh + - days: Sa,So + price: 0.15 # EUR/kWh +``` + +Unter `zones` kann eine Liste von Preiszonen definiert werden. +Der Geltungszeitraum wird durch `days` und/oder `hours` definiert. +Ist für einen Zeitpunkt keine Preiszone definiert, wird der Standardpreis verwendet. + +Der Befehl `evcc tariff` zeigt die Preisliste der kommenden Stunden an. + +``` +$ ./evcc tariff + +grid: +From To Price/Cost +2026-05-03 00:00:00 2026-05-03 01:00:00 0.399 +... + +feedin: +From To Price/Cost +2026-05-03 00:00:00 2026-05-03 01:00:00 0.080 +... +``` + + + + + +## CO₂ Vorhersage + +### Electricity Maps Commercial API + +CO₂-Daten für viele Länder von https://electricitymaps.com/. Der 'Free Personal Tier' beinhaltet leider keine Prognosedaten. Dafür benötigen Sie einen kommerziellen Account von https://api-portal.electricitymaps.com/. Kostenloser Testmonat verfügbar. + +```yaml +tariffs: + co2: + type: template + template: electricitymaps + uri: https://api-access.electricitymaps.com/2w...1g/ # HTTP(S) Adresse + token: + zone: DE # siehe https://api.electricitymap.org/v3/zones +``` + + + +### Grünstromindex + +Regionale Emissionsdaten von https://gruenstromindex.de. Nur für Deutschland verfügbar. + +```yaml +tariffs: + co2: + type: template + template: grünstromindex + zip: +``` + + + +### National Grid ESO + +Nur für Großbritannien verfügbar. + +```yaml +tariffs: + co2: + type: template + template: ngeso + region: 1 # Ungenauer als die Verwendung eines Postleitzahl. Siehe https://carbon-intensity.github.io/api-definitions/#region-list (optional) + postalcode: SW1 # Postleitzahl z.B. RG41 oder SW1 oder TF8. Nicht die vollständige Postleitzahl, nur die ersten Stellen. (optional) +``` + + + +## Dynamischer Strompreis + +### Eigenes Plugin + +Über mit dem Plugin Mechanismus kann eine eigene Tarif-Quelle angebunden werden. + +**Beispiel: Aktueller Preis via HTTP** + +```yaml +tariffs: + grid: + type: custom + price: + source: http + uri: https://example.com/api/price +``` + +Der vom Endpunkt zurückgegebene Wert wird als Netzbezugspreis verwendet. + +**Beispiel: Vorhersagen via HTTP** + +```yaml +tariffs: + grid: + type: custom + forecast: + source: http + uri: https://api.allinpower.nl/troodon/api/p/spot_market/prices/?product_type=ELK + jq: '[.timestamps, .prices] | transpose | map({ "start": (.[0] | strptime("%Y-%m-%dT%H:%M:%S.%f%z") | strftime("%Y-%m-%dT%H:%M:%SZ")), "end": (.[0] | strptime("%Y-%m-%dT%H:%M:%S.%f%z") | mktime + 3600 | strftime("%Y-%m-%dT%H:%M:%SZ")), "price": .[1] }) | tostring' +``` + +Das Plugin muss eine JSON-Struktur zurückgeben, welches eine Liste von Zeiträumen und Preisen enthält. Die Zeiträume müssen in der Form `YYYY-MM-DDTHH:MM:SSZ` sein. +Die Preise müssen in der angegebenen Währungseinheit sein (bspw. EUR). + +```js +[ + { "start": "2025-01-01T00:00:00Z", "end": "2025-01-01T01:00:00Z", "price": 25.0 }, + { "start": "2025-01-01T01:00:00Z", "end": "2025-01-01T02:00:00Z", "price": 30.0 }, +] +``` +### All in Power + +Nur für die Niederlande verfügbar. + +```yaml +tariffs: + grid: + type: template + template: allinpower + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) +``` + + + +### Amber Electric + +Nur für Australien verfügbar. + +```yaml +tariffs: + grid: + type: template + template: amber + token: # optional + siteid: # optional + channel: # optional + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) +``` + + + +### Awattar + +Nur für Deutschland und Österreich verfügbar. + +```yaml +tariffs: + grid: + type: template + template: awattar + region: AT # optional + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) +``` + + + +### Energinet + +Nur für Dänemark verfügbar. + +```yaml +tariffs: + grid: + type: template + template: energinet + region: dk1 # optional + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) +``` + + + +### ENTSO-E + +Day-ahead-Preise für den europäischen Strommarkt. Siehe https://transparency.entsoe.eu für weitere Informationen. +Basis für viele dynamische Tarife. + +```yaml +tariffs: + grid: + type: template + template: entsoe + securitytoken: # Registrierung und anschließende Helpdesk-Anfrage erforderlich. Details zum Ablauf gibts hier https://transparency.entsoe.eu/content/static_content/Static%20content/web%20api/Guide.html#_authentication_and_authorisation (optional) + domain: BZN|DE-LU # siehe https://transparency.entsoe.eu/content/static_content/Static%20content/web%20api/Guide.html#_areas (optional) + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) +``` + + + +### Fraunhofer ISE + +Day-ahead Energiepreise (je kWh) an der Börse. Kann ohne vorherige Anmeldung auf https://api.energy-charts.info/ abgerufen werden. Nutzbar u.a. für dynamische Stromtarife, wo der Anbieter bis dato auf der Kundenschnittstelle noch kein Preis-Vorhersagen anbietet. + +```yaml +tariffs: + grid: + type: template + template: energy-charts-api + bzn: DE-LU + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) +``` + + + +### Groupe E Vario Plus + +Nur für die Schweiz verfügbar. + +```yaml +tariffs: + grid: + type: template + template: groupe-e + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) +``` + + + +### Nordpool Elering + +Nur für Estland verfügbar. + +```yaml +tariffs: + grid: + type: template + template: elering + region: ee # optional + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) +``` + + + +### Octopus Energy + +#### API + +Den API-Key bekommst du im Octopus Portal https://octopus.energy/dashboard/new/accounts/personal-details/api-access + +```yaml +tariffs: + grid: + type: template + template: octopus-api + apiKey: # Octopus Energy API Key. +``` + + + +#### Product Code + +```yaml +tariffs: + grid: + type: template + template: octopus-productcode + productCode: AGILE-FLEX-22-11-25 # Der Tarifcode für Ihren Energievertrag. Stellen Sie sicher, dass dieser auf Ihren Importtarifcode eingestellt ist. + region: # Die DNO-Region, in der Sie sich befinden. Weitere Informationen: https://www.energy-stats.uk/dno-region-codes-explained/ +``` + + + +### PUN Orario + +Preisdaten von https://www.mercatoelettrico.org/it/. Wird oft zur Einspeisung ins Netz verwendet. Nur für Italien verfügbar. + +```yaml +tariffs: + grid: + type: template + template: pun + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) +``` + + + +### SmartEnergy smartCONTROL + +Nur für Österreich verfügbar. + +```yaml +tariffs: + grid: + type: template + template: smartenergy + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) +``` + + + +### Tibber + +Hol dir deinen API-Token aus dem Tibber-Entwicklerportal: https://developer.tibber.com/ + +```yaml +tariffs: + grid: + type: template + template: tibber + token: 476c477d8a039529478ebd690d35ddd80e3308ffc49b59c65b142321aee963a4 + homeid: cc83e83e-8cbf-4595-9bf7-c3cf192f7d9c # Nur erforderlich, wenn du mehrere Häuser in deinem Tibber-Konto hast. (optional) + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) +``` + diff --git a/docs/devices/tariffs/_category_.json b/docs/devices/tariffs/_category_.json new file mode 100644 index 0000000000..ec1ca19772 --- /dev/null +++ b/docs/devices/tariffs/_category_.json @@ -0,0 +1,3 @@ +{ + "label": "Tarife" +} \ No newline at end of file diff --git a/docs/devices/tariffs/_dynamischer_strompreis.mdx b/docs/devices/tariffs/_dynamischer_strompreis.mdx new file mode 100644 index 0000000000..7d1270bfb9 --- /dev/null +++ b/docs/devices/tariffs/_dynamischer_strompreis.mdx @@ -0,0 +1,41 @@ +### Eigenes Plugin + +Über mit dem Plugin Mechanismus kann eine eigene Tarif-Quelle angebunden werden. + +**Beispiel: Aktueller Preis via HTTP** + +```yaml +tariffs: + grid: + type: custom + price: + source: http + uri: https://example.com/api/price +``` + +Der vom Endpunkt zurückgegebene Wert wird als Netzbezugspreis verwendet. + +**Beispiel: Vorhersagen via HTTP** + +```yaml +tariffs: + grid: + type: custom + forecast: + source: http + uri: https://api.allinpower.nl/troodon/api/p/spot_market/prices/?product_type=ELK + jq: '[.timestamps, .prices] | transpose | map({ "start": (.[0] | strptime("%Y-%m-%dT%H:%M:%S.%f%z") | strftime("%Y-%m-%dT%H:%M:%SZ")), "end": (.[0] | strptime("%Y-%m-%dT%H:%M:%S.%f%z") | mktime + 3600 | strftime("%Y-%m-%dT%H:%M:%SZ")), "price": .[1] }) | tostring' +``` + +Das Plugin muss eine JSON-Struktur zurückgeben, welches eine Liste von Zeiträumen und Preisen enthält. +Die Datumsfelder müssen in der Form `YYYY-MM-DDTHH:MM:SSZ` und der Preis in der korrekten Währungseinheit (bspw. EUR) angegeben werden. +Siehe nachfolgendes Beispiel: + +```js +[ + { "start": "2025-01-01T00:00:00Z", "end": "2025-01-01T01:00:00Z", "price": 25.0 }, + { "start": "2025-01-01T01:00:00Z", "end": "2025-01-01T02:00:00Z", "price": 30.0 }, +] +``` + +Das Plugin wird einmal pro Stunde aktualisiert. \ No newline at end of file diff --git a/docs/faq.mdx b/docs/faq.mdx index 794eedaaaa..723deb8068 100644 --- a/docs/faq.mdx +++ b/docs/faq.mdx @@ -326,7 +326,7 @@ tariffs: price: 0.08 # [currency]/kWh ``` -Mehr Details zur Konfiguration findest du in [`tariffs`](/docs/reference/configuration/tariffs). +Mehr Details zur Konfiguration findest du in [`tariffs`](/docs/devices/tariffs). Für die Berechnung der Einsparungen erfasst evcc grob die Gesamtmenge der geladenen Energie und die verwendeten Energiequellen (Netz, Batterie, PV). diff --git a/docs/features/co2.mdx b/docs/features/co2.mdx index 24ffdb20e6..89caed1bb9 100644 --- a/docs/features/co2.mdx +++ b/docs/features/co2.mdx @@ -26,7 +26,7 @@ tariffs: ``` In diesem Beispiel verwenden wir die Daten von [GrünstromIndex](https://www.gruenstromindex.de/). -Unter [tariffs](../reference/configuration/tariffs#co2) findest du eine Liste aller unterstützten Datenquellen. +Unter [tariffs](../devices/tariffs) findest du eine Liste aller unterstützten Datenquellen. ## Sauberes Netzladen diff --git a/docs/features/dynamic-prices.mdx b/docs/features/dynamic-prices.mdx index 87af6636be..ab85888740 100644 --- a/docs/features/dynamic-prices.mdx +++ b/docs/features/dynamic-prices.mdx @@ -23,7 +23,7 @@ tariffs: currency: EUR grid: type: fixed - price: 0.32 # 32ct/kWh + price: 0.32 # EUR/kWh ``` ### Zeitabhängiger Strompreis @@ -36,13 +36,13 @@ tariffs: currency: EUR grid: type: fixed - price: 0.32 # 32ct/kWh (default) + price: 0.32 # EUR/kWh (default) zones: - days: Mo-Fr hours: 2-6 - price: 0.22 # 20ct/kWh (werkstags 2-6 Uhr) + price: 0.22 # EUR/kWh (werkstags 2-6 Uhr) - days: Sa,So - price: 0.12 # 12ct/kWh (Wochenende) + price: 0.12 # EUR/kWh (Wochenende) ``` ### Dynamischer Strompreis via API @@ -57,7 +57,7 @@ tariffs: token: "..." # Access Token ``` -Unter [tariffs](../reference/configuration/tariffs/) findest du eine Liste aller unterstützten Tarife. +Unter [tariffs](../devices/tariffs) findest du eine Liste aller unterstützten Tarife. Wenn dein Anbieter eine Schnittstelle hat, aber noch nicht von evcc unterstützt wird, dann mach gerne einen [Feature Request](https://github.com/evcc-io/evcc/issues/new/choose) auf. ## Günstiges Netzladen diff --git a/i18n/en/docusaurus-plugin-content-docs/current/devices/tariffs.mdx b/i18n/en/docusaurus-plugin-content-docs/current/devices/tariffs.mdx new file mode 100644 index 0000000000..dd9f3efcff --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/devices/tariffs.mdx @@ -0,0 +1,354 @@ +--- +sidebar_position: 4 +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +# Tariffs + +You can configure electricity tariffs for grid consumption, feed-in and CO₂ intensity. This allows evcc to calculate your savings and automatically shift charging to cheaper times. + +## Fixed Electricity Price + +The simplest case is fixed values for grid consumption (`grid`) and feed-in (`feedin`). + + +```yaml +tariffs: + currency: EUR # (default EUR) + grid: + type: fixed + price: 0.294 # EUR/kWh + feedin: + type: fixed + price: 0.08 # EUR/kWh + co2: + ... +``` + +## Time-based Electricity Price + +Electricity tariffs with fixed time-based prices can also be defined. + +```yaml +tariffs: + grid: + type: fixed + price: 0.294 # EUR/kWh (default) + zones: + - days: Mo-Fr + hours: 2-5 + price: 0.2 # EUR/kWh + - days: Sa,So + price: 0.15 # EUR/kWh +``` + +You can also define a list of price zones under `zones`. +The validity period is defined by `days` and/or `hours`. +If no price zone is defined for a time, the default price is used. + +The `evcc tariff` command shows the price list for the upcoming hours. + +``` +$ ./evcc tariff + +grid: +From To Price/Cost +2026-05-03 00:00:00 2026-05-03 01:00:00 0.399 +... + +feedin: +From To Price/Cost +2026-05-03 00:00:00 2026-05-03 01:00:00 0.080 +... +``` + + + + + +## CO₂ forecast + +### Electricity Maps Commercial API + +CO₂ data for many countries from https://electricitymaps.com/. The 'Free Personal Tier' unfortunately does not include forecast data. You'll need a commercial account from https://api-portal.electricitymaps.com/. Free trial available. + +```yaml +tariffs: + co2: + type: template + template: electricitymaps + uri: https://api-access.electricitymaps.com/2w...1g/ # HTTP(S) address + token: + zone: DE # see https://api.electricitymap.org/v3/zones +``` + + + +### Grünstromindex + +Regional emission data from https://gruenstromindex.de. Only available for Germany. + +```yaml +tariffs: + co2: + type: template + template: grünstromindex + zip: +``` + + + +### National Grid ESO + +Only available for the United Kingdom. + +```yaml +tariffs: + co2: + type: template + template: ngeso + region: 1 # Coarser than using a postcode. See https://carbon-intensity.github.io/api-definitions/#region-list (optional) + postalcode: SW1 # Outward postcode i.e. RG41 or SW1 or TF8. Do not include full postcode, outward postcode only. (optional) +``` + + + +## Dynamic electricity price + +### Custom plugin + +The plugin must return a JSON structure containing a list of time periods and prices. The time periods must be in the form `YYYY-MM-DDTHH:MM:SSZ`. The prices must be given in cents. + +```json +[ + { + "start": "2025-01-01T00:00:00Z", + "end": "2025-01-01T01:00:00Z", + "price": 25.0 + }, + { + "start": "2025-01-01T01:00:00Z", + "end": "2025-01-01T02:00:00Z", + "price": 30.0 + } +] +``` + +Here is an example: + +```yaml +tariffs: + grid: + type: custom + forecast: + source: http + uri: https://api.allinpower.nl/troodon/api/p/spot_market/prices/?product_type=ELK + jq: '[.timestamps, .prices] | transpose | map({ "start": (.[0] | strptime("%Y-%m-%dT%H:%M:%S.%f%z") | strftime("%Y-%m-%dT%H:%M:%SZ")), "end": (.[0] | strptime("%Y-%m-%dT%H:%M:%S.%f%z") | mktime + 3600 | strftime("%Y-%m-%dT%H:%M:%SZ")), "price": .[1] }) | tostring' +``` + +### All in Power + +Only available for the Netherlands. + +```yaml +tariffs: + grid: + type: template + template: allinpower + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) +``` + + + +### Amber Electric + +Only available for Australia. + +```yaml +tariffs: + grid: + type: template + template: amber + token: # optional + siteid: # optional + channel: # optional + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) +``` + + + +### Awattar + +Only available for Germany and Austria. + +```yaml +tariffs: + grid: + type: template + template: awattar + region: AT # optional + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) +``` + + + +### Energinet + +Only available for Denmark. + +```yaml +tariffs: + grid: + type: template + template: energinet + region: dk1 # optional + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) +``` + + + +### ENTSO-E + +Day-ahead prices for the European electricity market. See https://transparency.entsoe.eu for more information. +Basis for many dynamic tariffs. + +```yaml +tariffs: + grid: + type: template + template: entsoe + securitytoken: # Registration and subsequent helpdesk request required. Details on the process can be found here https://transparency.entsoe.eu/content/static_content/Static%20content/web%20api/Guide.html#_authentication_and_authorisation (optional) + domain: BZN|DE-LU # see https://transparency.entsoe.eu/content/static_content/Static%20content/web%20api/Guide.html#_areas (optional) + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) +``` + + + +### Fraunhofer ISE + +Day-ahead forecast of energy prices (per kWh) on the exchange. No prior registration for https://api.energy-charts.info/ necessary. Can be used for dynamic electricity tariffs, for example, where the supplier does not yet offer a price forecast on the customer interface. + +```yaml +tariffs: + grid: + type: template + template: energy-charts-api + bzn: DE-LU + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) +``` + + + +### Groupe E Vario Plus + +Only available for Switzerland. + +```yaml +tariffs: + grid: + type: template + template: groupe-e + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) +``` + + + +### Nordpool Elering + +Only available for Estonia. + +```yaml +tariffs: + grid: + type: template + template: elering + region: ee # optional + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) +``` + + + +### Octopus Energy + +#### API + +You can get the API key in the Octopus portal https://octopus.energy/dashboard/new/accounts/personal-details/api-access + +```yaml +tariffs: + grid: + type: template + template: octopus-api + apiKey: # Octopus Energy API Key. +``` + + + +#### Product Code + +```yaml +tariffs: + grid: + type: template + template: octopus-productcode + productCode: AGILE-FLEX-22-11-25 # The tariff code for your energy contract. Make sure this is set to your import tariff code. + region: # The DNO region you are located in. More information: https://www.energy-stats.uk/dno-region-codes-explained/ +``` + + + +### PUN Orario + +Price data from https://www.mercatoelettrico.org/it/. Often used for feeding into the grid. Only available for Italy. + +```yaml +tariffs: + grid: + type: template + template: pun + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) +``` + + + +### SmartEnergy smartCONTROL + +Only available for Austria. + +```yaml +tariffs: + grid: + type: template + template: smartenergy + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) +``` + + + +### Tibber + +Get your API token from the Tibber developer portal: https://developer.tibber.com/ + +```yaml +tariffs: + grid: + type: template + template: tibber + token: 476c477d8a039529478ebd690d35ddd80e3308ffc49b59c65b142321aee963a4 + homeid: cc83e83e-8cbf-4595-9bf7-c3cf192f7d9c # Only required if you have multiple homes in your Tibber account. (optional) + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) +``` + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/devices/tariffs/_dynamic_electricity_price.mdx b/i18n/en/docusaurus-plugin-content-docs/current/devices/tariffs/_dynamic_electricity_price.mdx new file mode 100644 index 0000000000..628811fe0d --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/devices/tariffs/_dynamic_electricity_price.mdx @@ -0,0 +1,41 @@ +### Custom Plugin + +Use the plugin mechanism to connect a custom tariff source. + +**Example: Current price via HTTP** + +```yaml +tariffs: + grid: + type: custom + price: + source: http + uri: https://example.com/api/price +``` + +The value returned by the endpoint is used as the grid price. + +**Example: Forecasts via HTTP** + +```yaml +tariffs: + grid: + type: custom + forecast: + source: http + uri: https://api.allinpower.nl/troodon/api/p/spot_market/prices/?product_type=ELK + jq: '[.timestamps, .prices] | transpose | map({ "start": (.[0] | strptime("%Y-%m-%dT%H:%M:%S.%f%z") | strftime("%Y-%m-%dT%H:%M:%SZ")), "end": (.[0] | strptime("%Y-%m-%dT%H:%M:%S.%f%z") | mktime + 3600 | strftime("%Y-%m-%dT%H:%M:%SZ")), "price": .[1] }) | tostring' +``` + +The plugin must return a JSON structure containing a list of time periods and prices. +The date fields must be in the form `YYYY-MM-DDTHH:MM:SSZ` and the price in the correct currency unit (e.g. EUR). +See the following example: + +```js +[ + { "start": "2025-01-01T00:00:00Z", "end": "2025-01-01T01:00:00Z", "price": 25.0 }, + { "start": "2025-01-01T01:00:00Z", "end": "2025-01-01T02:00:00Z", "price": 30.0 }, +] +``` + +The plugin is updated once per hour. diff --git a/i18n/en/docusaurus-plugin-content-docs/current/faq.mdx b/i18n/en/docusaurus-plugin-content-docs/current/faq.mdx index 13b29ba1fe..de313f291a 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/faq.mdx +++ b/i18n/en/docusaurus-plugin-content-docs/current/faq.mdx @@ -334,7 +334,7 @@ tariffs: price: 0.08 # [currency]/kWh ``` -More details, including on how to use variable rate tariffs (such as those from Octopus Energy) can be found in [Configuration - Tariffs](/docs/reference/configuration/tariffs). +More details, including on how to use variable rate tariffs (such as those from Octopus Energy) can be found in [Configuration - Tariffs](/docs/devices/tariffs). _Please note that these statistics are rough and shouldn't be treated as perfectly accurate._ diff --git a/i18n/en/docusaurus-plugin-content-docs/current/features/co2.mdx b/i18n/en/docusaurus-plugin-content-docs/current/features/co2.mdx index 559f134769..562cd08603 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/features/co2.mdx +++ b/i18n/en/docusaurus-plugin-content-docs/current/features/co2.mdx @@ -25,7 +25,7 @@ tariffs: zip: 12349 # ZIP code ``` -In this example, we'll use data from GrünstromIndex. See tariffs for a list of all [supported data sources](../reference/configuration/tariffs#co2). +In this example, we'll use data from GrünstromIndex. See tariffs for a list of all [supported data sources](../devices/tariffs). ## Clean web charging diff --git a/i18n/en/docusaurus-plugin-content-docs/current/features/dynamic-prices.mdx b/i18n/en/docusaurus-plugin-content-docs/current/features/dynamic-prices.mdx index 5589128acc..2f8e8c9515 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/features/dynamic-prices.mdx +++ b/i18n/en/docusaurus-plugin-content-docs/current/features/dynamic-prices.mdx @@ -27,7 +27,7 @@ tariffs: currency: EUR grid: type: fixed - price: 0.32 # 32ct/kWh + price: 0.32 # EUR/kWh ``` ### Zeitabhängiger Strompreis @@ -40,13 +40,13 @@ tariffs: currency: EUR grid: type: fixed - price: 0.32 # 32ct/kWh (default) + price: 0.32 # EUR/kWh (default) zones: - days: Mo-Fr hours: 2-6 - price: 0.22 # 20ct/kWh (werkstags 2-6 Uhr) + price: 0.22 # EUR/kWh (werkstags 2-6 Uhr) - days: Sa,So - price: 0.12 # 12ct/kWh (Wochenende) + price: 0.12 # EUR/kWh (Wochenende) ``` ### Dynamischer Strompreis via API @@ -61,7 +61,7 @@ tariffs: token: "..." # Access Token ``` -Unter [tariffs](../reference/configuration/tariffs/) findest du eine Liste aller unterstützten Tarife. +Unter [tariffs](../devices/tariffs) findest du eine Liste aller unterstützten Tarife. Wenn dein Anbieter eine Schnittstelle hat, aber noch nicht von evcc unterstützt wird, dann mach gerne einen [Feature Request](https://github.com/evcc-io/evcc/issues/new/choose) auf. ## Günstiges Netzladen diff --git a/src/generateFromTemplate.js b/src/generateFromTemplate.js index 60fa77c14a..76732d5e79 100644 --- a/src/generateFromTemplate.js +++ b/src/generateFromTemplate.js @@ -4,6 +4,13 @@ const _ = require("lodash"); const AUTOGEN_MARKER = ""; +const TARIFF_GROUPS = { + "Dynamic electricity price": "price", + "Dynamischer Strompreis": "price", + "CO₂ Vorhersage": "co2", + "CO₂ forecast": "co2", +}; + const CODE_PREAMBLES = { vehicle: "vehicles:\n - name: my_car", charger: "chargers:\n - name: my_charger", @@ -13,6 +20,8 @@ const CODE_PREAMBLES = { battery: "meters:\n - name: my_battery", charge: "meters:\n - name: my_charger", aux: "meters:\n - name: my_aux", + price: "tariffs:\n grid:", + co2: "tariffs:\n co2:", }; const TRANSLATIONS = { @@ -29,9 +38,9 @@ function escapeRegExp(text) { function readTemplates(path) { const files = fs.readdirSync(path); - return files.map((file) => - yaml.load(fs.readFileSync(`${path}/${file}`, "utf8")), - ); + return files + .filter((file) => file.endsWith(".yaml")) + .map((file) => yaml.load(fs.readFileSync(`${path}/${file}`, "utf8"))); } function indent(code) { @@ -41,13 +50,19 @@ function indent(code) { function templateContent(entry, type) { const description = entry.description ? entry.description + "\n" : ""; - const codeBlocks = entry.render.map((render) => ({ - usage: render.usage, - code: `\`\`\`yaml -${CODE_PREAMBLES[render.usage || type]} + const codeBlocks = entry.render.map((render) => { + let preamble = render.usage || type; + if (type === "tariff") { + preamble = TARIFF_GROUPS[entry.product.group]; + } + return { + usage: render.usage, + code: `\`\`\`yaml +${CODE_PREAMBLES[preamble]} ${indent(render.default).trimEnd()} \`\`\``, - })); + }; + }); let code = ""; if (codeBlocks.length === 1) { @@ -182,7 +197,7 @@ function generateMarkdown(data, type, target) { fs.writeFileSync(target, content, "utf-8"); } -["vehicle", "meter", "charger"].forEach((type) => { +["vehicle", "meter", "charger", "tariff"].forEach((type) => { // German const templatesDe = readTemplates(`./templates/release/de/${type}`); generateMarkdown(templatesDe, type, `./docs/devices/${type}s.mdx`); diff --git a/templates/release/de/tariff/allinpower_0.yaml b/templates/release/de/tariff/allinpower_0.yaml index 19da3275bf..8278ed4321 100644 --- a/templates/release/de/tariff/allinpower_0.yaml +++ b/templates/release/de/tariff/allinpower_0.yaml @@ -1,11 +1,11 @@ product: - brand: All in Power (NL) + brand: All in Power + group: Dynamischer Strompreis +description: | + Nur für die Niederlande verfügbar. render: - default: | type: template template: allinpower - advanced: | - type: template - template: allinpower - costs: # optional - tax: # optional + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) diff --git a/templates/release/de/tariff/amber_0.yaml b/templates/release/de/tariff/amber_0.yaml index 0f6da1cdc4..64ffee8494 100644 --- a/templates/release/de/tariff/amber_0.yaml +++ b/templates/release/de/tariff/amber_0.yaml @@ -1,5 +1,8 @@ product: - brand: Amber Electric (AU) + brand: Amber Electric + group: Dynamischer Strompreis +description: | + Nur für Australien verfügbar. render: - default: | type: template @@ -7,11 +10,5 @@ render: token: # optional siteid: # optional channel: # optional - advanced: | - type: template - template: amber - costs: # optional - tax: # optional - token: # optional - siteid: # optional - channel: # optional + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) diff --git a/templates/release/de/tariff/awattar_0.yaml b/templates/release/de/tariff/awattar_0.yaml index 566fbe8666..0a53bfbccc 100644 --- a/templates/release/de/tariff/awattar_0.yaml +++ b/templates/release/de/tariff/awattar_0.yaml @@ -1,13 +1,12 @@ product: brand: Awattar + group: Dynamischer Strompreis +description: | + Nur für Deutschland und Österreich verfügbar. render: - default: | type: template template: awattar - region: # optional - advanced: | - type: template - template: awattar - costs: # optional - tax: # optional - region: # optional + region: AT # optional + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) diff --git a/templates/release/de/tariff/electricitymaps_0.yaml b/templates/release/de/tariff/electricitymaps_0.yaml new file mode 100644 index 0000000000..a78b37ce6a --- /dev/null +++ b/templates/release/de/tariff/electricitymaps_0.yaml @@ -0,0 +1,13 @@ +product: + brand: Electricity Maps + description: Commercial API + group: CO₂ Vorhersage +description: | + CO₂-Daten für viele Länder von https://electricitymaps.com/. Der 'Free Personal Tier' beinhaltet leider keine Prognosedaten. Dafür benötigst du einen kommerziellen Account von https://api-portal.electricitymaps.com/. Kostenloser Testmonat verfügbar. +render: + - default: | + type: template + template: electricitymaps + uri: https://api-access.electricitymaps.com/2w...1g/ # HTTP(S) Adresse + token: + zone: DE # siehe https://api.electricitymap.org/v3/zones diff --git a/templates/release/de/tariff/elering_0.yaml b/templates/release/de/tariff/elering_0.yaml new file mode 100644 index 0000000000..0b5005e458 --- /dev/null +++ b/templates/release/de/tariff/elering_0.yaml @@ -0,0 +1,13 @@ +product: + brand: Nordpool + description: Elering + group: Dynamischer Strompreis +description: | + Nur für Estland verfügbar. +render: + - default: | + type: template + template: elering + region: ee # optional + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) diff --git a/templates/release/de/tariff/energinet_0.yaml b/templates/release/de/tariff/energinet_0.yaml new file mode 100644 index 0000000000..3b9f7bcdb2 --- /dev/null +++ b/templates/release/de/tariff/energinet_0.yaml @@ -0,0 +1,12 @@ +product: + brand: Energinet + group: Dynamischer Strompreis +description: | + Nur für Dänemark verfügbar. +render: + - default: | + type: template + template: energinet + region: dk1 # optional + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) diff --git a/templates/release/de/tariff/energy-charts-api_0.yaml b/templates/release/de/tariff/energy-charts-api_0.yaml new file mode 100644 index 0000000000..9b5631a492 --- /dev/null +++ b/templates/release/de/tariff/energy-charts-api_0.yaml @@ -0,0 +1,12 @@ +product: + brand: Fraunhofer ISE + group: Dynamischer Strompreis +description: | + Day-ahead Energiepreise (je kWh) an der Börse. Kann ohne vorherige Anmeldung auf https://api.energy-charts.info/ abgerufen werden. Nutzbar u.a. für dynamische Stromtarife, wo der Anbieter bis dato auf der Kundenschnittstelle noch kein Preis-Vorhersagen anbietet. +render: + - default: | + type: template + template: energy-charts-api + bzn: DE-LU + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) diff --git a/templates/release/de/tariff/entsoe_0.yaml b/templates/release/de/tariff/entsoe_0.yaml new file mode 100644 index 0000000000..b3fdbc6b29 --- /dev/null +++ b/templates/release/de/tariff/entsoe_0.yaml @@ -0,0 +1,15 @@ +product: + brand: ENTSO-E + group: Dynamischer Strompreis +description: | + Day-ahead-Preise für den europäischen Strommarkt. Siehe https://transparency.entsoe.eu für weitere Informationen. + Basis für viele dynamische Tarife. + +render: + - default: | + type: template + template: entsoe + securitytoken: # Registrierung und anschließende Helpdesk-Anfrage erforderlich. Details zum Ablauf gibts hier https://transparency.entsoe.eu/content/static_content/Static%20content/web%20api/Guide.html#_authentication_and_authorisation (optional) + domain: BZN|DE-LU # siehe https://transparency.entsoe.eu/content/static_content/Static%20content/web%20api/Guide.html#_areas (optional) + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) diff --git a/templates/release/de/tariff/fixed_0.yaml b/templates/release/de/tariff/fixed_0.yaml deleted file mode 100644 index 1a96b27645..0000000000 --- a/templates/release/de/tariff/fixed_0.yaml +++ /dev/null @@ -1,7 +0,0 @@ -product: - brand: Standard -render: - - default: | - type: template - template: fixed - price: # optional diff --git a/templates/release/de/tariff/groupe-e_0.yaml b/templates/release/de/tariff/groupe-e_0.yaml index ec09f92bd7..8b2d34c27c 100644 --- a/templates/release/de/tariff/groupe-e_0.yaml +++ b/templates/release/de/tariff/groupe-e_0.yaml @@ -1,12 +1,12 @@ product: - brand: Groupe E (CH) + brand: Groupe E description: Vario Plus + group: Dynamischer Strompreis +description: | + Nur für die Schweiz verfügbar. render: - default: | type: template template: groupe-e - advanced: | - type: template - template: groupe-e - costs: # optional - tax: # optional + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) diff --git "a/templates/release/de/tariff/gr\303\274nstromindex_0.yaml" "b/templates/release/de/tariff/gr\303\274nstromindex_0.yaml" index 70ea913e2f..a02ae0702a 100644 --- "a/templates/release/de/tariff/gr\303\274nstromindex_0.yaml" +++ "b/templates/release/de/tariff/gr\303\274nstromindex_0.yaml" @@ -1,7 +1,10 @@ product: brand: Grünstromindex + group: CO₂ Vorhersage +description: | + Regionale Emissionsdaten von https://gruenstromindex.de. Nur für Deutschland verfügbar. render: - default: | type: template template: grünstromindex - zip: # optional + zip: diff --git a/templates/release/de/tariff/ngeso_0.yaml b/templates/release/de/tariff/ngeso_0.yaml new file mode 100644 index 0000000000..7073cfbb16 --- /dev/null +++ b/templates/release/de/tariff/ngeso_0.yaml @@ -0,0 +1,11 @@ +product: + brand: National Grid ESO + group: CO₂ Vorhersage +description: | + Nur für Großbritannien verfügbar. +render: + - default: | + type: template + template: ngeso + region: 1 # Ungenauer als die Verwendung eines Postleitzahl. Siehe https://carbon-intensity.github.io/api-definitions/#region-list (optional) + postalcode: SW1 # Postleitzahl z.B. RG41 oder SW1 oder TF8. Nicht die vollständige Postleitzahl, nur die ersten Stellen. (optional) diff --git a/templates/release/de/tariff/octopus-api_0.yaml b/templates/release/de/tariff/octopus-api_0.yaml index 2d48b76e48..bbfeacae8c 100644 --- a/templates/release/de/tariff/octopus-api_0.yaml +++ b/templates/release/de/tariff/octopus-api_0.yaml @@ -1,7 +1,11 @@ product: brand: Octopus Energy + description: API + group: Dynamischer Strompreis +description: | + Den API-Key bekommst du im Octopus Portal https://octopus.energy/dashboard/new/accounts/personal-details/api-access render: - default: | type: template template: octopus-api - apiKey: + apiKey: # Octopus Energy API Key. diff --git a/templates/release/de/tariff/octopus-productcode_0.yaml b/templates/release/de/tariff/octopus-productcode_0.yaml index bbc365b332..3db249bf0b 100644 --- a/templates/release/de/tariff/octopus-productcode_0.yaml +++ b/templates/release/de/tariff/octopus-productcode_0.yaml @@ -1,8 +1,10 @@ product: brand: Octopus Energy + description: Product Code + group: Dynamischer Strompreis render: - default: | type: template template: octopus-productcode - productCode: - region: + productCode: AGILE-FLEX-22-11-25 # Der Tarifcode für Ihren Energievertrag. Stellen Sie sicher, dass dieser auf Ihren Importtarifcode eingestellt ist. + region: # Die DNO-Region, in der Sie sich befinden. Weitere Informationen: https://www.energy-stats.uk/dno-region-codes-explained/ diff --git a/templates/release/de/tariff/pun_0.yaml b/templates/release/de/tariff/pun_0.yaml index 0e8d9a3757..a1539c41f7 100644 --- a/templates/release/de/tariff/pun_0.yaml +++ b/templates/release/de/tariff/pun_0.yaml @@ -1,11 +1,11 @@ product: - brand: PUN Orario (IT) + brand: PUN Orario + group: Dynamischer Strompreis +description: | + Preisdaten von https://www.mercatoelettrico.org/it/. Wird oft zur Einspeisung ins Netz verwendet. Nur für Italien verfügbar. render: - default: | type: template template: pun - advanced: | - type: template - template: pun - costs: # optional - tax: # optional + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) diff --git a/templates/release/de/tariff/smartenergy_0.yaml b/templates/release/de/tariff/smartenergy_0.yaml index 9ffde91df9..4e3b469304 100644 --- a/templates/release/de/tariff/smartenergy_0.yaml +++ b/templates/release/de/tariff/smartenergy_0.yaml @@ -1,12 +1,12 @@ product: - brand: SmartEnergy (AT) + brand: SmartEnergy description: smartCONTROL + group: Dynamischer Strompreis +description: | + Nur für Österreich verfügbar. render: - default: | type: template template: smartenergy - advanced: | - type: template - template: smartenergy - costs: # optional - tax: # optional + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) diff --git a/templates/release/de/tariff/tibber_0.yaml b/templates/release/de/tariff/tibber_0.yaml index 1d77f75c86..b37c544aaa 100644 --- a/templates/release/de/tariff/tibber_0.yaml +++ b/templates/release/de/tariff/tibber_0.yaml @@ -1,15 +1,13 @@ product: brand: Tibber + group: Dynamischer Strompreis +description: | + Hol dir deinen API-Token aus dem Tibber-Entwicklerportal: https://developer.tibber.com/ render: - default: | type: template template: tibber - token: # optional - homeid: # optional - advanced: | - type: template - template: tibber - costs: # optional - tax: # optional - token: # optional - homeid: # optional + token: 476c477d8a039529478ebd690d35ddd80e3308ffc49b59c65b142321aee963a4 + homeid: cc83e83e-8cbf-4595-9bf7-c3cf192f7d9c # Nur erforderlich, wenn du mehrere Häuser in deinem Tibber-Konto hast. (optional) + costs: # Zusätzlicher fester Aufschlag pro kWh (z.B. 0.05 für 5 Cent) (optional) + tax: # Zusätzlicher prozentualer Aufschlag (z.B. 0.2 für 20%) (optional) diff --git a/templates/release/en/tariff/allinpower_0.yaml b/templates/release/en/tariff/allinpower_0.yaml index 19da3275bf..5377967c2a 100644 --- a/templates/release/en/tariff/allinpower_0.yaml +++ b/templates/release/en/tariff/allinpower_0.yaml @@ -1,11 +1,11 @@ product: - brand: All in Power (NL) + brand: All in Power + group: Dynamic electricity price +description: | + Only available for the Netherlands. render: - default: | type: template template: allinpower - advanced: | - type: template - template: allinpower - costs: # optional - tax: # optional + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) diff --git a/templates/release/en/tariff/amber_0.yaml b/templates/release/en/tariff/amber_0.yaml index 0f6da1cdc4..ec29076e1c 100644 --- a/templates/release/en/tariff/amber_0.yaml +++ b/templates/release/en/tariff/amber_0.yaml @@ -1,5 +1,8 @@ product: - brand: Amber Electric (AU) + brand: Amber Electric + group: Dynamic electricity price +description: | + Only available for Australia. render: - default: | type: template @@ -7,11 +10,5 @@ render: token: # optional siteid: # optional channel: # optional - advanced: | - type: template - template: amber - costs: # optional - tax: # optional - token: # optional - siteid: # optional - channel: # optional + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) diff --git a/templates/release/en/tariff/awattar_0.yaml b/templates/release/en/tariff/awattar_0.yaml index 566fbe8666..3001c1f91a 100644 --- a/templates/release/en/tariff/awattar_0.yaml +++ b/templates/release/en/tariff/awattar_0.yaml @@ -1,13 +1,12 @@ product: brand: Awattar + group: Dynamic electricity price +description: | + Only available for Germany and Austria. render: - default: | type: template template: awattar - region: # optional - advanced: | - type: template - template: awattar - costs: # optional - tax: # optional - region: # optional + region: AT # optional + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) diff --git a/templates/release/en/tariff/electricitymaps_0.yaml b/templates/release/en/tariff/electricitymaps_0.yaml new file mode 100644 index 0000000000..4b0d35b973 --- /dev/null +++ b/templates/release/en/tariff/electricitymaps_0.yaml @@ -0,0 +1,13 @@ +product: + brand: Electricity Maps + description: Commercial API + group: CO₂ forecast +description: | + CO₂ data for many countries from https://electricitymaps.com/. The 'Free Personal Tier' unfortunately does not include forecast data. You'll need a commercial account from https://api-portal.electricitymaps.com/. Free trial available. +render: + - default: | + type: template + template: electricitymaps + uri: https://api-access.electricitymaps.com/2w...1g/ # HTTP(S) address + token: + zone: DE # see https://api.electricitymap.org/v3/zones diff --git a/templates/release/en/tariff/elering_0.yaml b/templates/release/en/tariff/elering_0.yaml new file mode 100644 index 0000000000..8be4d9ce0f --- /dev/null +++ b/templates/release/en/tariff/elering_0.yaml @@ -0,0 +1,13 @@ +product: + brand: Nordpool + description: Elering + group: Dynamic electricity price +description: | + Only available for Estonia. +render: + - default: | + type: template + template: elering + region: ee # optional + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) diff --git a/templates/release/en/tariff/energinet_0.yaml b/templates/release/en/tariff/energinet_0.yaml new file mode 100644 index 0000000000..fddf1cedcd --- /dev/null +++ b/templates/release/en/tariff/energinet_0.yaml @@ -0,0 +1,12 @@ +product: + brand: Energinet + group: Dynamic electricity price +description: | + Only available for Denmark. +render: + - default: | + type: template + template: energinet + region: dk1 # optional + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) diff --git a/templates/release/en/tariff/energy-charts-api_0.yaml b/templates/release/en/tariff/energy-charts-api_0.yaml new file mode 100644 index 0000000000..095fb44fd0 --- /dev/null +++ b/templates/release/en/tariff/energy-charts-api_0.yaml @@ -0,0 +1,12 @@ +product: + brand: Fraunhofer ISE + group: Dynamic electricity price +description: | + Day-ahead forecast of energy prices (per kWh) on the exchange. No prior registration for https://api.energy-charts.info/ necessary. Can be used for dynamic electricity tariffs, for example, where the supplier does not yet offer a price forecast on the customer interface. +render: + - default: | + type: template + template: energy-charts-api + bzn: DE-LU + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) diff --git a/templates/release/en/tariff/entsoe_0.yaml b/templates/release/en/tariff/entsoe_0.yaml new file mode 100644 index 0000000000..5b39b005ae --- /dev/null +++ b/templates/release/en/tariff/entsoe_0.yaml @@ -0,0 +1,15 @@ +product: + brand: ENTSO-E + group: Dynamic electricity price +description: | + Day-ahead prices for the European electricity market. See https://transparency.entsoe.eu for more information. + Basis for many dynamic tariffs. + +render: + - default: | + type: template + template: entsoe + securitytoken: # Registration and subsequent helpdesk request required. Details on the process can be found here https://transparency.entsoe.eu/content/static_content/Static%20content/web%20api/Guide.html#_authentication_and_authorisation (optional) + domain: BZN|DE-LU # see https://transparency.entsoe.eu/content/static_content/Static%20content/web%20api/Guide.html#_areas (optional) + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) diff --git a/templates/release/en/tariff/fixed_0.yaml b/templates/release/en/tariff/fixed_0.yaml deleted file mode 100644 index 1a96b27645..0000000000 --- a/templates/release/en/tariff/fixed_0.yaml +++ /dev/null @@ -1,7 +0,0 @@ -product: - brand: Standard -render: - - default: | - type: template - template: fixed - price: # optional diff --git a/templates/release/en/tariff/groupe-e_0.yaml b/templates/release/en/tariff/groupe-e_0.yaml index ec09f92bd7..a8bd186d07 100644 --- a/templates/release/en/tariff/groupe-e_0.yaml +++ b/templates/release/en/tariff/groupe-e_0.yaml @@ -1,12 +1,12 @@ product: - brand: Groupe E (CH) + brand: Groupe E description: Vario Plus + group: Dynamic electricity price +description: | + Only available for Switzerland. render: - default: | type: template template: groupe-e - advanced: | - type: template - template: groupe-e - costs: # optional - tax: # optional + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) diff --git "a/templates/release/en/tariff/gr\303\274nstromindex_0.yaml" "b/templates/release/en/tariff/gr\303\274nstromindex_0.yaml" index 70ea913e2f..dfa4fcf404 100644 --- "a/templates/release/en/tariff/gr\303\274nstromindex_0.yaml" +++ "b/templates/release/en/tariff/gr\303\274nstromindex_0.yaml" @@ -1,7 +1,10 @@ product: brand: Grünstromindex + group: CO₂ forecast +description: | + Regional emission data from https://gruenstromindex.de. Only available for Germany. render: - default: | type: template template: grünstromindex - zip: # optional + zip: diff --git a/templates/release/en/tariff/ngeso_0.yaml b/templates/release/en/tariff/ngeso_0.yaml new file mode 100644 index 0000000000..3abb6ea422 --- /dev/null +++ b/templates/release/en/tariff/ngeso_0.yaml @@ -0,0 +1,11 @@ +product: + brand: National Grid ESO + group: CO₂ forecast +description: | + Only available for the United Kingdom. +render: + - default: | + type: template + template: ngeso + region: 1 # Coarser than using a postcode. See https://carbon-intensity.github.io/api-definitions/#region-list (optional) + postalcode: SW1 # Outward postcode i.e. RG41 or SW1 or TF8. Do not include full postcode, outward postcode only. (optional) diff --git a/templates/release/en/tariff/octopus-api_0.yaml b/templates/release/en/tariff/octopus-api_0.yaml index 1fa1261b83..d62820fd6c 100644 --- a/templates/release/en/tariff/octopus-api_0.yaml +++ b/templates/release/en/tariff/octopus-api_0.yaml @@ -1,8 +1,11 @@ product: brand: Octopus Energy - description: Octopus Energy - API + description: API + group: Dynamic electricity price +description: | + You can get the API key in the Octopus portal https://octopus.energy/dashboard/new/accounts/personal-details/api-access render: - default: | type: template template: octopus-api - apiKey: + apiKey: # Octopus Energy API Key. diff --git a/templates/release/en/tariff/octopus-productcode_0.yaml b/templates/release/en/tariff/octopus-productcode_0.yaml index d56e886826..f75fbf87fb 100644 --- a/templates/release/en/tariff/octopus-productcode_0.yaml +++ b/templates/release/en/tariff/octopus-productcode_0.yaml @@ -1,9 +1,10 @@ product: brand: Octopus Energy - description: Octopus Energy - Product Code + description: Product Code + group: Dynamic electricity price render: - default: | type: template template: octopus-productcode - productCode: - region: + productCode: AGILE-FLEX-22-11-25 # The tariff code for your energy contract. Make sure this is set to your import tariff code. + region: # The DNO region you are located in. More information: https://www.energy-stats.uk/dno-region-codes-explained/ diff --git a/templates/release/en/tariff/pun_0.yaml b/templates/release/en/tariff/pun_0.yaml index 0e8d9a3757..2fa6d39e58 100644 --- a/templates/release/en/tariff/pun_0.yaml +++ b/templates/release/en/tariff/pun_0.yaml @@ -1,11 +1,11 @@ product: - brand: PUN Orario (IT) + brand: PUN Orario + group: Dynamic electricity price +description: | + Price data from https://www.mercatoelettrico.org/it/. Often used for feeding into the grid. Only available for Italy. render: - default: | type: template template: pun - advanced: | - type: template - template: pun - costs: # optional - tax: # optional + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) diff --git a/templates/release/en/tariff/smartenergy_0.yaml b/templates/release/en/tariff/smartenergy_0.yaml index 9ffde91df9..caa32d3149 100644 --- a/templates/release/en/tariff/smartenergy_0.yaml +++ b/templates/release/en/tariff/smartenergy_0.yaml @@ -1,12 +1,12 @@ product: - brand: SmartEnergy (AT) + brand: SmartEnergy description: smartCONTROL + group: Dynamic electricity price +description: | + Only available for Austria. render: - default: | type: template template: smartenergy - advanced: | - type: template - template: smartenergy - costs: # optional - tax: # optional + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional) diff --git a/templates/release/en/tariff/tibber_0.yaml b/templates/release/en/tariff/tibber_0.yaml index 1d77f75c86..b333aaf921 100644 --- a/templates/release/en/tariff/tibber_0.yaml +++ b/templates/release/en/tariff/tibber_0.yaml @@ -1,15 +1,13 @@ product: brand: Tibber + group: Dynamic electricity price +description: | + Get your API token from the Tibber developer portal: https://developer.tibber.com/ render: - default: | type: template template: tibber - token: # optional - homeid: # optional - advanced: | - type: template - template: tibber - costs: # optional - tax: # optional - token: # optional - homeid: # optional + token: 476c477d8a039529478ebd690d35ddd80e3308ffc49b59c65b142321aee963a4 + homeid: cc83e83e-8cbf-4595-9bf7-c3cf192f7d9c # Only required if you have multiple homes in your Tibber account. (optional) + costs: # Additional fixed charge per kWh (e.g. 0.05 for 5 cents) (optional) + tax: # Additional percentage charge (e.g. 0.2 for 20%) (optional)