strutings Skrevet 20. mars 2024 Skrevet 20. mars 2024 Borettslaget har byttet til disse. Ingen styring via nettside, kun app. Ikke mulighet for styring etter strømpris, men det er forsåvidt ikke noe problem å lage selv i HA. Utfordringen er å få satt opp start/stopp av lader når bilen ikke har denne funksjonen. Tidligere hadde vi Charge365 og der brukte jeg et CSS-script fra bash/debian for å starte lading. Noen smarte knoller som har tenkt på dette? Siter
Jorgen Skrevet 19. desember 2024 Skrevet 19. desember 2024 (endret) Har tukla litt med dette dei siste dagane, og fått til å sette opp authentication flow, og trigge Zaptec-laderen gjennom Elaway sitt API frå lokalt testmiljø. Brukte https://mitmproxy.org/ for å snappe ut endepunkt og header/body (inkludert client_secret) frå iPhone-appen. Neste steg blir å forsøke å bygge ein custom integration for home assistant, men usikker på om eg har kompetanse eller kapasitet til å bygge noko brukbart. Det ser forresten ut som om Elaway brukar Ampeco under panseret, som har ein whitelabel-divisjon. APIet (med unntak av autentisering) ser ut til å vere godt dokumentert her https://developers.ampeco.com/reference/ Endret 19. desember 2024 av Jorgen 1 Siter
Jorgen Skrevet 21. desember 2024 Skrevet 21. desember 2024 Det viste seg å vere vanskeleg å jobbe mot APIet til Elaway frå Home Assistant grunna oauth2 autentisering. Har laga eit enkelt gateway-API som kan køyre i docker, som kan handtere start/stopp. https://github.com/jvik/elaway-gateway-api Siter
strutings Skrevet 21. desember 2024 Forfatter Skrevet 21. desember 2024 Helt fantastisk 🙂 Satt og plundra med det samme, men det stoppa i refresh token. Godt jobba, skal prøve i løpet av kvelden Siter
strutings Skrevet 21. desember 2024 Forfatter Skrevet 21. desember 2024 Jorgen skrev (2 timer siden): Det viste seg å vere vanskeleg å jobbe mot APIet til Elaway frå Home Assistant grunna oauth2 autentisering. Har laga eit enkelt gateway-API som kan køyre i docker, som kan handtere start/stopp. https://github.com/jvik/elaway-gateway-api curl https://no.eu-elaway.charge.ampeco.tech/api/v1/app/session/start \ --data "evseId=SECRET" \ --header "Authorization: Bearer REDACTED BEARER TOKEN"> Det er også mulig å kjøre en enkelt curl-kommando fra bash, men bearer token varer bare en måned dessverre.. Siter
Jorgen Skrevet 22. desember 2024 Skrevet 22. desember 2024 14 hours ago, strutings said: curl https://no.eu-elaway.charge.ampeco.tech/api/v1/app/session/start \ --data "evseId=SECRET" \ --header "Authorization: Bearer REDACTED BEARER TOKEN"> Det er også mulig å kjøre en enkelt curl-kommando fra bash, men bearer token varer bare en måned dessverre.. Ja, APIet eg har laga henter ut bearer tokens også, så lenge du har client secret på plass. Denne ser ut til å vere statisk. Eg har ikkje hatt hell med å bruke refresh token for å generere ny bearer token enno, så for no går den gjennom heile oauth-prosessen på nytt ved behov. Siter
strutings Skrevet 22. desember 2024 Forfatter Skrevet 22. desember 2024 Feil ved handtering: TimeoutError: Waiting for selector `input[name="username"]` failed: Waiting failed: 30000ms exceeded Får bare denne feilmeldingen. Kjører riktignok i docker run og ikke compoze, men det skal vel ikke ha noe å si Siter
Jorgen Skrevet 22. desember 2024 Skrevet 22. desember 2024 (endret) 6 hours ago, strutings said: Feil ved handtering: TimeoutError: Waiting for selector `input[name="username"]` failed: Waiting failed: 30000ms exceeded Får bare denne feilmeldingen. Kjører riktignok i docker run og ikke compoze, men det skal vel ikke ha noe å si Denne feilen får du fordi puppeteer aldri klarer å laste inn oauth-sida der den skal fylle inn brukarnamn og passord, sannsynlegvis fordi puppeteer får feil URL i auth.ts. Skal få lagt på litt bedre validering på environment variables og bedre logging ved feil, men long story short trur eg du sender inn feil CLIENT_ID. Min er i alle fall på 32 teikn, men usikker på om den er lik for alle, eller om den er unikt generert. Fint om du kan gi meg litt info om korleis din ser ut. Edit: Har forresten pusha ny versjon med betre logging og validering. Køyr docker pull for å hente siste versjon. Skal få på plass versjonering etterkvart. Endret 22. desember 2024 av Jorgen Siter
strutings Skrevet 1. januar Forfatter Skrevet 1. januar Jorgen skrev (På 22.12.2024 den 22.13): Denne feilen får du fordi puppeteer aldri klarer å laste inn oauth-sida der den skal fylle inn brukarnamn og passord, sannsynlegvis fordi puppeteer får feil URL i auth.ts. Skal få lagt på litt bedre validering på environment variables og bedre logging ved feil, men long story short trur eg du sender inn feil CLIENT_ID. Min er i alle fall på 32 teikn, men usikker på om den er lik for alle, eller om den er unikt generert. Fint om du kan gi meg litt info om korleis din ser ut. Edit: Har forresten pusha ny versjon med betre logging og validering. Køyr docker pull for å hente siste versjon. Skal få på plass versjonering etterkvart. No valid bearer token found. Starting OAuth flow. Waiting for authorization code from redirect. Found authorization code. Exchanging authorization code for access token and ID token. Requesting Elaway token with access token and ID token. Successfully obtained Elaway token. New bearer token saved Server is running on http://localhost:5001 Dette kommer opp i den nyeste versjonen, men får ikke kontakt med localhost hverken via 172.17.0.1 (docker). Hva kan det være som gjør dette? Har aldri hatt problemer med dette tidligere. Siter
Moskus Skrevet 2. januar Skrevet 2. januar Jorgen skrev (På 19.12.2024 den 13.09): Brukte https://mitmproxy.org/ for å snappe ut endepunkt og header/body (inkludert client_secret) frå iPhone-appen. Oooh! Denne var kjekk! Takk for tips! 🙂 Siter
Jorgen Skrevet 2. januar Skrevet 2. januar 21 hours ago, strutings said: No valid bearer token found. Starting OAuth flow. Waiting for authorization code from redirect. Found authorization code. Exchanging authorization code for access token and ID token. Requesting Elaway token with access token and ID token. Successfully obtained Elaway token. New bearer token saved Server is running on http://localhost:5001 Dette kommer opp i den nyeste versjonen, men får ikke kontakt med localhost hverken via 172.17.0.1 (docker). Hva kan det være som gjør dette? Har aldri hatt problemer med dette tidligere. Dette er nok eit trivielt problem å løyse. Du må nok berre eksponere riktig port. Kan du poste kommandoen du bruker for å starte containeren? Utan secrets sjølvsagt. Siter
strutings Skrevet 5. januar Forfatter Skrevet 5. januar Jorgen skrev (På 2.1.2025 den 12.38): Dette er nok eit trivielt problem å løyse. Du må nok berre eksponere riktig port. Kan du poste kommandoen du bruker for å starte containeren? Utan secrets sjølvsagt. Noe rart med forwarding fra docker ser det ut til ja. Når jeg kjører denne kommandoen, så svarer den på htttp, men kun med dette: Cannot GET / docker run --name=elaway -e ELAWAY_USER='[email protected]' -e ELAWAY_PASSWORD='XXXXXXXXX' -e ELAWAY_CLIENT_ID='1' -e ELAWAY_CLIENT_SECRET='SECRET' -e CLIENT_ID='SECRET' -e PORT=4000 -p 4000:4000 jvik/elaway-gateway-api:latest Siter
Jorgen Skrevet 5. januar Skrevet 5. januar (endret) Då høyres det faktisk ut som du har fått det til, men routeren heiter “charger”. Du må altså bruke GET mot localhost:4000/charger og eventuelt /charger/start eller /charger/stop. Merk at på dei to siste er det POST. Burde kanskje vore PATCH. Du kan sjå endepunkta i denne fila https://github.com/jvik/elaway-gateway-api/blob/4a9066f13612faaac6fc0c7e192b124fe0cf46d1/src/charger/chargerRouter.ts Endret 5. januar av Jorgen Siter
strutings Skrevet 6. januar Forfatter Skrevet 6. januar Jorgen skrev (22 timer siden): Då høyres det faktisk ut som du har fått det til, men routeren heiter “charger”. Du må altså bruke GET mot localhost:4000/charger og eventuelt /charger/start eller /charger/stop. Merk at på dei to siste er det POST. Burde kanskje vore PATCH. Du kan sjå endepunkta i denne fila https://github.com/jvik/elaway-gateway-api/blob/4a9066f13612faaac6fc0c7e192b124fe0cf46d1/src/charger/chargerRouter.ts Fikk snubla det sammen etter mye om og men.. 🙂 Har også laget et python script som bruker MQTT for å lage to buttons for hhv. start og stop. Henter også ut timespris. Fikk ikke lest ut pris for hver session, men mulig den må stå og lade en stund først. Kanskje du får til å bruke dette direkte i docker? https://github.com/strutings/elaway-gateway-api/blob/master/elaway_charger.py Siter
Jorgen Skrevet 8. januar Skrevet 8. januar On 06/01/2025 at 19:18, strutings said: Fikk snubla det sammen etter mye om og men.. 🙂 Har også laget et python script som bruker MQTT for å lage to buttons for hhv. start og stop. Henter også ut timespris. Fikk ikke lest ut pris for hver session, men mulig den må stå og lade en stund først. Kanskje du får til å bruke dette direkte i docker? https://github.com/strutings/elaway-gateway-api/blob/master/elaway_charger.py Trur at eg i latskapen satte opp endepunktet /stop til å kun returnere 200 OK, utan data. Dette skal vere trivielt å fikse, men er på ferie utan laptop, så får ikkje sett på det før om eit par veker. Kan gi eit pling her når det er ordna. Siter
strutings Skrevet 8. januar Forfatter Skrevet 8. januar Jorgen skrev (20 timer siden): Trur at eg i latskapen satte opp endepunktet /stop til å kun returnere 200 OK, utan data. Dette skal vere trivielt å fikse, men er på ferie utan laptop, så får ikkje sett på det før om eit par veker. Kan gi eit pling her når det er ordna. Endepunktet charger oppdateres med current session, så har hentet ut verdier derfra ved aktiv lading. Når lading ikke er aktiv pusher den verdi 0 på all session-data. Oppdaterte fila med en del nye sensorer for session charging, datestamp og tariff. Laget en PR på din github, som du kan se på når du er tilbake fra ferie 🙂 1 Siter
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.