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

Das klingt alles sehr gut :slight_smile:

Hatte mir auch schon überlegt mittels Riemann-Summenintegralsensor bspw. aus kW → kWh zu machen. Das geht ja recht einfach. Evtl noch in zwei Entitäten (positiv und negativ) spalten und los gehts.

Wenn du weißt, wie du das sinnvoll erweitern möchtest, hältst du uns bestimmt auf dem Laufenden :slight_smile:

Danke :partying_face: :+1:

1 „Gefällt mir“

Kann ich machen, sobald es 100% spruchreif ist.
Ich bin selbst immer noch am feinoptimieren/testen.

Das „Problem“ auch an deiner Lösung ist, dass die Daten nur übermittelt werden, wenn das Auto aktiv ist und man damit eigentlich kaum etwas anfangen kann, insbesondere wenn es um den SoC und die Reichweite beim Laden geht.

Hallo,

dass die Daten nur übermittelt werden, wenn das Auto aktiv ist, ist klar. Allerdings stört mich das nicht, da ich das Auto zu 99% sowieso nicht daheim lade und es für mich nur ein Indikator ist, um auf einen Blick zu sehen, mit welchem SoC er in der Garage steht.
Wenn ich dann doch mal in der Garage PV-Überschuss lade, bekomme ich die entsprechenden Informationen von der Wallbox.

Wäre der SoC vom Polestar immer aktuell, wäre es natürlich schöner. Ein Problem ist es für mich aber bei weitem nicht.

1 „Gefällt mir“

Habe hier einen probaten Weg aufgezeigt, wie ich das mit evcc mache:

  1. Schicke mir per Webhook die SOC Werte an ein PHP-SCRIPT (s. Link) auf meinem Webspace.
  2. Das baut mir ein Json-File zusammen
  3. Beim Einstöpseln Zuhause liest evcc den SOC aus den Json-File aus und nimmt es als Startwert.
  4. Mit Startwert, Akku-Kapazität und Lademenge gerechnet evcc automatisch den SOC beim Laden.

Haut ± 1/2 % immer hin.

3 „Gefällt mir“

Noch eine SoC-Bastellösung, diesmal für IOBroker mit Tibber:
https://forum.iobroker.net/topic/67947/bastellösung-polestar-ladezustand-via-tibber-app-api

2 „Gefällt mir“

Ich fang gerade bei 0 an. Was ist klüger, CarStatsViewer oder Tibber?

ich habe jetzt die IOBroker Version mit NodeRed und Loxone gemacht… will nichts von draußen offen haben…

Link: Bastellösung: Polestar Ladezustand via Tibber App API

NodeRed kann man sich sparen, aber ich hab da gerne alles drinnen…

1 „Gefällt mir“

Die Daten hab ich jetzt schon mal in MQTT.
Lösung mittels 30€ Android Handy (bin eigentlich ein iPhone Mensch), Tasker, TaskerUI und Darker (Darker macht nur das Display dunkler - spart leider kein Strom aber das Display sieht nicht so aus als wäre ein Geist daran am werkeln).
Die Geofence ist keine echte Geofence. Ich checke einfach nur ob die Straße und die PLZ bei mir zuhause oder auf Arbeit sind. Das ganze muss jetzt erst mal Daten sammeln. Bin gespannt darauf, wie die Werte sich entwickeln, wenn ich mal unterwegs bin (läuft erst seit ner halben Stunde).

Soc und km kommen jetzt gleich aber schon mal in die Datenbank :grin:

Das kann ich gut verstehen.

Aber „offen“ und „draußen“ sind alle hier vorgestellten Lösungen. Die Daten liegen wahlweise bei Polestar, bei Tibber oder auf dem eigenen Webserver.

Eine rein lokale Lösung wirst Du nicht finden.

Das natürlich nicht, geht auch nicht, dass du Mobile Daten lokal hast…

Ich habe es über Tibber und und Node Red gemacht. Intern wird es an Loxone über UDP weitergeleitet und meint auto hat jeden Tag einen SoC >= 35% :grinning:
Bin sehr zufrieden mit der Lösung.

Was könnt ihr empfehlen? Versteh ich das richtig, CarStatsViewer schickt die Daten nur wenn ich im Auto sitze. Also quasi den Startwert beim laden, da ich ja den Wagen dann verlasse kommt kein Update?
Und Tibber kriegt die Daten aktuell auch bei verschlossenem Auto?

Ganz genau, Tibber holt -wie bei meiner Lösung- die Daten auch wenn das Auto nicht aktiv ist.
CSV nur wenn online.

1 „Gefällt mir“

Aber seh ich das richtig: Ich brauch einen Stromtarif bei denen? Ich find keine Anmeldung ohne „Tarif-Wahl“

Nein, lässt sich komplett ohne Tibber Vertrag nutzen. Es ist lediglich ein Account bei denen nötig.

1 „Gefällt mir“

Versuch es mit der App. Damit kannst du dich „nur“ registeren.

1 „Gefällt mir“

Stimmt, über die Webseite ging es nicht. Danke! Hat zufällig jemand schon Tibber in evcc eingebunden um die Soc zu erhalten? Falls ja, wäre ich für die Config dankbar!

Habe heute versucht, die CSV Daten an Home Asisstant zu übertragen:

  1. URL für webhook im CSV eingetragen
  2. AUTH Daten eingetragen

Der HA funktioniert mit Testdaten, bekommt aber keine Daten aus dem CSV. Auch der Upload der Tripdaten wird mit „Upload failed“ beantwortet. Hinter dem HTTPwebhook ist allerdings ein rotes „Sendesymbol“.

Jemand eine Idee, was der Fehler sein könnte??

Hi Walter,

mea culpa, habe das notwendige Update für das HomeAssistant config.yaml nicht für die neue API Version > 2.0 von CSV gepostet.
Hier bitte : sonst wie oben beschrieben

template: # template definitions -->>
  - trigger: # Polestar2 webhook by https ....
      - platform: webhook
        webhook_id: my_unique_coded_webhook_key
        allowed_methods:
          - POST
        local_only: false
    sensor:
      - name: "Polestar2 BatteryLevel" # PS2 SOC transfer in Wh
        unit_of_measurement: "kWh"
        state: "{{ (trigger.json.batteryLevel | float() / 1000.0) | round(1) }}"
        icon: mdi:battery-50
      - name: "Polestar2 SOC" # PS2 SOC
        unit_of_measurement: "%"
        state: "{{ trigger.json.stateOfCharge | float() * 100.0 }}"
        icon: mdi:car-electric
      - name: "Polestar2 Power" # PS2 Power
        state: "{{ (trigger.json.power | float() / 1000000.0) | round(1) }}"
        unit_of_measurement: "kW"
        icon: mdi:speedometer
      - name: "Polestar2 Speed" # PS2 Speed transfer in m/s
        state: "{{ (trigger.json.speed | float() * 3.6)| round(1) }}"
        unit_of_measurement: "km/h"
        icon: mdi:car-speed-limiter
      - name: "Polestar2 Lat" # PS2 Latitude
        state: "{{ trigger.json.lat }}"
        icon: mdi:latitude
      - name: "Polestar2 Lon" # PS2 Longitude
        state: "{{ trigger.json.lon }}"
        icon: mdi:longitude
      - name: "Polestar2 Altitude" # PS2 Altitude
        state: "{{ trigger.json.alt | round(0) }}"
        unit_of_measurement: "m"
        icon: mdi:image-filter-hdr
      - name: "Polestar2 ambientTemperature" # PS2 amb Temp
        unit_of_measurement: "°C"
        state: "{{ trigger.json.ambientTemperature }}"
        icon: mdi:coolant-temperature
      - name: "Polestar2 ignitionState" # PS2 IGN State
        state: "{{ trigger.json.ignitionState }}"
        icon: mdi:car
      - name: "Polestar2 APP Version" # PS2 CSV APP Version
        state: "{{ trigger.json.appVersion }}"
        icon: mdi:car
      - name: "Polestar2 Gear" # PS2 selected Gear
        state: "{{ trigger.json.selectedGear }}"
        icon: mdi:car-cog
    binary_sensor:
      - name: "Polestar2 chargePortConnected" # PS2 chargePortConnected
        state: "{{ trigger.json.chargePortConnected }}"
        icon: mdi:ev-station
    # end of PS2 weebhook
  - binary_sensor: # determine when PS2 is parked
      - name: "Polestar2 isParked"
        delay_off:
          seconds: 5
        state: >
          {{ states('sensor.polestar2_gear') == "P" }}
        icon: mdi:car-brake-parking
  - binary_sensor: # determine when PS2 is charging
      - name: "Polestar2 isCharging"
        icon: mdi:ev-plug-type2
        delay_off:
          seconds: 5
        state: >
          {{
            states('sensor.polestar2_gear') == "P"
          and
            states('sensor.polestar2_power')|float(1.0) < 0.0
          and
            states('sensor.polestar2_power')|float(1.0) > -11.0
          }}
  - binary_sensor: # determine when PS2 is fast charging
      - name: "Polestar2 isFastCharging"
        icon: mdi:ev-plug-ccs2
        delay_off:
          seconds: 5
        state: >
          {{
            states('sensor.polestar2_gear') == "P"
          and
            states('sensor.polestar2_power')|float(1.0) < -12.0
          }}

Falls noch jemand auf der Suche nach einer Home Assistant Integration ist über Tibber.
image

3 „Gefällt mir“