-
-
Notifications
You must be signed in to change notification settings - Fork 699
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
BMW/Mini hcaptcha integration #17445
Conversation
Lgtm. Ok to merge? |
Yes from my side. |
I have successfully built and tested your fix on Raspberry Pi4. Please go ahead with merging. I suggest some script wizard implementing a shell script to automate the captcha generation and transfer to evcc.yaml process. Testing: Not having hcatcha defined in evcc.yaml throws a "missing credentials" error as expected.
Vehicle config:
|
I tried type: template and got this: main ] FATAL 2024/11/26 10:48:17 cannot create vehicle 'ev4': cannot create vehicle type 'template': invalid key: hcaptcha Do I need to enter my VIN? Side note: I there a reason why my evcc logs under "add ons" no longer update or only update like every 10 minutes? If not, is there a fix? |
Are you sure you ran the newly compiled executable? Also, when I generate an hcptcha code it always starts with "P1_...". Are you sure you got it right? |
Of course I did not....I am afraid I need to be told every step.... What do I need to do? |
Just wait for the next release of evcc and make an update. The fix will be included then. |
Will do. Thank you! |
@BrickTop87 |
I guess the sqlite database your evcc normally uses isn't located at |
Same thing calling it without sudo. And it does get fed /etc/evcc.yaml which contains the token. |
Did you renew the Just tried, works as expected:
|
No, evcc was running normally in parallel. Does |
The But after successfully logging in with user, password and hcaptcha, we get another set of tokens from BMW (access token and refresh token) and store them in the sqlite database My guess in your case is that evcc normally uses the database |
Thanks for taking the time to look into this. You are right But why doesn't the debug command use |
When running as a service, the database path is defined in the unit configuration file as |
@BrickTop87 mir fällt grad auf dass 9754bb9#diff-043b7389199df70a93120e91d23de8e2670cbc95f0cbe61859be4818444e4cb4R174 Den err von drüber überschreibt, da fehlt also eine Fehlerbehandlung. Dem Code fehlt auch die Formatierung mit gofmt. Deshalb baut gerade kein Nightly. Willst Du es nochmal anschauen? |
Sieht so aus 👍🏻 |
@andig v0.131.8 ist bei mir installiert, hacaptcha für meinen Mini ist gesetzt und der SoC wird wieder ausgelesen. Vielen Dank ans ganze Team für die tolle Arbeit. |
Bei mir will es noch nicht so, aber da kann auch BMW schuld dran sein: |
Selber Fehler wie bei mir... |
Hi, ich hatte die gleichen (bzw. ähnliche) Fehlermeldungen aber nach einem Passwortreset bei BMW sind nun meine beiden Fahrzeuge wieder online. Bevor es geklappt hat, musste ich auch mehrfach neu starten. Bei ersten Mal hatte ich ein 401-Fehler bekommen. |
Leider läuft es bei mir nicht so rund wie bei anderen. Ich habe trotz Update auf die 0.131.8 Probleme meinen Mini wieder online zu bekommen. Jemand eine Idee? |
Hallo Zusammen, |
Bei mir hat auch geklappt. Danke! |
Mehrfach neu starten und jedes Mal neuen Captcha einfügen oder einfach so? Hat irgend jemand es unter Home Assistant zum Laufen bekommen? Ich habe es gefühlt 100 Mal versucht, auch mit geändertem Passwort. "creating vehicle ev4 failed: cannot create vehicle type 'template': cannot create vehicle type 'bmw': Client authentication failed (e.g., login failure, unknown client, no client authentication included or unsupported authentication method): unexpected status: 401 (Unauthorized)" Nachtrag: Neues Ergebnis: Nächster Edit: Nächster Edit: |
Do you use the same hcaptcha for both cars ? thx! |
Hi, yes both the same. Best regards |
Hi, bei mir war captcha in der Datenbank und dann habe ich mehrfach gestartet ohne etwas zu ändern. Läuft unter Home Assistant. Viel Erfolg. |
Funktioniert hier, mit Home Assistant. |
Ich bekomme keinen Fehler 401, sondern 403: Hat sonst auch noch jemand das Problem? |
Hey, |
Bei mir hat es direkt unter HA funktioniert. Fahrzeug wurde direkt erkannt. Ich habe irgendwo gelesen, dass das hcaptcha nur kurze Zeit gültig ist. Danke an allen die die Losung getestet und umgesetzt haben. |
@blenni und @cmayr123: Bei euch klingt es als würde BMW wegen zu vielen Zugriffen den Zugang temporär blockieren. Habt ihr sonst noch was parallel am laufen, was auf die BMW Dienste zugreift? |
I had to comment out the loadpoints and chargers section in my evcc.yaml to disable my charger so that EVCC started up quick enough to avoid the hcaptcha token from expiring. Once it had got the token I re-enabled the charger and started the evcc service again. |
I didn't realize that there are setups where evcc needs a lot of time to start up. |
Bei mir unter Home Assistant immer der 401er Fehler. Identische evcc.yaml hat unter Windows eine Minute vorher funktioniert... Ist es bei euch eigentlich auch so, dass ihr unter HA beim Starten die Logs nicht seht? Die Logs kommen erst, wenn er entweder verbunden ist oder aber, wenn er wegen FATAL abgebrochen hat - sprich, man sieht immer erst nach 5 bis 10 Minuten, was Sache ist. Vielleicht sollte ich einfach mal mein EVCC auf dem HA neu installieren... Edit: Ergebnis weiterhin: Bei den Protokollen bekomme ich übrigens bisweilen: Weiterer Nachtrag: |
I struggled a bit to get my existing configuration running with the hcaptcha, adding the car and captcha in the web-configuration would work, but not in the yaml config. What fixed it for me was use to "evcc migrate" and adding a fresh captcha in the yaml to get the existing configuration running. |
Bei mir geht es inzwischen. |
Prima, neue Version installiert, hcaptcha generiert und eingefügt. Neu gestartet. Fehler. Noch mal gestartet - ging. Danke an alle Beteiligten für die schnelle (Interims-)Lösung! |
Bei mir kommt immer noch der Fehler 403 (auch nach einer Nacht Pause ohne irgendwelche Abfragen) Was mir zusätzlich noch aufgefallen ist: Edit: Irgendwie scheint meine IP geblockt zu sein, wenn ich mich am Handy über WLAN an einem anderen Browser anmelde, bekomme ich die gleiche Fehlermeldung. Wenn ich WLAN deaktiviere und es über das Mobilfunknetz mache, komme ich rein. Vielleicht könnt ihr alle, die Fehler 403 bekommen, euch mal eine neue IP holen. |
Danke blenni für den Tipp. Das hat bei mir geholfen. Danke an das tolle Projekt, die schnellen Fixes und die hilfreiche Community! :) |
Ich habe die 0.131.8 gleich runtergeladen und das hcaptcha ini der config eingefügt. Passte soweit auch alles, Fzg (Mini) wurde korrekt ausgelesen - alles gut. Schade... |
Hast du ein Log von dem Zeitpunkt, als es aufgehört hat zu funktionieren? Die hier bringen leider nicht so viel. |
Logs habe ich leider keine - jetzt aber den Loglevel mal hochgedreht. Sollte es generell ein Problem geben, würde es ja nicht nur bei mir auftreten - meine letzten Ladevorgänge waren am 2.12. - da hat alles noch funktioniert. |
Moin, ich hatte trotz Generierung des Tokens und sofortiger Einspielung sowie Neustart immer wieder den Fehler 401. Dann habe ich die Zeile mit der VIN herausgenommen - und siehe da: sofort alles super. Ich habe nur einen BMW im Einsatz, daher war die Zeile ohnehin optional. Vielleicht kann das anderen auch helfen. DANKE allen für den Einsatz! |
Minimally invasive fix for broken BMW/Mini API #17332
hcaptcha must be generated once using https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html and copied to evcc.yaml
Refresh tokens received after first login are persisted in the database and get refreshed every time the token is refreshed.