Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restladezeit optional von Fahrzeug-API #298

Closed
premultiply opened this issue Aug 18, 2020 · 18 comments · Fixed by #325
Closed

Restladezeit optional von Fahrzeug-API #298

premultiply opened this issue Aug 18, 2020 · 18 comments · Fixed by #325
Labels
enhancement New feature or request

Comments

@premultiply
Copy link
Member

Die Restladezeitschätzung sollte optional von der Fahrzeug-API übernommen werden können da diese weitere Faktoren in die Berechnung einfließen lassen kann (Ladekurve, Zelltemperaturen, ...) als nur der momentane Ladestand und die Ladegeschwindigkeit und damit eine genauere Vorhersage liefern.

Bekannterweise liefern mindestens die Renault- und Kia-Schnittstellen #297 solche Prognosen.
Andere Vermutlich auch. Rückfallebene ist immer die vorhandene interne Restzeitschätzung. #296

@issue-label-bot
Copy link

Issue-Label Bot is automatically applying the label feature_request to this issue, with a confidence of 0.98. Please mark this comment with 👍 or 👎 to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

@andig
Copy link
Member

andig commented Aug 18, 2020

Interessante Idee- wollen wir denn diesen APIs mehr vertrauen oder alternativ vielleicht die SoC Schätzung auch auf die Restladeprognose ausdehnen?

@premultiply
Copy link
Member Author

premultiply commented Aug 18, 2020

Aus Erfahrung und Beobachtung ist der Eigenschätzung des Fahrzeugs (zumindest bei der ZOE) sehr viel mehr als der einfachen internen Berechnung in EVCC zu trauen. Bei ständig schwankenden Ladeleistungen sind natürlich beide Verfahren ziemlich machtlos.

Genau an der Verbesserung der internen Restladeprognose arbeite ich schon unter #296. ;)

Trotzdem finde ich den API-Weg optional und wo vorhanden sehr begrüßens- und wünschenswert.

@mclane
Copy link

mclane commented Aug 20, 2020

Beim Kia kann man auch den TargetSoC vom Fahrzeug holen (kann man dort getrennt für AC und DC einstellen). Wenn vorhanden, sollte man diesen nutzen.

@andig
Copy link
Member

andig commented Aug 20, 2020

Macht das Sinn oder sollte man- wenn evcc eingesetzt- den nicht immer in der App auf 100 stellen? Oder lässt sich der auch Remote ändern?

@mclane
Copy link

mclane commented Aug 20, 2020

Naja, wenn ich in der evcc WebUI den TargetSoC auf 100% stelle das Auto aber bei 90% aufhört stimmt die Restladezeit in der WebUI nicht. Den TargetSoC kann man in der UVO connect app einstellen, es müsste demnach auch remote gehen. Dazu müsste man die Kommunikation der UVO connect app aber mal belauschen, damit man sieht, wie das geht.

@premultiply
Copy link
Member Author

Ja, es macht bei EVCC absolut Sinn das Fahrzeug immer auf 100% zu stellen.

Trotzdem muss man u. U. für die Restzeitkalkulation berücksichtigen dass jemand trotzdem fahrzeugseitig einen niedrigeren End-SoC gewählt hat.

@andig
Copy link
Member

andig commented Aug 21, 2020

Ja, es macht bei EVCC absolut Sinn das Fahrzeug immer auf 100% zu stellen. Trotzdem muss man u. U. für die Restzeitkalkulation berücksichtigen dass jemand trotzdem fahrzeugseitig einen niedrigeren End-SoC gewählt hat.

Wie soll das denn funktionieren? Ich könnte ja z.b. im UI dann nicht mehr auf 100% gehen. Was mache ich wenn auf 70% limitiert, fürs UI aber nur 60 und 80 verfügbar? Aus meiner Sicht ist TargetSoC auf Userseite zu lösen, Restladezeit wäre eine Möglichkeit zu ergänzen.

Wir müssen die beiden Themen hier in der Diskussion sauber trennen!

@andig
Copy link
Member

andig commented Aug 21, 2020

Hier gehts um Ladezeit vom API. Ist die besser als unsere Kalkulation?

@premultiply
Copy link
Member Author

Ja.

@andig
Copy link
Member

andig commented Aug 24, 2020

Wenn #310 gemerged ist wird es deutlich einfacher optionale Erweiterungen im Code einzubauen. Ich warte eigentlich nur auf Bestätigung am Beispiel EVSE ob das gut funktioniert.

@andig
Copy link
Member

andig commented Aug 29, 2020

So, #310 ist drin. Welche Fahrzeuge bieten das und machen es besser als wir selbst?

@andig andig added the enhancement New feature or request label Aug 29, 2020
@premultiply
Copy link
Member Author

Ich fange mal an:
Renault
Hyundai/Kia

@andig
Copy link
Member

andig commented Aug 31, 2020

Ich bräuchte jeweils den API Aufruf und die JSON Struktur, idealerweise einfach als PR gegen die entsprechende Datei. Einbinden kann ich es schnell ;)

@premultiply
Copy link
Member Author

premultiply commented Aug 31, 2020

Renault:
Kommt schon im vorhandenen battery-status Abruf mit (chargingRemainingTime in Minuten).

{
    "data": {
        "type": "Car",
        "id": "VF1AG______",
        "attributes": {
            "timestamp": "2020-01-20T17:46:13+01:00",
            "batteryLevel": 97,
            "batteryTemperature": 4,
            "batteryAutonomy": 203,
            "batteryCapacity": 0,
            "batteryAvailableEnergy": 0,
            "plugStatus": 1,
            "chargingStatus": 1.0,
            "chargingRemainingTime": 90,
            "chargingInstantaneousPower": 4200.0
        }
    }
}

Achtung: Der Wert kann in der Antwort aber je nach Zustand aber auch fehlen. Dann Fallback auf EVCC-interne Schätzung.

@premultiply
Copy link
Member Author

premultiply commented Sep 1, 2020

Denk bitte dran dass sich die RemainingTime auf den unter timestamp angegebenen Zeitpunkt bezieht. Also im Prinzip wird damit eine Enduhrzeit definiert. Dann nur noch schnell die aktuelle Zeit von der Enduhrzeit abziehen und schon hat man die aktuelle Restzeit.

@andig
Copy link
Member

andig commented Sep 1, 2020

Denk bitte dran dass sich die RemainingTime auf den unter timestamp angegebenen Zeitpunkt bezieht.

Guter Hinweis- PR aktualisiert. Du kannst das gerne mittels evcc vehicle testen, die remaining time wird jetzt mit ausgegeben.

@premultiply
Copy link
Member Author

premultiply commented Sep 2, 2020

Mist, wir verwenden hier ja noch Version 1 der battery-status-API.
Da heissen die Parameter noch timeRequiredToFullSlow und lastUpdateTime

https://api-wired-prod-1-euw1.wrd-aws.com/commerce/v1/accounts/____/kamereon/kca/car-adapter/v1/cars/VF1AG___/battery-status?country=DE

{
  "data": {
    "type": "Car",
    "id": "VF1AG___",
    "attributes": {
      "batteryLevel": 55,
      "rangeHvacOff": 140,
      "chargeStatus": 1,
      "lastUpdateTime": "2020-09-02T13:18:58+02:00",
      "plugStatus": 1,
      "chargePower": 1,
      "instantaneousPower": 900,
      "batteryTemperature": 16,
      "timeRequiredToFullSlow": 920
    }
  }
}

Wir müssen hier also noch auf API v2 umstellen!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants