Skip to content

Commit

Permalink
Add tariff templates (#562)
Browse files Browse the repository at this point in the history
  • Loading branch information
naltatis authored May 8, 2024
1 parent 166d152 commit c1965af
Show file tree
Hide file tree
Showing 46 changed files with 1,101 additions and 145 deletions.
360 changes: 360 additions & 0 deletions docs/devices/tariffs.mdx
Original file line number Diff line number Diff line change
@@ -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
...
```
<!-- AUTO-GENERATED CONTENT BELOW THIS LINE -->
<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->
## 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
```

<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->

### Grünstromindex

Regionale Emissionsdaten von https://gruenstromindex.de. Nur für Deutschland verfügbar.

```yaml
tariffs:
co2:
type: template
template: grünstromindex
zip:
```

<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->

### 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)
```

<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->

## 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)
```

<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->

### 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)
```

<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->

### 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)
```

<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->

### 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)
```

<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->

### 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)
```

<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->

### 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)
```

<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->

### 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)
```

<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->

### 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)
```

<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->

### 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.
```

<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->

#### 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/
```

<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->

### 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)
```

<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->

### 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)
```

<!-- AUTO-GENERATED FROM TEMPLATE - PLEASE EDIT HERE https://github.com/evcc-io/evcc/tree/master/templates/definition/tariff -->

### 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)
```

3 changes: 3 additions & 0 deletions docs/devices/tariffs/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"label": "Tarife"
}
Loading

0 comments on commit c1965af

Please sign in to comment.