OpenWB – Geladene Energie pro Fahrzeug

Von | Januar 2, 2025

Bisher habe ich hier im Blog nicht viel über die Ladestation „OpenWB“ geschrieben.
Der Grund hierfür war, dass es – außer der Installation eines Modbus-Proxies – nicht viel darüber zu berichten gab… Vielleicht hätte ich einen Beitrag zur Einrichtung der Wallbox schreiben können / sollen … denn es tauchen in den jeweiligen Foren immer wieder die selben Fragen und „Problemchen“ zum Setup auf.

Allerdings – wirklich up to date wären diese Beiträge nicht gewesen, denn selber lief bis ende letzen Jahres noch eine relativ alte Software-Version für die OpenWB, da ich keinen Grund für ein Upgrade sah.

Das Upgrade von 1.9.x auf 2.x – gerade, in Verbindung mit HomeAssistant ist leider nicht ganz so trivial, da die Software ein komplettes redesign erfahren hat und auch die alte HomeAssistant Integration daher nicht mehr kompatibel ist.

Seit geraumer Zeit gibt es nun zwar schon eine neue Integration für die Software 2.x, aber dies bedeutet dementsprechend auch eine Umfangreiche Änderung in Automatisierungen, Dashboards, Statistiken etc. – wofür ich bis jetzt keinen Grund gehabt hatte, da ich die Features der neuen Version bis dato gar nicht benötigte.

Naja, wie dem auch sei – das Jahresende hatte letztendlich noch eine kleine Überraschung für uns in der Hinterhand – und nachdem unser Zweitwagen nicht mehr durch die Hauptuntersuchung kam, wurde auch der Ersatz ein eAuto – Und letztendlich wurde auch die Software 2 der OpenWB für uns damit relevant.

Eine der wesentlichen Änderungen in der Version 2 der OpenWB sind die Fahrzeug-Profile.
Für jedes Fahrzeug lässt sich hier ein individuelles Profil anlegen, in welchem die Bevorzugte Lademethode, Ladeleistung und viele weiteren Dinge parametrieren lassen.

Ladeprofile und Zählerstand

Leider übermittelt die OpenWB von Haus aus keine Information darüber, wie viele kWh pro Fahrzeug aufgewendet wurden.
Diese Information findet sich letztendlich nur im Ladeprotokoll der Wallbox – diese Information lässt sich allerdings nicht über die Integration in HomeAssistant – und damit ggf. in das Energy-Dashboard übernehmen.

Für dieses stehen nach wie vor – wie in der alten Version – nur ein Gesamtzählerstand oder ein Tageszähler zur Verfügung.
Bei einem Fahrzeug völlig ausreichend – bei n Fahrzeugen, möchte man diese Information ggf. schon etwas genauer aufschlüsseln 😉

Standardmäßig erfolgt die Auswahl des Angeschlossenen Fahrzeugs, bzw. des aktiven Fahrzeugprofils an der Wallbox entweder über das Interne Display (sofern vorhanden) – oder aber über einen entsprechenden RFID Chip, welcher dem jeweiligen Fahrzeug zugeordnet ist.
Darüber hinaus bietet uns aber auch die Integration selbst eine Auswahl an, mit welcher wir über HomeAssistant das entsprechende Profil aktivieren können.

Auswahl des aktiven Fahrzeug-Profils in HomeAssistant

Sensoren mit Informationen, welches Fahrzeugprofil aktiv ist, bzw. welches Fahrzeug angeschlossen ist

Nun – damit haben wir bereits einen der Wichtigen Grundsteine für unser Vorhaben.

HomeAssistant bietet uns ein paar Hilfsmittel, auf welche wir nun zurückgreifen müssen.
Dazu legen wir uns als aller erstes einen Helfer an.
Da wir den Energieverbrauch messen möchten, wählen wir in den Helfern den „Verbrauchszähler“ aus.
Als Eingangssensor wählen wir hier den Sensor aus, welcher die Geladene Energie (gesamt) beinhaltet.

Die zweite, für unser Ziel relevante Information sind jetzt „Tarife“.
Hier tragen wir einfach 1:1 die Informationen der Fahrzeugprofile ein.
Der Einfachheit halber sollte es sich hier um die gleiche Schreibweise handeln, wie in den oben aufgeführten Entitys (also Angeschlossenes Fahrzeug, oder eben das Value aus dem Sensor „Fahrzeug“)

Der Verbrauchszähler greift auf den Sensor „Geladene Energie (gesamt) zurück – und beinhaltet unsere Fahrzeugprofile als „Tarif“

HomeAssistant legt aus diesen Informationen nun eine neue Auswahl, sowie einen Verbrauchszähler für jeden hinterlegten Tarif an.

Beispiel nach dem Anlegen beider Fahrzeuge als Tarif

Damit haben wir schon einmal die Grundvoraussetzungen geschaffen, damit HomeAssistant uns den Energieverbrauch pro Fahrzeug ermitteln kann.

Wer mit den Zählern bei 0 Starten möchte, kann nun eigentlich schon zum Punkt der Automatisierung springen – wer den Zählern die bisher geladene Energie „zuweisen“ möchte, sollte noch einen kleinen Schritt vorab erledigen.

Dazu muss die geladene Energie für das jeweilige Fahrzeug allerdings aus dem Ladeprotokoll der Wallbox ermittelt werden… wer vor der Software 2.0 bereits mehrere Fahrzeuge genutzt hat, hat hier ggf. ein Problem, bzw. sind die alten Ladestände dem Profil „Standardfahrzeug“ zugeordnet…

Optional – Zähler „Kalibrieren“

HomeAssistant bietet eine Option um einem Verbrauchszähler einen Wert zu übermitteln.
In den Entwicklerwerkzeugen geschieht dies über „Verbrauchszähler: Kalibrieren“.

Dazu wählt man den entsprechenden Verbrauchszähler aus – und übergibt diesem den aus den Ladeprotokollen ermittelten Wert – wobei hier die Amerikanische Schreibweise mit einem Punkt als Dezimal-Trennzeichen anzuwenden ist.

Damit können wir uns nun Vollständig der Automatisierung widmen.#

Automatisiertes Umschalten der Verbrauchszähler

HomeAssistant hat nun zwar für jedes Fahrzeug, welches in der OpenWB hinterlegt ist, einen eigenen Zähler und einen dazu passenden „Tarif“, weiß aber natürlich nicht, wann welcher Tarif anzuwenden ist.

In der Regel, wenn man mit tatsächlichen Stromtarifen (Haupt- / Nebentarif) arbeitet, kann man hierzu eine Automatisierung anlegen, welche eine Uhrzeit als Auslöser nutzt.

Eine solche Automatisierung für den Stromtarif wäre z.B. folgende:

alias: Wechsel Stromtarif
description: Zur Berechnung des Verbrauches im jeweiligen Tarif
triggers:
  - at: "00:00:00"
    variables:
      tariff: NT
    enabled: true
    trigger: time
  - at: "05:00:00"
    variables:
      tariff: HT
    enabled: true
    trigger: time
conditions: []
actions:
  - target:
      entity_id: select.stromtarif
    data:
      option: "{{ tariff }}"
    action: select.select_option
mode: single
Code-Sprache: JavaScript (javascript)

Wir wollen so etwas ähnliches Umsetzen, allerdings brauchen wir einen anderen Auslöser.

Die OpenWB bietet uns hierzu gleich drei mögliche Quellen an, wie wir bereits wissen.
Entweder die Auswahlbox, den Sensor mit dem Fahrzeugnamen – oder den Sensor mit der Fahrzeug-ID.

Ich habe mich für den Sensor mit dem Fahrzeugnamen entschieden, da es die einfachste Option darstellt.
Die Automatisierung soll also bei JEDER Änderung des Sensor-Zustandes ausgelöst werden.

trigger: state
entity_id:
  - sensor.openwb_chargepoint_2_fahrzeugCode-Sprache: CSS (css)

Man könnte dies ggf. noch erweitern, indem man über eine Bedingung abfängt, dass der Zustand nicht „unknown“ oder „unavailable“ sein darf… (?)

Als Aktion hinterlegen wir nun:

action: select.select_option
metadata: {}
data:
  option: "{{ states('sensor.openwb_chargepoint_2_fahrzeug') }}"
target:
  entity_id: select.openwb_carchargingCode-Sprache: JavaScript (javascript)

Hier sollte nun auch klar werden, warum die Tarife, welche wir angelegt hatten der selben Schreibweise entsprechen sollten.
Wir können dann einfach das Value aus dem Sensor-State in die Auswahloption übernehmen.

Stimmen die Schreibweisen nicht überein – oder wir nutzen die Fahrzeug-ID, müssen wir hier aufwändiger mit if / else Strukturen Arbeiten.

Funktionsweise:

Sobald die Auswahl des aktiven Fahrzeugs nun über HomeAssistant, oder via RFID Chip geändert wird, übermittelt die OpenWB den Wert über den Sensor.
In diesem Moment wird die Automatisierung ausgelöst, und der als Helfer hinterlegte Tarif geändert.

Diese Tarifänderung bewirkt nun, dass der jeweilige Verbrauchszähler anfängt, die Werte des Gesamt-Zählers der OpenWB zu überwachen und entsprechend auf den Aktiven „Tarif“ zählt.

Im Energy-Dashboard können wir nun das jeweilige Fahrzeug individuell hinterlegen – und können damit eine genauere Statistik erhalten:
Wer die Statistiken dann ggf. noch etwas schöner bekommen möchte, kann im Anschluss versuchen, die Zählerstände über die Entwicklerwerkzeuge / Statistik mit den Werten des Gesamt-Zählerstandes anzugleichen – bei mir dürften diese ‚Ausreißer‘ durch eine manuelle Änderung an den Verbrauchszählern liegen, nachdem diese bereits kalibriert waren.
Der Eintrag „OpenWB2“ sollte in Zukunft hier nicht mehr relevant sein und kann daher aus dem Setup entfernt werden.
Zur Kontrolle werde ich ihn aber über einen Gewissen Zeitraum noch beibehalten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert