EKZ Dynamische Stromtarife in Home Assistant integrieren
Seit Januar 2026 bietet EKZ (Elektrizitätswerke des Kantons Zürich) dynamische Stromtarife an. Die Preise ändern sich alle 15 Minuten und werden über eine öffentliche API bereitgestellt. In diesem Beitrag zeige ich, wie man diese Tarife in Home Assistant integriert und für Automationen nutzen kann.

Was sind dynamische Stromtarife?
Bei dynamischen Tarifen variiert der Strompreis je nach Angebot und Nachfrage im Netz. EKZ veröffentlicht die Preise für den Folgetag jeweils bis 18:00 Uhr. Der Tarif setzt sich zusammen aus:
- Energiepreis – variiert nach Spotmarkt (EPEX Spot)
- Netzpreis – variiert nach prognostizierter Netzlast
- Regionale Gebühren – meist fix
Der Vorteil: Wer seinen Verbrauch in günstige Zeiten verschiebt (z.B. E-Auto laden, Wärmepumpe, Waschmaschine), kann Geld sparen.
Voraussetzungen
- Home Assistant Installation (Core, Container oder OS)
- EKZ als Stromanbieter (oder einfach Interesse an den Tarifdaten)
- Zugang zum config-Verzeichnis von Home Assistant
Installation der Custom Component
Schritt 1: Dateien herunterladen
Lade die Custom Component herunter: ekz_tariff_v2.zip
Schritt 2: Dateien kopieren
Entpacke das ZIP-Archiv. Du erhältst einen Ordner custom_components/ekz_tariff/.
Kopiere diesen Ordner in dein Home Assistant Konfigurationsverzeichnis:
/config/custom_components/ekz_tariff/
Die Ordnerstruktur sollte so aussehen:
config/
└── custom_components/
└── ekz_tariff/
├── __init__.py
├── api.py
├── config_flow.py
├── const.py
├── coordinator.py
├── manifest.json
├── sensor.py
└── translations/
├── de.json
└── en.json
Für Home Assistant OS / Supervised:
Am einfachsten geht es mit dem „File Editor“ oder „Samba Share“ Add-on.
Für Home Assistant Container:
docker cp ekz_tariff/ homeassistant:/config/custom_components/
Für Home Assistant Core:
cp -r ekz_tariff/ ~/.homeassistant/custom_components/
Schritt 3: Home Assistant neu starten
Nach dem Kopieren muss Home Assistant neu gestartet werden:
- Web UI: Einstellungen → System → Oben rechts auf „Neu starten“
- CLI: ha core restart
Schritt 4: Integration hinzufügen
1. Gehe zu Einstellungen → Geräte & Dienste
2. Klicke unten rechts auf + Integration hinzufügen
3. Suche nach „EKZ“
4. Wähle „EKZ Dynamische Stromtarife“
5. Bestätige mit „Absenden“
Die Integration verbindet sich mit der EKZ API und erstellt automatisch alle Sensoren.
Verfügbare Sensoren
Nach der Einrichtung stehen folgende Sensoren zur Verfügung:
| Sensor | Beschreibung |
| sensor.ekz_energiepreis | Aktueller Energiepreis in Rp./kWh |
| sensor.ekz_netzpreis | Aktueller Netznutzungspreis in Rp./kWh |
| sensor.ekz_gesamtpreis | Summe aus Energie + Netz in Rp./kWh |
| sensor.ekz_gesamtpreis_heute_min | Tiefster Preis heute |
| sensor.ekz_gesamtpreis_heute_max | Höchster Preis heute |
| sensor.ekz_gesamtpreis_heute_durchschnitt | Durchschnittspreis heute |
| sensor.ekz_preisniveau | „günstig“, „normal“ oder „teuer“ |
| sensor.ekz_preisprognose | Forecast mit allen Zeitslots |
Der Sensor sensor.ekz_preisniveau berechnet automatisch, ob der aktuelle Preis unter 80% (günstig) oder über 120% (teuer) des Tagesdurchschnitts liegt.
Beispiel-Automatisierungen
Benachrichtigung bei günstigen Preisen
automation:
– alias: „EKZ: Benachrichtigung bei günstigen Preisen“
trigger:
– platform: state
entity_id: sensor.ekz_preisniveau
to: „günstig“
condition:
– condition: time
after: „06:00:00“
before: „22:00:00“
action:
– service: notify.mobile_app
data:
title: „💰 Strompreis günstig!“
message: >
Aktueller Preis: {{ states(’sensor.ekz_gesamtpreis‘) }} Rp./kWh
(Durchschnitt: {{ states(’sensor.ekz_gesamtpreis_heute_durchschnitt‘) }} Rp./kWh)
E-Auto laden bei niedrigen Preisen
automation:
– alias: „E-Auto laden bei günstigen Preisen“
trigger:
– platform: numeric_state
entity_id: sensor.ekz_gesamtpreis
below: 20 # unter 20 Rp./kWh
condition:
– condition: state
entity_id: binary_sensor.auto_verbunden
state: „on“
action:
– service: switch.turn_on
target:
entity_id: switch.wallbox
Wärmepumpe nach Strompreis steuern
automation:
– alias: „Wärmepumpe Temperatur nach Strompreis“
trigger:
– platform: state
entity_id: sensor.ekz_preisniveau
action:
– choose:
– conditions:
– condition: state
entity_id: sensor.ekz_preisniveau
state: „günstig“
sequence:
– service: climate.set_temperature
target:
entity_id: climate.waermepumpe
data:
temperature: 22
– conditions:
– condition: state
entity_id: sensor.ekz_preisniveau
state: „teuer“
sequence:
– service: climate.set_temperature
target:
entity_id: climate.waermepumpe
data:
temperature: 19
Dashboard-Karte
Eine einfache Entities-Karte für das Dashboard:
type: entities
title: EKZ Stromtarife
entities:
– entity: sensor.ekz_gesamtpreis
name: Aktueller Preis
– entity: sensor.ekz_preisniveau
name: Preisniveau
– type: divider
– entity: sensor.ekz_gesamtpreis_heute_min
name: Heute Min
– entity: sensor.ekz_gesamtpreis_heute_max
name: Heute Max
– entity: sensor.ekz_gesamtpreis_heute_durchschnitt
name: Heute Ø
Preisverlauf mit ApexCharts
Für eine grafische Darstellung des Preisverlaufs eignet sich die ApexCharts Card:
type: custom:apexcharts-card
header:
title: EKZ Strompreis Verlauf
show: true
graph_span: 24h
series:
– entity: sensor.ekz_gesamtpreis
name: Gesamtpreis
type: line
stroke_width: 2
color: „#039be5“
Technische Details
- Update-Intervall: Alle 15 Minuten (entspricht den Tarifslots)
- API-Caching: Daten werden für 1 Stunde gecacht
- Datenquelle: https://api.tariffs.ekz.ch/v1/tariffs (öffentlich, ohne Authentifizierung)
- Preisformat: API liefert CHF/kWh, Sensoren zeigen Rp./kWh
Troubleshooting
Integration erscheint nicht in der Liste?
- Prüfe, ob der Ordner korrekt unter custom_components/ekz_tariff/ liegt
- Stelle sicher, dass Home Assistant neu gestartet wurde
- Kontrolliere die Logs unter Einstellungen → System → Protokolle
Sensoren zeigen „unavailable“?
- Prüfe die Internetverbindung
- Teste die API manuell: curl https://api.tariffs.ekz.ch/v1/tariffs
- Schaue in die Home Assistant Logs für Fehlermeldungen
Falsche Preise?
- Die Preise kommen direkt von der EKZ API
- Regionale Gebühren und Abgaben können je nach Gemeinde variieren
Fazit
Mit dieser Integration lassen sich die dynamischen EKZ-Stromtarife einfach in Home Assistant einbinden. Die Automatisierungsmöglichkeiten sind vielfältig – vom E-Auto über die Wärmepumpe bis zur Waschmaschine kann der Stromverbrauch intelligent in günstige Zeitfenster verschoben werden.
Die EKZ API ist öffentlich zugänglich und erfordert keine Authentifizierung für die Basisdaten. Für kundenspezifische Tarife (falls sich diese vom Standardtarif unterscheiden) wäre eine OAuth-Authentifizierung über myEKZ nötig – das ist in dieser Version noch nicht implementiert.
Getestet mit Home Assistant 2026.1
Download: ekz_tariff_v2
Referenzen:
https://api.tariffs.ekz.ch/swager/index.html?urls.primaryName=EKZ