Zum Hauptinhalt springen

Electricity Maps Smart-Home-Integration, kostenlos und Open Source

Electricity Maps-Integration für Gladys Assistant

CO₂-Intensität und CO₂-freier Anteil deines Stromnetzes in Echtzeit.

Diese Integration liest die CO₂-Intensität des Stromnetzes bei Electricity Maps aus und stellt sie in Gladys als Sensoren bereit, die du als Diagramm anzeigen und in Szenen verwenden kannst, um deine Geräte dann laufen zu lassen, wenn der Strom am saubersten ist.

Außerdem bringt sie ein Widget für das Dashboard, einen Szenen-Auslöser und eine Szenen-Aktion mit. Sie erfordert Gladys 5.1.0 oder neuer.

Was du erhältst​

Ein Gerät, benannt nach der verfolgten Zone (zum Beispiel Electricity Maps (FR)), mit zwei oder drei Sensoren je nach deinem Tarif:

SensorEinheitBedeutungKostenloser Tarif
CO₂-Intensität des NetzesgCO₂eq/kWhEmissionen des aktuell in der Zone verbrauchten StromsJa
CO₂-freier Strom%Anteil aus erneuerbaren Energien und KernkraftJa
Erneuerbarer Strom%Anteil ausschließlich aus erneuerbaren EnergienNein

Alle behalten ihren Verlauf und erscheinen daher als Diagramme auf deinem Dashboard. Electricity Maps liefert einen Wert pro Stunde: Eine Abfrage, die die bereits gespeicherte Stunde mit denselben Werten zurückbringt, wird nicht erneut geschrieben (sie wird höchstens alle 3 Stunden erneut gesendet, wenn sich nichts bewegt, damit die Sensoren nie veraltet wirken). Der Verlauf enthält daher etwa einen Punkt pro Stunde, unabhängig vom Aktualisierungsintervall.

Sie gehören zur Gladys-Kategorie Netz-CO₂-Sensor: Sie verleiht ihnen ihren Namen, ihr Symbol und ihre Einheit in der Oberfläche. Kennt deine Gladys-Version diese Kategorie noch nicht, veröffentlicht die Integration sie stattdessen als generische Sensoren: Sie werden dann als „Unbekannt“ angezeigt, mit denselben Werten. Aktualisiere Gladys, um die richtigen Bezeichnungen zu erhalten.

Der kostenlose Home Assistant-Schlüssel öffnet einen einzigen API-Endpunkt: den, der die CO₂-Intensität und den fossilen Anteil liefert (daraus ergibt sich der CO₂-freie Anteil als dessen Ergänzung). Der erneuerbare Anteil kommt von einem anderen Endpunkt, der den kostenpflichtigen Tarifen vorbehalten ist: Die Integration fragt ihn einmal ab, bevor sie das Gerät veröffentlicht. Lehnt dein Tarif ihn ab, wird der Sensor „Erneuerbarer Strom“ gar nicht veröffentlicht — statt dauerhaft leer angezeigt zu werden — und die beiden anderen funktionieren weiter. Wechselst du zu einem Tarif, der die Aufschlüsselung der Erzeugung liefert, erscheint er beim nächsten Neustart der Integration.

Wenn du das Gerät bereits mit seinen drei Sensoren hinzugefügt hattest, behält Gladys die vorhandenen: Lösche das Gerät und füge es über den Reiter Entdecken erneut hinzu, um den leeren Sensor loszuwerden.

Einen API-Schlüssel erhalten​

Der kostenlose Zugang heißt Home Assistant — es ist der Tarif für die private Hausautomation, und er funktioniert für Gladys genauso.

  1. Erstelle ein Konto im Electricity-Maps-Portal.
  2. Gehe zu Settings → Access und wähle den Reiter Home Assistant (die anderen Reiter, Trial und Academic, sind andere Angebote). Aktiviere ihn: Seine kostenlosen Nutzungsbedingungen erlauben eine private, nicht kommerzielle und nicht gewinnbringende Nutzung — genau das, was ein Hausautomationsserver tut.
  3. Gehe zu Settings → API keys, erstelle deinen Schlüssel und kopiere ihn.
  4. Notiere die neben deinem Schlüssel angezeigte Zone: Ein kostenloser Home-Assistant-Schlüssel deckt nur diese eine Zone ab, und Gladys muss wissen, welche es ist — sie benennt und identifiziert das Gerät vor dem ersten API-Aufruf. Zonenkennungen sehen aus wie FR, DE, ES, GB oder US-CAL-CISO; die vollständige Liste liefert https://api.electricitymaps.com/v3/zones.

Konfiguration​

  1. Öffne den Reiter Konfiguration der Integration.
  2. Füge den mit dem Home-Assistant-Zugang erstellten API-Schlüssel ein.
  3. Gib die zu verfolgende Zone an — dieselbe wie bei deinem Schlüssel (standardmäßig FR).
  4. Passe bei Bedarf das Aktualisierungsintervall an (standardmäßig 900 Sekunden).
  5. Speichere und klicke dann auf Verbindung testen: Die aktuelle CO₂-Intensität deiner Zone wird unter der Schaltfläche angezeigt.
  6. Das Gerät erscheint im Reiter Entdecken und kann hinzugefügt werden. Solange der API-Schlüssel nicht gespeichert ist, bietet die Integration überhaupt kein Gerät an: Es könnte nur leere Sensoren zeigen.

Aktualisierungsintervall​

Die Integration betreibt ihren eigenen Aktualisierungs-Timer im von dir festgelegten Intervall. Electricity Maps aktualisiert seine Daten etwa einmal pro Stunde, und kostenlose Tarife haben ein monatliches Anfragekontingent, daher bringt eine schnellere Aktualisierung nichts. Der Wert ist auf 300 s (5 Minuten) bis 86 400 s (1 Tag) begrenzt, und eine Änderung gilt sofort — kein Neustart nötig, und das neue Intervall löst direkt eine Aktualisierung aus. Eine Änderung des API-Schlüssels oder der Zone löst ebenfalls eine sofortige Abfrage aus.

Wenn du das Gerät über den Reiter Entdecken hinzufügst, werden seine Sensoren sofort befüllt: Du musst nicht auf die nächste Aktualisierung warten.

Ist Electricity Maps überhaupt nicht erreichbar (typischerweise, weil das Netz direkt nach dem Start von Gladys noch nicht bereit ist), versucht es die Integration nach 1 Minute und dann nach 5 Minuten erneut, statt auf die nächste Aktualisierung zu warten; ein solcher Fehlschlag kostet keine Anfrage aus deinem Kontingent. Antwortet Electricity Maps mit „Kontingent überschritten“ und einer einzuhaltenden Wartezeit, wird vor deren Ablauf nichts abgefragt.

Gladys kann die Abfrage eines Geräts selbst steuern, aber nur mit einer festen Auswahl an Intervallen, die auf eine Minute begrenzt ist: viel zu schnell für eine stündliche API mit Kontingent. Deshalb werden die Geräte ohne poll_frequency veröffentlicht.

Zone wechseln​

Die Zone ist Teil der Identität des Geräts: Ein Wechsel zu einer anderen Zone erstellt ein neues Gerät. Das alte wird nicht mehr aktualisiert und kann in Gladys gelöscht werden.

Das Dashboard-Widget​

Seit Gladys 5.1 fügt die Integration der Widget-Auswahl deines Dashboards eine Karte Netz-CO₂ hinzu. Sie zeigt:

  • die verfolgte Zone, die aktuelle CO₂-Stufe und die Stunde des Werts („aktuelle Stunde“, „vorherige Stunde“, „vor 3 h“): Electricity Maps liefert einen Wert pro Stunde, eine Abfrage um 20:47 zeigt also den Wert der Stunde ab 20:00;
  • eine Kachel pro Sensor (CO₂-Intensität, CO₂-freier Anteil und, falls dein Tarif ihn liefert, erneuerbarer Anteil), deren Zahl farbig ist, je nachdem, was sie aussagt: Die CO₂-Intensität übernimmt die Farbe ihrer Stufe, die beiden Anteile gehen von Grün (ab 70 %) über Orange (ab 40 %) zu Rot — dieselben Farben wie die Badges der Geräteliste;
  • ein Diagramm der CO₂-Intensität der letzten 24 Stunden;
  • eine Schaltfläche Aktualisieren (fragt Electricity Maps sofort ab) und einen Link zur Live-Karte deiner Zone.

Die Kacheln werden bei jeder Abfrage von Electricity Maps aktualisiert: Die Karte wird direkt nach jeder Abfrage neu geladen, die Zahlen folgen also dem Takt der Sensoren.

Das Diagramm stützt sich auf das Gerät: Solange du es nicht über den Reiter Entdecken hinzugefügt hast, zeigt die Karte trotzdem die Werte, ohne das Diagramm, und weist dich darauf hin.

Was die Farbe kostet​

Gladys färbt die Zahl einer Kachel nur, wenn die Karte den Wert selbst mitführt: Eine an die Gerätefunktion gebundene Kachel wird von der Komponente des Kerns dargestellt, die die gewünschte Farbe ignoriert. Die Karte sendet daher ihre eigenen Zahlen, mit zwei Folgen:

  • die Einheit der CO₂-Intensität lautet g/kWh statt gCO₂eq/kWh: Eine Kacheleinheit fasst 6 Zeichen, und der Kern schneidet ab, was darüber hinausgeht. Die Geräteliste behält die vollständige Einheit;
  • die Kacheln folgen den Zuständen nicht mehr in Echtzeit: Sie werden bei jedem Neuladen der Karte neu gezeichnet. In der Praxis ändert das nichts — die Abfrageschleife stößt das Widget direkt nach jeder Messung an, also genau dann, wenn sich eine Zahl ändert.

Schließlich färbt die Farbe den Text der Zahl; sie zeichnet keine gefüllte Pille wie in der Geräteliste. Das Widget-Vokabular kennt kein Badge auf einer Kachel.

Die CO₂-Stufe​

Die CO₂-Intensität ist eine Zahl; die Stufe ist ihre Einordnung in fünf Bereiche, die vom Widget und vom Szenen-Auslöser verwendet wird:

StufeCO₂-Intensität
Sehr niedrig< 100 gCO₂eq/kWh
Niedrig100 – 200 gCO₂eq/kWh
Mittel200 – 400 gCO₂eq/kWh
Hoch400 – 600 gCO₂eq/kWh
Sehr hoch≥ 600 gCO₂eq/kWh

Die Bereiche sind fest und für alle Zonen gleich: Eine Szene bedeutet von einer Woche zur nächsten dasselbe. Ein Spielraum von 10 gCO₂eq/kWh verhindert, dass ein Wert, der genau auf einer Grenze liegt, die Stufe bei jeder Messung ändert.

Szenen-Auslöser​

Im Szenen-Editor, in der Kategorie Integrationen:

„CO₂-Stufe des Netzes hat sich geändert“ — wird ausgelöst, wenn deine Zone von einem Bereich in einen anderen wechselt. Du kannst filtern:

  • nach der neuen Stufe (zum Beispiel nur „Sehr niedrig“ und „Niedrig“);
  • nach der Richtung (das Netz ist sauberer oder schmutziger geworden).

Lass einen Filter leer, um auf jeden Fall zu reagieren.

Er wird einmal pro Änderung ausgelöst, nicht bei jeder Aktualisierung, und nie bei der ersten Messung nach einem Neustart (nichts hat sich geändert, die Integration hat nur gerade angefangen hinzusehen).

Die Szene kann die Werte des Ereignisses weiterverwenden: {{triggerEvent.data.level}}, previous_level, direction, zone, carbon_intensity, carbon_free_percentage, renewable_percentage.

Für einen einfachen Schwellenwert („wenn die Intensität unter 80 fällt“) verwende den Standard-Auslöser von Gladys auf den Sensorwert: Dafür ist er da. Der Auslöser der Integration dient dem Wechsel des Bereichs, den Gladys allein nicht ausdrücken kann.

Szenen-Aktion​

„CO₂-Daten des Netzes abrufen“ — stellt die Werte deiner Zone den folgenden Aktionen der Szene zur Verfügung: zone, level, carbon_intensity, carbon_free_percentage, renewable_percentage und age_seconds (das Alter der Messung, in Sekunden).

Ein standardmäßig deaktiviertes Kontrollkästchen „Zuerst Electricity Maps abfragen“ erzwingt eine Live-Abfrage. Lass es in den meisten Fällen deaktiviert: Die Daten ändern sich nur etwa einmal pro Stunde, und kostenlose Tarife haben ein monatliches Anfragekontingent. Schlägt diese Live-Abfrage fehl, schlägt auch die Aktion fehl, statt die vorherigen Werte als frische weiterzugeben. Dasselbe gilt für die Schaltfläche Aktualisieren des Widgets.

Ideen für Szenen​

  • Die Spülmaschine starten oder das Auto laden, wenn die CO₂-Stufe „Sehr niedrig“ oder „Niedrig“ erreicht (Auslöser der Integration).
  • Die Spülmaschine starten oder das Auto laden, wenn die CO₂-Intensität unter einen von dir gewählten Schwellenwert fällt (Standard-Auslöser auf den Sensor).
  • Sich benachrichtigen lassen, wenn der CO₂-freie Anteil 90 % übersteigt.
  • Eine Nachricht mit der aktuellen Intensität senden: die Aktion CO₂-Daten des Netzes abrufen, dann eine Benachrichtigung mit carbon_intensity.
  • Den eigenen Verbrauch neben der Netzintensität darstellen, um die CO₂-Kosten deiner Gewohnheiten zu sehen.

Fehlerbehebung​

MeldungWas zu tun ist
Invalid API token ... (HTTP 401)Token falsch kopiert, oder eine andere Zone als die deines Schlüssels
Zone ... not allowed (HTTP 403)Dein Tarif deckt diese Zone nicht ab — verwende deine Heimatzone
Unknown zone (HTTP 404)Prüfe die Kennung anhand der Zonenliste
quota exceeded (HTTP 429)Erhöhe das Aktualisierungsintervall oder warte auf das neue Kontingent
Electricity Maps unreachableNetzwerk- oder DNS-Problem auf dem Gladys-Host

Der Wert weicht von der Electricity-Maps-Website ab​

Das ist normal, beide zeigen nicht dasselbe:

  • Die Integration liest einen Wert pro Stunde. Ein kostenloser Schlüssel kann nur /v3/home-assistant aufrufen, das den Wert der aktuellen Stunde liefert (oft eine Schätzung).
  • Die Website zeigt Punkte im 5- oder 15-Minuten-Takt, als „Preliminary“ gekennzeichnet. Wenn sich die Intensität schnell bewegt, kann ein Punkt um 22:45 weit vom Stundenwert entfernt sein.
  • Die Daten werden nachträglich überarbeitet. Geschätzte und dann vorläufige Werte werden von Electricity Maps in den folgenden Stunden korrigiert.

Vergleiche dieselbe Stunde: Die Protokolle geben die Stunde des gelesenen Werts an (Carbon intensity: 66 gCO₂eq/kWh (hourly value of 2026-09-22T20:00:00.000Z), UTC-Zeit), und stelle die Website auf die stündliche Granularität um.

Die Sensoren zeigen weiterhin „Unbekannt“​

Zwei mögliche Ursachen:

  1. Deine Gladys kennt die Kategorie noch nicht. Die Protokolle der Integration sagen es (does not know the grid carbon sensors yet): Aktualisiere Gladys und führe dann Schritt 2 aus.
  2. Das Gerät wurde vorher erstellt. Gladys schreibt die Kategorien der Funktionen eines bereits erstellten Geräts nie um: Lösche das Gerät Electricity Maps (...) im Reiter Geräte der Integration und füge es dann über ihren Reiter Entdecken erneut hinzu. Der Verlauf des alten Geräts geht verloren, die Werte beginnen von vorn.

Die Integration protokolliert alles, was sie tut: Prüfe die Protokolle der Integration in der Gladys-Oberfläche (oder docker logs auf dem Host) mit LOG_LEVEL=debug für alle Details.

Manche Zonen veröffentlichen nicht zu jeder Stunde Daten. In diesem Fall wird der fehlende Wert für diese Runde einfach übersprungen, statt als irreführende 0 geschrieben zu werden.

Der kostenlose Tarif ist auf eine Zone und 50 Anfragen pro Stunde begrenzt: Mit dem Standardintervall (900 s) verbraucht die Integration davon 4 pro Stunde.

Konfigurationseinstellungen​

Diese Einstellungen fragt Electricity Maps in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Erste SchrittesectionNeinElectricity Maps veröffentlicht die CO₂-Intensität der Stromnetze weltweit. Erstelle ein kostenloses Konto im Portal und aktiviere dann unter Settings > Access den Tarif "Home Assistant": Das ist der kostenlose, private und nicht kommerzielle (Trial und Academic sind die anderen Reiter). Erstelle deinen Schlüssel unter Settings > API keys, füge ihn unten ein und gib dann die zu verfolgende Zone an (zum Beispiel FR, DE oder US-CAL-CISO). Ein kostenloser Schlüssel deckt nur EINE Zone ab: Gib die daneben angezeigte Zone an, sonst antwortet jede Anfrage mit 401. Der kostenlose Tarif liefert die CO₂-Intensität und den CO₂-freien Anteil; der erneuerbare Anteil erfordert einen kostenpflichtigen Tarif und bleibt sonst leer.
API-TokensecretJaIm Portal mit dem kostenlosen "Home Assistant"-Zugang erstellter API-Schlüssel.
ZonestringJaKennung der zu verfolgenden Netzzone, z. B. FR, DE, US-CAL-CISO. Übernimm die Zone, die im Portal neben deinem Schlüssel angezeigt wird: Ein kostenloser Home-Assistant-Schlüssel deckt nur diese ab.
Aktualisierungsintervall (s)numberNeinWie oft die Zone abgefragt wird, in Sekunden. Electricity Maps aktualisiert etwa einmal pro Stunde und kostenlose Tarife haben ein monatliches Anfragekontingent: 900 s sind ein guter Kompromiss.

So installierst du Electricity Maps in Gladys​

  1. Öffne in Gladys Integrationen: Electricity Maps erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/prohand/gladys-electricity-maps:2.3.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/prohand/gladys-electricity-maps.

Electricity Maps benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Electricity Maps ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von prohand veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂