HomeAssistant Integration für Ladezustand, PV Charging, Überschussladung etc

ok, habe ich nicht beachtet. Hatte schonmal ein Tracker Objekt benutzt und war nicht sicher. Wenn es von der Automation selbst angelegt wird, umso besser!

BTW: selbst der zweite Teil meiner Implementierung ist offensichtlich auch „zu kompliziert“.
Siehe Edit oben; teste gerade die einfachere Implementierung.
Werde berichten - update oben eingepflegt - ist jetzt ok für mich.

Sieht zum Beispiel so aus … Map verkleinert wegen ihr wisst schon.

Irgend eine API muss es wohl geben, denn Tibber (Dein Stromvertrag für das digitale Zeitalter ⚡️ Tibber) kann sowohl den SoC als auch Infos über das Auto abrufen. Wie man dran kommt? Kein Plan…

Super Lösung, vielen Dank dafür.
Jetzt warte ich sehnsüchtig auf meine Einladung in einen Testtrack für CSV.

1 „Gefällt mir“

Wir könnten vielleicht jemanden bei Tibber oder Polestar einschleusen, der die API-Definitionen durchsteckt. Gibt es freiwillige Praktikanten?

Mit der webhookrelay-integration kann man die Daten relativ simpel über CSV in Node-Red empfangen.

Ich habe nun eher das Problem die Werte aus dem json zu extrahieren um z.B. in eine Datenbank zu schreiben. Kennt sich damit jemand aus?

EDIT: Nach anfänglicher Begeisterung muss ich soeben feststellen, dass die freie Lösung auf 150 Aufrufe pro Monat begrenzt ist. Somit ist das Limit leider schnell erreicht. Schade.

1 „Gefällt mir“

Ich hab das nun so gelöst, dass CSV die Daten an einen Home-Assistant-Webhook sendet (da der ohnehin schon exposed und SSL-gesichert ist). Der Webhook schickt die Daten dann per MQTT an NodeRed, da ich hier zentral meine MQTT-Geräte verwalte. Dort werden dann die relevanten Infos extrahiert und wieder als MQTT-Topic an HA gesendet.

Könntest du exemplarisch zeigen wie die extract Funktionen bei dir aussehen?

Die sind sehr einfach gehalten bisher.
Extract Location:

msg.payload = {
    "longitude": msg.payload.lon,
    "latitude": msg.payload.lat,
    "battery_level": msg.payload.stateOfCharge
}

return msg;

Extract state:

let status = "unavailable";

if (msg.payload.isParked) {
    status = "geparkt";
} else if (msg.payload.isCharging) {
    status = "lädt";
} else if (msg.payload.chargePortConnected) {
    status = "eingesteckt"
} else if (msg.payload.driveState !== 2) {
    status = "fährt";
}

msg.payload = status;

return msg;
1 „Gefällt mir“

Das heißt aber, du hast ports nach außen offen? Also incoming?

Ports sind im Router keine offen, ich verwende Cloudflared. Das ist die wohl sicherste Variante, eine HA-Instanz extern verfügbar zu machen, wenn man seine Blockregeln vernünftig einstellt.

1 „Gefällt mir“

Wie bestimmt Ihr wann die Ladung enden soll?
Beispiel:
Komme mit 30% SOC nach hause. Habe den Wert über CSV in Home Assistant.
Möchte gerne bis 70% laden.

Habt Ihr da eine Automation ?

Ich habe mir folgendes gedacht:

  • Einen Helper mit gewünschten SOC (A) nach ladung
  • SOC (B) von CSV bei starten der Ladung
    -100% = 78kWh Batterikapazitet

Müsst eine Formel erstellen die A-B errechent. Denn habe ich wieviel % ich laden muss.
Jeder Prozent laden entspricht 0,78kWh.
Somit könnte ich aus meiner Wallbox Commander die eingespeisten kWh auslesen und bei erreichen vom (A-B)*0,78 die Ladung Pausen/Abschalten.
Am besten noch ein bisschen mehr laden wegen ladeverlust etc.
Vieleicht (A-B)*0,85 dann bin ich auf der sicheren Seite.

Wie jedoch kann ich eine mathematische Funktion in Home Assistant machen die dies berechnet?
Eine Automation oder in Node Red?

Kan mir jemand weiterhelfen?

Ich rechne stumpf ganze 12 Prozentpunkte pro Stunde am 11kW Charger. Das kommt immer ganz gut hin bis ca 90% SOC. Drüber passt es natürlich nicht mehr als lineare Formel.

Danke für die Info.
Da ich von der Wallbox den Wert habe wie viele kWh ins Auto eingespeist wurden wollte ich den Wert nutzen, da mein Wallbox den Strom aufgrund der übrigen verbraucher im Haus regelt. Hier in Schweden haben wie leider nur 25A Sicherungen als Hauptsicherungen im Haus.
Mit dem Wert wie viele kWh geladen wurden kann ich unabhängih vom Ladestrom die Ladung überwachen.

Ich nehme mir einfach das letzte kommunizierte batteryLevel (in Wh) aus der JSON von CSV und speichere zeitgleich den aktuellen Zählerstand der Wallbox. Dann wird bei jeder Änderung des Zählerstands die seit dem Start der Ladesession geladene Energie in einer neuen Variable auf das initiale batteryLevel draufaddiert (muss natürlich evtl. umgerechnet werden).
Parallel wird bei jeder Änderung des batteryLevel der SoC neu berechnet (mithilfe des maxBatteryLevel) und beim gewünschten Ziel-SoC das Laden beendet.

Die meisten Wallboxen sollten einen Energiezähler für die aktuelle Ladesession haben, der sich meistens häufiger aktualisiert als der Gesamtzähler über die Lebenszeit der WB - dieser eignet sich dann natürlich besser.

Ich nehme die 75kWh, davon 10% ladeverlust und errechne mir so, die gewünschten % , die ich gerne im Akku reinladen möchte.

10% mehr akku: 75kWh * 0,1 / 0,9 = 8,3 kWh

Die KEBA kann gezielt energie laden und dann aufhören, das funktioniert ganz gut so.

Meine Frau fährt auch, hat aber kein CSV, somit könnte ich mich auf den SoC nicht verlassen…

Wärst du vielleicht so nett und könntest ein paar Screenshots von Tasker und Autoinput teilen, wie du das gemacht hast oder das kurz zusammenfassen? Ich habe Tasker und bin mit einem Profil im Wagen verbunden, habe aber von Tasker keine Ahnung und was ich so online finde ist eher verwirrend als helfend.

/Edit
Würde es nicht mit HA benutzen, aber die Daten in MQTT rein zu kriegen sollte irgendwie machbar sein. Aber wie Tasker an die Infos in der Polestar App kommt, wäre hilfreich.

Hallo zusammen,

habe den Thread insgesamt eben einmal überflogen.
Würde die Entitäten des Polestars gerne in HA integrieren. Car Stats Viewer ist auch vorhanden und auf dem Polestar installiert.

Es ist auch ausreichend, dass nur Werte gezogen werden, wenn die Zündung im Polestar aktiviert ist/eine Fahrstufe eingelegt ist. Ist sowas denkbar? Wie müsste man hier vorgehen?

Danke! :slight_smile:

Für die neuen Volvos mit AAOS gibts jetzt wohl ne HA Integration. Da Polestar wahrscheinlich auch die oder ähnliche Volvo APIs benutzt (nur eine Vermutung), vielleicht gehts ja eventuell auch beim P2?

1 „Gefällt mir“

Hallo zusammen,

es klappt wirklich erstaunlich einfach über webhook.
@crisp_2 Danke nochmal an der Stelle!

@Ixam97 meinst du, dass es denkbar ist, dass mehr Parameter via webhook abgegriffen werden können? Eine Langzeitstatistik über bspw. Verbrauchswerte/gefahrene km etc. in HomeAssistant, die man dann mit Grafana auswerten kann, wäre großartig. :slight_smile:

Aber auch mit den vorhandenen Entitäten kann man auch auf die Schnelle schon was anfangen :slight_smile:

2 „Gefällt mir“

Denkbar ist eine ganze Menge :wink: Aktuell ist die API darauf ausgelegt, reine Telemetriedaten zu übertragen, also den aktuellen Zustand zum Zeitpunkt der Übertragung. Da wäre es dann Aufgabe des Servers, das zu loggen und daraus Statistiken zu erzeugen.

Ich bin aber auch schon etwas am grübeln, wie man das sinnvoll erweitern kann. Mein erster geplanter Schritt wäre, die selben Datensätze für die API zu benutzen, wie für die Datenbank. Aktuell sendet die API ja mit einem festen Zeitintervall die Momentanwerte. Für die Datenbank werden Mittelwerte zwischen den Datenpunkten errechnet, was wesentlich genauer sein sollte.

Auf jeden Fall wird da früher oder später noch was passieren :wink:

Meine Wunschvorstellung wäre eine (Web)App fürs Handy, auf der man die selben Daten einsehen kann, wie auf der App im Auto. Aber das ist im Moment noch absolutes Wunschdenken :joy:

1 „Gefällt mir“