🔌 Provider Accounts
Les Provider Accounts sont les comptes d'accès aux APIs des portails constructeurs (FusionSolar, SolarEdge, Sungrow, SMA). Un client peut déclarer plusieurs comptes par fabricant pour suivre des parcs hétérogènes.
Quatre providers natifs supportés
| Provider | Type d'auth | Caractéristiques |
|---|---|---|
| Huawei FusionSolar | API Northbound + OAuth 2.0 | Cookies de session + clé API ; quota 1000 calls/24h |
| SolarEdge | API Key Monitoring | Une clé par compte ; quota 300 req/jour, fenêtres 28 jours max |
| Sungrow | OAuth 2.0 iSolarCloud v2 | Refresh token + appsecret ; quota 150 calls/h observé |
| SMA | API Monitoring + Sunny Portal fallback | SunnyPortal classic supporté si le compte n'est pas migré |
Multi-comptes par provider
Un même client peut déclarer plusieurs Provider Accounts pour un même fabricant — utile quand :
- Un installateur gère plusieurs comptes FusionSolar pour des sous-portefeuilles distincts
- Un asset manager a hérité de plusieurs comptes SolarEdge par acquisition de portefeuilles
- Un parc est éclaté sur plusieurs zones serveur Huawei (EU, AP, US)
Chaque compte est isolé techniquement : les jobs de synchronisation reçoivent le ProviderAccount spécifique et n'utilisent jamais les credentials d'un autre compte.
Statut de connexion
- Connecté (vert) — Le dernier appel API a réussi
- Déconnecté (rouge) — Échec d'authentification (token expiré, identifiants invalides, quota épuisé)
- Non testé (gris) — Le compte vient d'être ajouté mais pas encore validé
Ajouter un nouveau Provider Account
- Bouton + Ajouter en haut à droite de la section Comptes API
- Choisissez le fabricant
- Renseignez les credentials (variable selon le provider)
- Pour FusionSolar / Sungrow : un enchaînement OAuth s'ouvre dans un nouvel onglet
- Bouton Tester l'API disponible après enregistrement pour valider la connexion
Badge serveur Huawei
Sécurité des credentials
- Tous les tokens OAuth, clés API et secrets sont chiffrés en base de données
- Les refresh OAuth sont protégés par un lock distribué Redis pour éviter les race conditions multi-jobs
- Les credentials sont scopés au client courant — pas d'accès croisé entre clients (isolation par client)
Stations rattachées
Chaque Provider Account a la liste des stations qu'il fait remonter. Chaque station est rattachée à un seul ProviderAccount — si une même station physique est accessible via plusieurs comptes, seul le premier compte synchronisé est gardé pour éviter les doublons.