evcc-io/templates/definition/tariff/epexprijzen-nl.yaml

72 lines
2.3 KiB
YAML

template: epexprijzen-nl
products:
- brand: epexprijzen.nl
requirements:
evcc: ["skiptest"]
description:
en: Current energy prices in the Netherlands. Prices include energy tax and provider charge by default. When 'tax' or 'charges' are configured, the included amounts are automatically subtracted to avoid double-counting.
de: Aktuelle Energiepreise in den Niederlanden. Preise enthalten standardmäßig Energiesteuer und Anbietergebühr. Wenn 'tax' oder 'charges' konfiguriert sind, werden die enthaltenen Beträge automatisch abgezogen, um Doppelzählungen zu vermeiden.
group: price
countries: ["NL"]
params:
- name: provider
description:
en: Energy provider
de: Energieversorger
type: choice
choice:
[
"anwb-energie",
"budget-energie",
"coolblue-energie",
"easyenergy",
"eneco",
"energie-vanons",
"energyzero",
"engie",
"essent",
"frank-energie",
"frank-energie-slim",
"hegg",
"innova",
"nextenergy",
"powerpeers",
"quatt-energy",
"samenom",
"samsam",
"tibber",
"vandebron",
"vattenfall",
"zonneplan",
]
required: true
- name: price-interval
description:
en: Price interval
de: Preisintervall
type: choice
choice: ["hourly", "quarterly"]
default: quarterly
required: true
- preset: tariff-base
- name: interval
default: 1h
advanced: true
render: |
type: custom
{{ include "base" . }}
forecast:
source: http
uri: https://epexprijzen.nl/api/v1/prices/{{ .provider }}/{{ index . "price-interval" }}
jq: |
. as $root |
({{ if index . "tax" }}($root.energy_tax // 0){{ else }}0{{ end }}) as $energy_tax |
({{ if index . "charges" }}($root.provider_charge // 0){{ else }}0{{ end }}) as $provider_charge |
($root.today // []) + ($root.tomorrow // []) |
map({
"start": (.t | strptime("%Y-%m-%dT%H:%M:%S%z") | strftime("%Y-%m-%dT%H:%M:%SZ")),
"end": (.t | strptime("%Y-%m-%dT%H:%M:%S%z") | mktime + {{ if eq (index . "price-interval") "hourly" }}3600{{ else }}900{{ end }} | strftime("%Y-%m-%dT%H:%M:%SZ")),
"value": (.price - $energy_tax - $provider_charge)
}) | tostring
cache: 1h
interval: {{ .interval }}