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

Polestar: api changed #11754

Closed
andig opened this issue Jan 18, 2024 Discussed in #11751 · 38 comments · Fixed by #11766
Closed

Polestar: api changed #11754

andig opened this issue Jan 18, 2024 Discussed in #11751 · 38 comments · Fixed by #11766
Labels
bug Something isn't working

Comments

@andig
Copy link
Member

andig commented Jan 18, 2024

Discussed in #11751

Originally posted by Demophobie January 18, 2024
Moin,

seit heute zeigt EVCC mir kein SoC mehr an, ich glaube der Km-Stand ist auch betroffen. Habe nichts geändert, lief vorher problemlos.

Wallbox Carport: vehicle soc: Message: 400 Bad Request; body: \"{\\\"errors\\\":[{\\\"message\\\":\\\"Cannot query field \\\\\\\"getBatteryData\\\\\\\" on type \\\\\\\"Query\\\\\\\".\\\",\\\"extensions\\\":{\\\"code\\\":\\\"GRAPHQL_VALIDATION_FAILED\\\",\\\"exception\\\":{\\\"stacktrace\\\":[\\\"GraphQLError: Cannot query field \\\\\\\"getBatteryData\\\\\\\" on type \\\\\\\"Query\\\\\\\".\\\",\\\" at Object.Field (/var/task/src/functions/gateway/handler.js:79:15333)\\\",\\\" at Object.enter (/var/task/src/functions/gateway/handler.js:48:25080)\\\",\\\" at Object.enter (/var/task/src/functions/gateway/handler.js:79:12452)\\\",\\\" at Pdr (/var/task/src/functions/gateway/handler.js:48:24254)\\\",\\\" at fgr (/var/task/src/functions/gateway/handler.js:79:60357)\\\",\\\" at f (/var/task/src/functions/gateway/handler.js:287:40742)\\\",\\\" at YRr (/var/task/src/functions/gateway/handler.js:287:39031)\\\",\\\" at runMicrotasks (<anonymous>)\\\",\\\" at processTicksAndRejections (node:internal/process/task_queues:96:5)\\\",\\\" at async dBe (/var/task/src/functions/gateway/handler.js:288:2270)\\\"]}}}]}\\n\", Locations: [], Extensions: map[code:request_error]

in der evcc.yaml sieht es wie folgt aus:

vehicles:
  - name: polestar                      # Fahrzeug Polestar 2
    type: template
    template: polestar
    title: Polestar 2
    user: BLABLABLA@googlemail.com
    password: YOYOYOYOYOYO
    vin: LPSVSXXXXXXXXXX
    capacity: 75

Depends on TA2k/ioBroker.polestar#10

@andig
Copy link
Member Author

andig commented Jan 19, 2024

Könnt ihr bitte mal probieren, ob https://github.com/leeyuentuen/polestar_api auf HA für Euch funktioniert?

@Claudweb
Copy link

Könnt ihr bitte mal probieren, ob https://github.com/leeyuentuen/polestar_api auf HA für Euch funktioniert?

Ja, das funktioniert mit der 1.6.0.

@andig
Copy link
Member Author

andig commented Jan 19, 2024

@Claudweb darf ich um Zugangsdaten für info@evcc.io bitten? Ich habe immer noch das Gefühl, dass das von Fzg zu Fzg unterschiedlich ist.

@loebse
Copy link

loebse commented Jan 19, 2024

Könnt ihr bitte mal probieren, ob https://github.com/leeyuentuen/polestar_api auf HA für Euch funktioniert?

Funktioniert bei mir auch mit der 1.6.0 wieder zuverlässig.

@Demophobie
Copy link
Sponsor

@andig Zugangsdaten kann ich wieder ändern?

@andig
Copy link
Member Author

andig commented Jan 19, 2024

Ja. Leider besteht das Problem weiter. Das nüsste funktionieren, tut es aber nicht und ich verstehe nicht, warum 😢

@andig
Copy link
Member Author

andig commented Jan 19, 2024

@Demophobie das Repo oben funktioniert bei Dir?

@Demophobie
Copy link
Sponsor

@andig Achso, nein, ich dachte nur du hättest es hinbekommen, weil du was geändert hast. Hab's noch nicht probiert.

Kann mir meinem Wissen nur wenig beitragen 😢

@MASHpony
Copy link

wollte mich nur anschließen - habe das selbe Problem

Kann es was damit zu tun haben das Polestar eine zwei Faktor Authentifizierung eingeführt hat?

Domi: vehicle soc: Message: 400 Bad Request; body: \"{\\\"errors\\\":[{\\\"message\\\":\\\"Cannot query field \\\\\\\"getBatteryData\\\\\\\" on type \\\\\\\"Query\\\\\\\".\\\",\\\"extensions\\\":{\\\"code\\\":\\\"GRAPHQL_VALIDATION_FAILED\\\",\\\"exception\\\":{\\\"stacktrace\\\":[\\\"GraphQLError: Cannot query field \\\\\\\"getBatteryData\\\\\\\" on type \\\\\\\"Query\\\\\\\".\\\",\\\" at Object.Field (/var/task/src/functions/gateway/handler.js:79:15333)\\\",\\\" at Object.enter (/var/task/src/functions/gateway/handler.js:48:25080)\\\",\\\" at Object.enter (/var/task/src/functions/gateway/handler.js:79:12452)\\\",\\\" at Pdr (/var/task/src/functions/gateway/handler.js:48:24254)\\\",\\\" at fgr (/var/task/src/functions/gateway/handler.js:79:60357)\\\",\\\" at f (/var/task/src/functions/gateway/handler.js:287:40742)\\\",\\\" at YRr (/var/task/src/functions/gateway/handler.js:287:39031)\\\",\\\" at runMicrotasks (<anonymous>)\\\",\\\" at processTicksAndRejections (node:internal/process/task_queues:96:5)\\\",\\\" at async dBe (/var/task/src/functions/gateway/handler.js:288:2270)\\\"]}}}]}\\n\", Locations: [], Extensions: map[code:request_error]

@andig
Copy link
Member Author

andig commented Jan 19, 2024

@loebse hättest du Zugangsdaten für info@evcc.io?

@Demophobie
Copy link
Sponsor

Den Gedanken mit der Zwei Faktor Authentifizierung hatte ich auch schon. Habe jetzt mal die Anweisungen bzgl. dieser Authentifizierung befolgt und meine Handynummer im Profil ergänzt. Die war nämlich gar nicht drin...

Irgendwas muss ja anders sein.... Hm...

@loebse
Copy link

loebse commented Jan 20, 2024

@loebse hättest du Zugangsdaten für info@evcc.io?

Vielleicht eine blöde Frage, aber was für Zugangsdaten hättest du gerne?

@loebse
Copy link

loebse commented Jan 20, 2024

Den Gedanken mit der Zwei Faktor Authentifizierung hatte ich auch schon. Habe jetzt mal die Anweisungen bzgl. dieser Authentifizierung befolgt und meine Handynummer im Profil ergänzt. Die war nämlich gar nicht drin...

Irgendwas muss ja anders sein.... Hm...

Mit der 2FA hat es nichts zu tun. Aber Polestar hat den API Endpunkt von /my-star zu /mystar-v2 geändert.

@andig
Copy link
Member Author

andig commented Jan 20, 2024

Das ist im PR schon umgesetzt, funktioniert aber trotzdem nicht. Unklar ist warum. Wenn bei jemandem https://github.com/leeyuentuen/polestar_api geht, der PR aber nicht dann muss es irgendeinen Unterschied geben. Nur welchen? Lässt sich nur mit Zugangsdaten testen.

@sgr002
Copy link

sgr002 commented Jan 20, 2024

Mein API-Login geht, ich teste das gerne, ist die Anpassung schon im normalen Release und kann mit

sudo apt --only-upgrade install -y evcc

installiert werden?

@Demophobie
Copy link
Sponsor

Nein, ist sie leider noch nicht.

@sgr002
Copy link

sgr002 commented Jan 20, 2024

Ich habe Zeit, kein Stress

@sgr002
Copy link

sgr002 commented Jan 20, 2024

Habt ihr jetzt schon API-Zugangsdaten bekommen? Wenn nicht kann ich Euch die gegeben und nach Abschluss das Passwort wieder ändern, kein Problem.

@MASHpony
Copy link

@loebse hättest du Zugangsdaten für info@evcc.io?

Hi,

hast du jetzt schon die Zugangsdaten? Sonst sag Bescheid ich schick dir meine wenn du sie brauchst

@Demophobie
Copy link
Sponsor

Ich denke @andig kann gerade alle Zugangsdaten gut gebrauchen um den Fehler zu finden. Schick sie ihm ruhig. Meine hat er auch.

@leeyuentuen
Copy link

Just wanted to join in - I have the same problem

Could it have something to do with Polestar introducing two-factor authentication?

Domi: vehicle soc: Message: 400 Bad Request; body: \"{\\\"errors\\\":[{\\\"message\\\":\\\"Cannot query field \\\\\\\"getBatteryData\\\\\\\" on type \\\\\\\"Query\\\\\\\".\\\",\\\"extensions\\\":{\\\"code\\\":\\\"GRAPHQL_VALIDATION_FAILED\\\",\\\"exception\\\":{\\\"stacktrace\\\":[\\\"GraphQLError: Cannot query field \\\\\\\"getBatteryData\\\\\\\" on type \\\\\\\"Query\\\\\\\".\\\",\\\" at Object.Field (/var/task/src/functions/gateway/handler.js:79:15333)\\\",\\\" at Object.enter (/var/task/src/functions/gateway/handler.js:48:25080)\\\",\\\" at Object.enter (/var/task/src/functions/gateway/handler.js:79:12452)\\\",\\\" at Pdr (/var/task/src/functions/gateway/handler.js:48:24254)\\\",\\\" at fgr (/var/task/src/functions/gateway/handler.js:79:60357)\\\",\\\" at f (/var/task/src/functions/gateway/handler.js:287:40742)\\\",\\\" at YRr (/var/task/src/functions/gateway/handler.js:287:39031)\\\",\\\" at runMicrotasks (<anonymous>)\\\",\\\" at processTicksAndRejections (node:internal/process/task_queues:96:5)\\\",\\\" at async dBe (/var/task/src/functions/gateway/handler.js:288:2270)\\\"]}}}]}\\n\", Locations: [], Extensions: map[code:request_error]

this error is more that the graphql query is not correctly

@andig
Copy link
Member Author

andig commented Jan 22, 2024

Polestar has a new api- mystar-v2. Old api only returns HTTP 400. Apparently the old authentication isn't valid for the new api. Switching to new authentication (similar to web ui) returns "BAD USER INPUT" when calling the API. If anyone if proficient with graphQL please take a look at the PR. I'm out of ideas what might be wrong with the fix.

@andig
Copy link
Member Author

andig commented Jan 22, 2024

Mir fehlen immer noch Zugangsdaten für einen Fall wo #11754 (comment) definitiv funktioniert.

@chfaurie
Copy link
Sponsor

Im Homematic funktioniert Polestar wieder nur evcc nicht.

@MASHpony
Copy link

Mir fehlen immer noch Zugangsdaten für einen Fall wo #11754 (comment) definitiv funktioniert.

Kann ich dir meinen login einfach senden?
ich verstehe nicht was man bei diesem api test tun muss

@Demophobie
Copy link
Sponsor

Demophobie commented Jan 29, 2024

Ich glaube @andig sucht Zugangsdaten, bei denen die verlinkte Home Assistant App funktioniert.

Ich hoffe das Problem wird gelöst, man merkt erst wie verwöhnt man war wenn auf einmal die SoC nicht mehr zur Verfügung steht... ;-)

@chfaurie
Copy link
Sponsor

Ich kann funktionierende Zugangsdaten zuverfügung stellen. @andig ich muss nur wissen ob das zielführend ist, dann muss ich noch wissen wohin mit den Daten.

@hyperbart
Copy link
Contributor

hyperbart commented Jan 31, 2024

Nvm: read the thread in German, you are aware about the 2FA.
My account has not been set up yet for 2FA and I have the same problem.
@andig do you want extra credentials for Polestar?

@andig
Copy link
Member Author

andig commented Feb 9, 2024

Leider kein Fortschritt. Meine Implementierung sieht richtig aus, bekommt aber keine Tokens. Jetzt bräuchte es ein anderes Tool, dessen HTTP Verkehr ich 1:1 vergleichen könnte. Leider kann man in HA den HTTP Traffic nicht mit schneiden.

@demichve
Copy link

demichve commented Feb 9, 2024

@andig
Sonst gäbe es noch dieses Node.js Modul, was wohl auch funktioniert:
https://github.com/andysmithfal/polestar.js

@andig
Copy link
Member Author

andig commented Feb 9, 2024

Gute Idee! Leider kann ich Node nicht dazu überreden über Proxyman zu gehen:

HTTPS_PROXY=localhost:9000 NODE_TLS_REJECT_UNAUTHORIZED=0 node polestar.js

 cause: Error: read ECONNRESET

Falls da jemand eine Idee hat...

@loebse
Copy link

loebse commented Feb 9, 2024

@andig ich habe jetzt ein einfaches Python Beispiel, welches den Auth Token erfolgreich ausliest:
https://github.com/loebse/polestar_python_example/blob/main/polestarAuth.py

Im Endeffekt sind es 3 Calls:

  1. Get resume path (wichtig ist, dem redirect NICHT zu folgen)
  2. Get Code
  3. Get Token

Alle drei Requests müssen natürlich in der gleichen Session abgesetzt werden.

Hilft das weiter?

@andig
Copy link
Member Author

andig commented Feb 10, 2024

Schaffst Du es, das mal durch Proxyman zu jagen?

@loebse
Copy link

loebse commented Feb 10, 2024

Ja, kann ich machen:

image

Was brauchst du genau @andig ?

@andig
Copy link
Member Author

andig commented Feb 10, 2024

Den kompletten Durchlauf bitte an info@evcc.io zusammen mit Deinen Zugangsdaten ;). Es muss einen Unterschied geben...

@loebse
Copy link

loebse commented Feb 10, 2024

Ich habe Dir das Proxyman-Log geschickt, möchte aber meine Zugangsdaten nicht per Mail teilen. Vielleicht können @hyperbart oder @chfaurie nochmal behilflich sein?

@Demophobie
Copy link
Sponsor

@andig Meine Zugangsdaten sind unverändert, falls es hilft.

@MASHpony

This comment was marked as off-topic.

@evcc-io evcc-io locked as resolved and limited conversation to collaborators Mar 3, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants