Optimisation Énergétique Domestique avec EOS : Réduction de 30 % des Coûts Électriques via la Prévision Dynamique des Prix

Fonctionnement fondamental de l’optimisation tarifaire

Le système ne se contente pas de suivre les prix — il anticipe leurs fluctuations grâce à un pipeline hybride :

  • Acquisition multi-source : agrégation en temps réel des données de bourses européennes (EPEX SPOT), des relevés de production PV (via API Solis ou Fronius), et des charges domestiques (via Home Assistant ou MQTT).
  • Modélisation temporelle : utilisation d’un modèle Prophet personnalisé couplé à un correcteur basé sur les tendances météorologiques (ex. : irradiance prévue via Open-Meteo) pour projeter les prix sur 48 h avec une précision moyenne de ±5,2 %.
  • Optimisation contrainte : algorithme génétique adapté (implémenté dans src/optimizer/scheduler.py) qui calcule, sous contraintes physiques (capacité de batterie, taux de charge maximal, seuils de sécurité), le calendrier optimal de charge/décharge et de démarrage différé des appareils.

Calendrier d’optimisation adaptatif

EOS opère selon un cycle de révision continue divisé en trois fenêtres temporelles indépendantes :

Fenêtre Périodicité de mise à jour Couverture temporelle Usage typique
Fine-grain Toutes les 15 min 0–6 h Ajustement en temps réel des cycles de batterie
Stratégique Toutes les 3 h 6–48 h Planification des appareils programmables (lave-linge, chauffe-eau)
Tactique Quotidienne J+1 à J+7 Ajustement des seuils de déclenchement selon les prévisions saisonnières

Chaque fenêtre peut être paramétrée individuellement dans config/timing.yaml, permettant une adaptation fine aux spécificités locales (ex. : tarifs Tempo en France, variantes allemandes de Strompreis).

Déploiement simplifié

Pour une mise en service rapide, deux approches sont disponibles :

✅ Déploiement Docker (recommandé)

docker run -d \
  --name eos-core \
  -v $(pwd)/config:/app/config \
  -v $(pwd)/data:/app/data \
  -p 8503:8503 -p 8504:8504 \
  ghcr.io/akkudoktor/eos:v2.4.1

L’interface web est accessible à http://localhost:8504. Les fichiers de configuration sont montés en volume pour persistance.

🔧 Installation depuis les sources

git clone https://github.com/akkudoktor/eos.git
cd eos
pip install -e ".[dev]"
python -m akkudoktoreos.cli serve --port 8504

La commande serve lance le serveur FastAPI avec auto-reload activé pendant le développement.

Configuration clé pour une effiaccité maximale

Les paramètres critiques sont regroupés dans config/system.yaml :

  • Provider de prix : choix entre epex_spot, energy-charts ou akku-api (accès premium avec données horaires anticipées).
  • Caractéristiques du stockage :
    • battery_capacity_kwh: 12.5
    • max_charge_rate_kw: 4.2
    • roundtrip_efficiency: 0.89
  • Objectif d’optimisation : cost_minimization, self_consumption_max, ou grid_independence.

Meilleures pratiques validées

  1. Étiquetage des périodes critiques : définir manuellement les plages « rouge » (ex. : 17h–21h) dans config/pricing_rules.yaml pour forcer une priorité absolue au délestage.
  2. Intégration météo proactive : activer weather_forecast_enabled: true pour décaler la charge de la batterie avant une période nuageuse prévue.
  3. Gestion hiérarchique des appareils : chaque dispositif dans devices/ possède un champ priority_level: [1–5], influençant l’ordre de désactivation lors de contraintes réseau.
  4. Validation mensuelle du modèle : exécuter python tests/validate_forecast.py --window 30d pour comparer les prévisions avec les valeurs réelles.
  5. Activation de la réponse à la demande : si votre fournisseur propose un programme de modulation (ex. : EDF « Avantage Démarche »), activer dr_program: "edf_avantage".

Résultats observés en conditions réelles

Une étude menée sur 12 foyers allemands équipés de systèmes PV + stockage (5–8 kWc / 10–15 kWh) a montré :

  • Réduction moyenne des coûts d’achat sur le réseau : 28,7 % (médiane)
  • Augmentation du taux d’autoconsommation : +34 %
  • Diminution des cycles de charge/décharge inutiles : −41 % (prolongeant la durée de vie des batteries)

Un cas représentatif : un ménage à Stuttgart (PV 6,2 kWc, batterie 12 kWh, consommation annuelle 5 200 kWh) est passé d’une facture moyenne de 174 €/mois à 120 €/mois — soit une économie de 31,0 %.

Résolution des problèmes courants

  • Erreur de prédiction persistante → Vérifier la synchronisation horaire du conteneur (timedatectl status) et valider que le fuseau horaire dans config/system.yaml correspond à celui du provdier de prix.
  • Non-application des ordres vers les équipements → Tester la connectivité via python -m akkudoktoreos.adapters.test_connection --adapter homeassistant.
  • Temps de calcul excessif → Réduire genetic_population_size dans config/optimizer.yaml ou passer à la variante scipy.minimize pour des scénarios simples.

Étiquettes: energy-optimization electricity-pricing predictive-modeling home-automation photovoltaic-systems

Publié le 3 septembre à 14h45