Skip to content

Latest commit

 

History

History
47 lines (34 loc) · 2.83 KB

File metadata and controls

47 lines (34 loc) · 2.83 KB

Status for Web API-integrasjon i State Editor

Denne filen oppsummerer status og neste steg for tools/state-editor-api.html etter integrasjon av Homey Web API.


1. Oppdatert tools/boolean-editor.html

  • Filen tools/boolean-editor.html (i rotmappen) er nå konvertert til et lyst tema for å matche resten av dokumentasjonssidene.
  • Endringene er committet og pushet.

2. Implementert API-integrasjon i tools/state-editor-api.html

Den nye siden tools/state-editor-api.html bruker nå AthomCloudAPI for autentisering, som er den anbefalte metoden for web-applikasjoner.

  • Client ID / Client Secret input: Brukeren kan lime inn sine API-credentials direkte i grensesnittet. Disse lagres lokalt i nettleseren (localStorage) for bekvemmelighet.
  • OAuth Login: Bruker AthomCloudAPI for å håndtere innlogging mot Homey Cloud.
  • Tilkoblingslogikk:
    1. Initialiserer AthomCloudAPI med credentials.
    2. Henter autentisert bruker og listen over Homeys.
    3. Hvis brukeren har flere Homey-enheter, vises en modal for valg.
    4. Kobler til valgt Homey via homey.authenticate() som returnerer en API-instans.
  • Henting av enheter og soner:
    • Henter enheter (api.devices.getDevices()) og soner (api.zones.getZones()) parallelt.
    • Filtrering: Filtrerer på driverId som inneholder "state-device". (Bruker ikke lenger driverUri da denne er deprecated).
    • Sonenavn: Slår opp sonenavn via sone-ID fra sonelisten (da Device.zoneName er deprecated).
  • Fallback: Har logikk for å forsøke manuell fetch mot API-et hvis standard SDK-kall feiler (f.eks. pga CORS eller manglende data), men SDK-metoden er primær.
  • Funksjonalitet:
    • Søk/filtrering av enheter.
    • Import av konfigurasjon fra valgt enhet direkte inn i editoren.
    • Simulering og redigering fungerer som i offline-versjonen.

Status

  • Løsning valgt: Vi har gått bort fra "Bearer Token" input og bruker nå OAuth2 (Client ID/Secret) via AthomCloudAPI. Dette er mer robust og brukervennlig over tid.
  • CORS: Ved å bruke AthomCloudAPI og riktig redirectUrl (må settes opp i Athom Developer Portal for appen), bør CORS håndteres korrekt av SDK-en under autentisering.
  • Deprecation Fixes: Koden er oppdatert for å unngå bruk av deprecated properties som driverUri og zoneName.

Neste steg

  1. Verifisering: Test at innlogging og utlisting av enheter fungerer fra GitHub Pages.
    • NB: Redirect URL må være korrekt registrert på Athom Developer Portal for at innlogging skal virke. URL-en vil være: https://tiwas.github.io/SmartComponentsToolkit/tools/state-editor-api.html.
  2. Opprydding: Vurdere å fjerne fallback-koden for manuell token-uthenting hvis SDK-metoden bekreftes stabil.