Tibber Ladeoptimierung mit Hyundai ioniq 5 und Home Assistant

In diesem Artikel beschreibe ich eine von mir erstellte Lösung mit Hilfe von Home Assistant, um meinen Hyundai ioniq 5 automatisiert zu der Zeit mit den günstigsten Tibber Strompreisen zu laden.

Generell liebe ich Technik, ich optimiere gerne meine Kosten und meinen Stromverbrauch und natürlich mache ich auch gerne etwas fürs Klima. In diesem Zusammenhang bin ich auch vor einiger Zeit zum Stromanbieter Tibber gewechselt, der auch ohne Smartmeter (man bekommt in Deutschland einfach keines) mit der eigenen Lösung Tibber Pulse echte dynamische Strompreise anbietet. Gerade bei einem eAuto lohnen sich dynamische Strompreise enorm, da man hier schnell mal einige Kosten sparen kann (>20%), wenn man zu günstigen Zeiten lädt.

Tibber bietet hierbei eine App, mit der man den aktuellen Verbrauch in Echtzeit überwachen kann. Außerdem zeigt die App den stündlichen Strompreis, der jeweils am Vortag bis 13h an der Strombörse festgelegt wird. Somit kann man auch gut im Voraus planen, wann hohe Verbraucher, wie eAuto, Waschmaschine oder Spülmaschine eingeschaltet werden müssen.

Eigentlich bietet die Tibber App auch eine direkte Integration von eAutos oder Wallboxen mit Fernsteuerung – allerdings funktionierte diese Lösung bei meinem Hyundai nicht wirklich. Eine Verknüpfung konnte zwar hergestellt werden, die automatisierte Ladeplanung funktionierte jedoch nicht korrekt.

Dementsprechend überlegte ich, wie ich selbst eine brauchbare Automatisierung für meinen Hyundai ioniq 5 umsetzen könnte und ich fand sehr schnell heraus, dass sowohl Tibber als auch Hyundai entsprechende APIs anbieten, um sowohl die Strompreise für die Planung abzurufen als auch den Ladevorgang selbst zu starten oder ein Scheduling zu aktivieren.

Da ich jedoch auch geplant hatte, zukünftig mehr als nur meinen eAuto Ladevorgang zu automatisieren und vielleicht mehr Smart Home Möglichkeiten auszuschöpfen, kam ich schnell auf die OpenSource Software Home Assistant. Diese Software bietet bereits viele Integrationen und außerdem kann man sie stromsparend auf einem Raspberry PI laufen lassen (oder auch anderer Hardware).

Für meine Zwecke kaufte ich mir einen Raspberry PI 4 B mit Gehäuse, Netzteil, Kühlkörpern und einer 32GB Speicherkarte bei BerryBase. Die Installation von Home Assistant auf dieser Hardware ist recht schnell und einfach erledigt – man kann einfach ein fertiges Image herunterladen und am PC auf die Speicherkarte spielen.

In HomeAssistant selbst kann man dann über das Web-Interface erstmal die benötigten Plugins und Gerätetypen hinzufügen, die man fernsteuern und automatisieren möchte. Für die von mir erstellte Lösung des automatisierten Hyundai Ladens mit Tibber benötigt man folgendes:

Nach der Installation muss man zunächst Tibber und das Hyundai Bluelink Connect Plugin Konfigurieren bzw. Authentifizieren, damit der API Zugriff möglich ist. Sobald das geschehen ist, sieht man dann bereits in Home Assistant im Dashboard den Status bzw. alle Infos zum Hyundai und dem Tibber Stromanschluss.

Um den Ladevorgang optimiert zu planen, erstellte ich dann ein Python Script, welches folgende Aktionen durchführt:

  • Abruf der Tibber Strompreise für die kommenden Stunden
  • Abruf des aktuellen Ladestands des eAutos sowie des AC Ladelimits
  • Berechnen, des ungefähr notwendigen Zeitaufwandes für den Ladevorgang (Annahme ca. 1h für 10KW bei 11KW Ladeleistung)
  • Suchen des günstigsten Zeitraums für den Ladevorgang
  • Rückgabe der Start und Endzeit als Attribute, die dann in Home Assistant zur weiteren Nutzung bereitgestellt werden

Das Python Script selbst muss man auf dem Home-Assistant Server im ./config/pyscript/ Verzeichnis ablegen. Anschließend kann man es als Funktion aufrufen bzw. stündlich in Home Assistant über eine Automation laufen lassen, um die optimale Ladezeit zu berechnen. Zusätzlich dazu erstellte ich eine im Web-Interface konfigurierte Automation, die die Hyundai Charging Schedule auf die entsprechenden Werte setzen, sofern sich der Hyundai nicht bereits im Zustand „laden“ befindet.