Database settings can't be deleted or overwritten from yaml #17677
-
Describe the bugIf - for Mercedes vehicles - the tokens are re-created and stored in the yaml configuration file, then the respective data in the database can't be overwritten by the data from the yaml file (e.g. by Steps to reproduceAll steps executed as sudo to prevent access permission problems:
Configuration detailsOnly respective vehicles section:
vehicles:
- name: Mercedes_EQA250
title: Mercedes EQA250
type: template
template: mercedes
capacity: 66 # battery capacity kWh
user: <email-address>
region: EMEA
accesstoken: ....
refreshtoken: 23qH...
phases: 3
mode: PV
minCurrent: 6
maxCurrent: 16 Log details
What type of operating system are you running?Linux Nightly build
Version0.131.8 |
Beta Was this translation helpful? Give feedback.
Replies: 7 comments 26 replies
-
Refer also discussion #17610 |
Beta Was this translation helpful? Give feedback.
-
@KanteTaete Du hast das Fahrzeug nur über yaml konfiguriert, nicht über Config UI angelegt, korrekt? Hintergrund: Der Zum eigentlichen Problem: @andig das klingt, als ob die Fahrzeugimplementierung beim Wechsel des Tokens in der YAML nicht korrekt mit einem existierenden Wert in der Datenbank umgeht. Das ist unabhängig von Config UI. Falls das nicht automatisch erkennbar ist, könnten wir auch ein dediziertes Token-Reset Kommando einführen. Schöner wäre natürlich ohne. |
Beta Was this translation helpful? Give feedback.
-
Ich kann zu Mercedes nichts sagen. |
Beta Was this translation helpful? Give feedback.
-
Das geht so einfach nicht da yaml Daten und migrierte DB Daten nix mit dem Problem zu tun haben. Das Mercedes „Runtime“ Token steht in der
gelöscht werden. |
Beta Was this translation helpful? Give feedback.
-
Da ich die "fehlerhafte" db noch verfügbar habe, könnte ich versuchen, das Problem ochmals genauer einzugrenzen. ...allerdings habe ich dabei das Problem, dass ich die nächsten Tage geschäftlich außer Haus bin und somit vermutlich erst am Wochenende wieder intensiver testen kann. |
Beta Was this translation helpful? Give feedback.
-
Wir haben hier mit Version 0.131.11 ein Problem mit einem Mercedes, den wir erst jüngst versucht haben überhaupt einzubinden.
Wir haben bisher zumindest nicht bewusst auf die Verwaltung von evcc mit Datenbank migriert. In der Weboberfläche kann ich das Fahrzeug auch nicht bearbeiten, da es dort heißt, dass es per yaml konfiguriert wird. "Verschärft" wird die Situation dadurch, dass wir evcc als HassIO laufen lassen und ich daher mit meinem jüngst erlernten Docker-foo mich in das laufende Image einklinken musste, um dort überhaupt Langer Rede kurzer Sinn: Der Befehl
Würde hier mehr stehen, falls in der Datenbank Inhalt wäre? Kann jemand auf Grundlage dieser Erlebniserzählung uns einen Tipp geben, wie wir in dieser HomeAssistant + evvc-Addon-Konstellation mit token sinnvollerweise umgehen? |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
Die Komponente nutzt immer die Token aus der DB. Ablauf:
Bei Erstinstallation:
Die Komponente sucht Token in DB. Findet keinen und nutzt den Refreshtoken aus der yaml um einen neuen Token zu erhalten und schreibt diesen in die DB. Der Token in der yaml ist damit auch sofort ungültig.
Beim nächsten Start:
Die Komponente sucht Token in DB. Findet einen und nutzt diesen es sei denn der Token ist abgelaufen. Dann wird ein neuer geholt und in der DB gespeichert.
Wenn der Token defekt ist:
evcc settings get -c [pfad_zu_config]/evcc.yaml
mercedes_[email]_[region]
.evcc settings set mercedes_[email]_[region] "" -c [pfad_zu_config]/evcc.…