evcc-io / evcc

Sonne tanken ☀️🚘
https://evcc.io
MIT License
2.86k stars 543 forks source link

Fehlende Reichweitenextrapolation #10985

Closed waynistan closed 6 months ago

waynistan commented 7 months ago

Describe the bug

Ich nutze evcc zum Laden eines Opel Corsa-e. Da dieser während eines aktiven Ladevorgangs i.d.R. keine Updates an den Opel-Server liefert, habe ich in der evcc.yaml das Abfrageintervall auf 1000 Stunden gesetzt, damit de facto nur nach dem Einstecken des Ladekabels SoC und Reichweite abegfragt werden und anschließend per estimate-Funktion diese Daten extrapoliert werden. Zumindest war das meine Erwartung, allerdings greift die Extrapolation nur für den SoC-Wert, die Reichweite bleibt unverändert und stimmt dann logischerweise nach Ladebeginn nicht mehr.

Das ist natürlich nur eine Kleinigkeit, der wesentliche Punkt, dass evcc mit diesen Einstellungen keine veralteten Daten vom Opel-Server bekommt und dadurch über das Ladeziel hinausschießen würde funktioniert im Rahmen der erwartbaren Extrapolationsgenauigkeit wunderbar. Wäre trotzdem cool, wenn die Reichweite künftig analog zum SoC-Wert extrapoliert wird, wenn estimate auf true gesetzt ist.

Steps to reproduce

1. 2. 3. ...

Configuration details

vehicles:
- name: opel_corsa_e
  type: template
  template: opel
  title: Corsa-e
  capacity: 42
  phases: 3
  cache: 5m

loadpoints:
- title: Wallbox
  charger: mennekes_amtron_charge_control
  vehicle: opel_corsa_e
  resetOnDisconnect: true
  mode: pv
  soc:
    poll:
      mode: charging
      interval: 1000h
    estimate: true

Log details

N/A

What type of operating system are you running?

HomeAssistant Add-on

Version

0.122.1

andig commented 7 months ago

Dafür müsste auch eine (temperaturabhängige) Maximalreichweite in die Config. Glaube nicht, dass wir das aufnehmen wollen.

/cc @premultiply

premultiply commented 7 months ago

Oha 😮

Ausgehend von den Startbedingungen haben wir ja quasi schon eine einfache lineare Extrapolation im Target-SoC-Dropdown. Aber wie Andi schon schrieb ist das wirklich sehr Glaskugel 🔮³ ohne die Interna die das BMS kennt. Wäre das am Ende wirklich hilfreich?

waynistan commented 7 months ago

Weiß nicht, wie es bei anderen Autos ist, aber beim Corsa wird offenbar ein Reichweitenwert vom Opel-Server übermittelt (derselbe, den auch die MyOpel-App in dem Moment anzeigt). Meine Idee wäre gewesen einfach diesen Wert um denselben Faktor zu erhöhen, mit dem auch der SoC-Wert erhöht wird. Da wäre nichts Temperaturabhängiges dran, bzw. der Wert vom Auto berücksichtigt das ja bereits mehr oder weniger. evcc macht das ja auch jetzt schon, denn unten rechts neben dem Ziel-SoC steht auch eine genau so (unkompliziert) berechnete Reichweite. Anstatt, dass diese nun während des Ladens immer kleiner wird und die "aktuelle" Reichweite trotz Ladung gleichbleibt sollte es imo genau umgekehrt sein: Solange evcc keine neue Daten vom Fahrzeug bekommt ändert sich an dem Zielwert unten rechts nichts, aber die Reichweite unten links steigt proportional mit dem (geschätzten) SoC-Wert. Sofern es Fahrzeuge gibt, von denen evcc gar keine Reichweite abfragen kann, dann geht das so natürlich nicht, aber darum ging es mir auch nicht.

VolkerK62 commented 7 months ago

Siw berücksichtigt der Estimator den vom Fahrzeug gelieferten Soc nur, wenn der sich um einen bestimmten Wert verändert hat, ansonsten wird der hochgerechnete Wert weiter verwendet. Evtl könnte man das bei der Reichweite analog gestalten.

pencoe commented 7 months ago

Ich hätte da noch einen ergänzenden Vorschlag: geschätzte Werte in der Anzeige durch ein vorangestelltes 'ca.' deutlich zu machen. Ansonsten fände ich es auch hilfreich, wenn auf Basis der letzten bekannten Daten sowohl Ladestand als auch Reichweite geschätzt würden. Der letzte bekannte Stand aus SoC und Reichweite liefert ja einen Wert von km pro % SoC. Wenn auch eine Maximalreichweite geliefert wurde könnte man sich eher darauf stützen und die Reichweite als SoC*MaxRW/100 schätzen. Wenn diese Werte deutlich als Schätzung gekennzeichnet wären (s.o.) sollte das doch kein Problem sein, oder?

andig commented 6 months ago

Wäre das am Ende wirklich hilfreich?

Klingt so als würden wir das derzeit nicht umsetzen wollen um keine Versprechen über eine Reichweite abzugeben die evcc dann am Ende mangels besserer Erkenntnisse nicht halten kann. Aus diesem Grund aktuell erstmal wontfix.