Configuration¶
Configuration des couches Solar AI Optimizer à partir de plusieurs sources. Le panneau Paramètres dans le tableau de bord est la principale interface pour les opérateurs.
Sources de configuration¶
| Source | Objectif |
|---|---|
| Paramètres de l'interface utilisateur | Configuration principale : connexion HA, fuseau horaire du site, carte des entités, batterie, réserve, prévisions, contrôle |
config/config.yaml(dans l'image) |
Valeurs par défaut de base ; Remplacements de l'interface utilisateur stockés dans le volume de données |
config.runtime.yaml(volume de données) |
Modifications persistantes de l'interface utilisateur (fusion profonde sur la base) |
.env/ Composerenvironment |
Secrets, indicateurs de fonctionnalités, jeton API facultatif |
Module complémentaire HAoptions.json |
Mappé aux variables d'environnement parrun.shlors de l'exécution en tant que module complémentaire |
Sections clés (toutes modifiables dans Paramètres) :
- Connexion Home Assistant
- Site — Fuseau horaire IANA ou Auto (depuis Open-Meteo à la latitude/longitude du site) ; coordonnées du site ; détermine les limites des jours de prévision, les périodes d'apprentissage de charge/température et les horodatages du tableau de bord
- Carte des entités de l'onduleur (lecture des capteurs + écriture des commandes)
- Spécifications de la batterie et politique de réserve
- Fournisseur de prévisions, panneaux photovoltaïques, modèle de température
- Contrôle du timing et du mode moteur (
rulesoumpc) - Le sous-système active —
engine.enabled(réserve/MPC/prévision),grid_charge.enabled(écritures de charge du réseau de l'onduleur),load_shedding.enabled(changements de niveaux) ; chacun peut être basculé indépendamment dans Paramètres ou dans l'onglet Délestage - Battement cardiaque sécurisé
Le Délestage se configure dans l'onglet dédié Délestage (et non dans Paramètres). VoirGuide utilisateur du tableau de bord → Niveaux de délestage.
VoirConfiguration de l'assistant à domicilepour le mappage de connexion et d'entité, etGuide d'utilisation du tableau de bord → Paramètrespour une présentation pas à pas de l'interface utilisateur.
Variables d'environnement facultatives¶
Documenté dans .env.example.
Remplacements courants :
| Variables | Objectif |
|---|---|
HA_BASE_URL / HA_TOKEN |
Connexion Home Assistant (ou définie dans l'interface utilisateur) |
SHADOW_MODE |
true= observer uniquement (par défaut) |
LOCAL_ADMIN_PASSWORD_HASH / SESSION_SECRET |
Connexion administrateur local pour un accès autonome |
TRUST_INGRESS_HEADERS |
Faites confiance aux en-têtes d'utilisateur d'entrée HA et autorisez l'iframe de la barre latérale (SAMEORIGIN; automatique sur le module complémentaire) |
API_TOKEN |
Jeton porteur pour les scripts ; protège l'API lorsqu'elle est définie |
CORS_ORIGINS |
Origines CORS séparées par des virgules (par défaut*) |
ML_LOAD_ENABLED |
Prévisions de charge augmentant le gradient (nécessite Sklearn dans l'image) |
LLM_ENABLED / OLLAMA_* |
Assistant local LLM (Phase 4) |
DEMO_MODE |
Documents uniquement — télémétrie synthétique ; jamais en production |
QuandAPI_TOKENest défini, saisissez la même valeur dans Paramètres → Sécurité API.
Solcast (fournisseur solaire en option)¶
Dans Paramètres, définissez prévision → fournisseur sursolcast. Les informations d'identification ne sont pas stockées dans
la configuration de l'interface utilisateur - définissez les variables d'environnement (ou les options du module complémentaire HA) :
| Variables | Objectif |
|---|---|
SOLCAST_API_KEY |
Jeton au porteur de votre compte Solcast |
SOLCAST_RESOURCE_ID |
ID du site sur le toit à partir du tableau de bord Solcast |
Les deux doivent être définis lorsque le fournisseur estsolcast; sinon l'application revient à Open-Meteo
et affiche un avertissement de mauvaise configuration.
Enregistrement¶
| Variables | Valeurs | Par défaut |
|---|---|---|
LOG_LEVEL |
DEBUG, INFO, AVERTISSEMENT, ERREUR | INFOS |
LOG_FORMAT |
text, json |
texte |
EnsembleLOG_FORMAT=jsonpour les agrégateurs de journaux de production (un objet JSON par ligne).
Modes moteur¶
| Mode | Descriptif |
|---|---|
rules |
Moteur de règles par défaut — réserve dynamique, utilisation réactive de la grille |
mpc |
Expédition de batterie LP en option (nécessite PuLP dans l'image) |
Définissez Moteur → mode dans Paramètres. MPC revient aux règles si PuLP n'est pas disponible.
Ordre de priorité d'optimisation¶
Dans Paramètres → Moteur, réorganisezpriority_order(par défaut : résilience, économies,
autosuffisance). La liste doit inclure chaque valeur exactement une fois. Exemple dans
config.runtime.yaml:
engine:
mode: rules
priority_order:
- resilience
- savings
- self_sufficiency
Les priorités de rang supérieur influencent les tampons de réserve, la notation du risque de panne d'électricité et le MPC. poids objectifs et force du facteur de rampe de charge du réseau. Économies signifie utilisation opportuniste du réseau lorsqu’il est présent – pas d’optimisation du temps d’utilisation ou des tarifs.
Délestage¶
Configurez les niveaux dans l'onglet Délestage du tableau de bord. Chaque niveau peut contrôler
plusieurs interrupteurs d'alimentation (switch.*ouinput_boolean.*) qui jette et restaure
ensemble en utilisant l'hystérésis SOC. Les hangars prioritaires inférieurs sont les premiers.
Entités compagnons sur le même appareil Home Assistant (climatisation, sélection, ventilateur, etc.) sont découverts automatiquement et pris en photo lors de la perte ; ils sont restaurés lorsque le niveau revient. Les appareils qui étaient éteints avant la perte ne sont jamais éteints allumé par restauration.
| Champ | Objectif |
|---|---|
restore_enabled |
Restaurer sur SOC lorsquesoc >= restore_above_soc |
restore_on_grid |
Restaurer lorsque la grille est présente (si l'indicateur global est activé) |
state_entities |
Carte facultative de l'entité de puissance → ID d'entité compagnon |
Omettre une clé dansstate_entitiespour découvrir automatiquement les compagnons ; ensemble[]pour
perte par interrupteur uniquement. Les instantanés persistent sous le volume de données et sont élagués
lorsque la configuration des niveaux change.
API (administrateur) :GET /api/shed/device-companions?entity_id=…prévisualise la découverte ;
GET /api/shed/snapshotsrépertorie l’état stocké avant la perte.
VoirConfiguration de Home Assistant → Délestage pour des exemples d’entités.
Extras de construction Docker¶
L'image par défaut installe les extras de la phase 3/4 (PuLP, scikit-learn, numpy) viaINSTALL_EXTRAS=1.
Pour une image épurée :
docker compose build --build-arg INSTALL_EXTRAS=0
Sauvegarde des données¶
Lesolar-dataVolume Docker (ou module complémentaire/data) contient :
solar.db— télémétrie et historique d'auditconfig.runtime.yaml- Remplacements de la configuration de l'interface utilisateurmodel.json— Biais de prévision appris / profil de charge
Sauvegardez ce volume avant les mises à niveau. VoirDéploiement Proxmox → Sauvegarde pour un exemple de commande tar.
Mise à niveau¶
docker compose up -d --build
La mutation des points de terminaison de l'API nécessiteAuthorization: Bearer <token>quandAPI_TOKENest réglé.