Langue

Home Assistant · prix et CO2

Home Assistant n'a pas besoin d'une intégration dédiée ici

Un capteur REST classique suffit pour récupérer le prix, le CO2 et les meilleurs créneaux. Le endpoint summary renvoie déjà les champs les plus utiles au format JSON.

Point important

L'API est déjà exploitable directement dans Home Assistant, des scripts ou d'autres automatisations. Le vrai manque était surtout une documentation lisible, pas une nouvelle intégration technique.

Migration API

Les nouvelles intégrations devraient désormais utiliser https://api.energypriceforecast.eu/api/v1/.... Certaines anciennes URL du projet continuent encore à fonctionner pour des setups existants, mais elles ne devraient plus servir de référence pour de nouvelles intégrations.

Endpoint recommandé

Pour Home Assistant, /api/v1/home-assistant/summary est le point d'entrée le plus simple. Il renvoie non seulement les valeurs brutes, mais aussi des créneaux déjà calculés pour le prix, le CO2 et un compromis entre les deux.

https://api.energypriceforecast.eu/api/v1/home-assistant/summary?country=fr&hours=48&window_hours=4
Prixflat.current_price et flat.cheapest_window_*.
CO2flat.current_co2_g_kwh et flat.greenest_window_*.
Compromisflat.combined_window_* pour le meilleur compromis prix/CO2.

Démarrage rapide en copier-coller

Oui, la page est pensée pour qu’une configuration Home Assistant classique suffise. Le chemin le plus simple est : coller le bloc YAML, ajuster le marché, recharger Home Assistant.

  1. Colle le bloc YAML ci-dessous dans configuration.yaml ou dans un fichier package déjà chargé par Home Assistant.
  2. Modifie uniquement country. Pour le Danemark, utilise toujours dk1 ou dk2.
  3. Recharge ou redémarre Home Assistant.
  4. Vérifie dans les outils de développement que les nouveaux capteurs renvoient des valeurs.
Adapté aux débutantsL’exemple utilise volontairement des champs simples dans flat au lieu de templates plus complexes, pour rester facile à copier-coller.
Ce qu’il faut modifierEn général, uniquement country. Le reste peut rester tel quel.
Ce qui doit apparaître ensuiteAu minimum un capteur de prix actuel et un capteur de créneau le moins cher.

Exemple de capteur REST

Cet exemple interroge la France toutes les 15 minutes. Pour un autre marché, il suffit de modifier la valeur de country.

rest:
  - resource: "https://api.energypriceforecast.eu/api/v1/home-assistant/summary?country=fr&hours=48&window_hours=4"
    scan_interval: 900
    sensor:
      - name: "PrévisionPrixElectricité prix actuel"
        value_template: "{{ value_json.flat.current_price }}"
        unit_of_measurement: "EUR/kWh"

      - name: "PrévisionPrixElectricité CO2 actuel"
        value_template: "{{ value_json.flat.current_co2_g_kwh }}"
        unit_of_measurement: "gCO2/kWh"

      - name: "PrévisionPrixElectricité début fenêtre la moins chère"
        value_template: "{{ value_json.flat.cheapest_window_start }}"

      - name: "PrévisionPrixElectricité début fenêtre la plus verte"
        value_template: "{{ value_json.flat.greenest_window_start }}"

Après ajout, recharge Home Assistant ou redémarre-le, puis vérifie les capteurs dans les outils de développement.

Référence officielle des champs pour home-assistant/summary

L’endpoint summary reste volontairement compact. Pour beaucoup d’automatisations, le bloc flat suffit. Si tu veux plus de contrôle ou un dashboard plus fin, tu peux aussi utiliser les blocs structurés price, co2, combined et source.

Champ Signification Usage typique
flat.current_pricePrix actuel en EUR/kWh. Pour le créneau en cours, l’API prend automatiquement la meilleure source publique disponible.Capteur prix simple pour automatisations.
flat.current_price_sourceLibellé de la source du prix actuel, par exemple day_ahead.Vérifier si la valeur est déjà officielle ou encore prédictive.
flat.current_co2_g_kwhIntensité CO2 actuelle en gCO2/kWh.Déclenchement piloté par le CO2.
flat.cheapest_window_*Début, fin et moyenne du créneau le moins cher.Recharge EV, boiler, pompe à chaleur.
flat.greenest_window_*Début, fin et moyenne du créneau le moins carboné.Planification orientée CO2.
flat.combined_window_*Créneau de compromis entre prix et CO2.Quand les deux comptent sans pondération maison.
price.currentObjet avec start, end, value, unit et source pour le créneau prix courant.Dashboards et logique plus précise.
price.cheapest_window_next_horizonBloc structuré du créneau le moins cher avec durée et répartition des sources.Quand il faut début, fin et contexte ensemble.
co2.currentObjet avec valeur CO2 actuelle et fenêtre temporelle associée.Affichage CO2 sans parser flat.
co2.greenest_window_next_horizonBloc structuré du créneau le plus vert.Charge ou chauffage optimisés CO2.
combined.best_window_next_horizonBloc de recommandation combiné avec prix, CO2 et score.Une seule décision "best now" sans score personnalisé.
source.priceMétadonnées sur la source prix, y compris document Firestore, provider day-ahead et volume d’entrées disponibles.Debug, monitoring et contrôle qualité.
source.co2Métadonnées sur la source CO2.Debug et traçabilité.
Important sur les champs prixL’endpoint summary ne renvoie pas la série brute complète de toutes les variantes de prix. Pour Home Assistant, il renvoie surtout l’état courant et des créneaux déjà calculés. Pour une série horaire complète, hourly-forecast est plus adapté.
Actuel ne veut pas dire prix historique constatéflat.current_price correspond au prix public exploitable pour le créneau en cours. Il peut provenir du day-ahead officiel ou d’une autre source publique déjà libérée si le marché complet n’est pas encore disponible.
Prix total seulement sur certains marchésL’endpoint public retail-forecast est actuellement prévu seulement pour certains marchés. Pour les autres, la summary reste volontairement sur des valeurs de marché ou de base.

Quand summary suffit-il, et quand faut-il hourly-forecast ?

summary suffit pour des automatisations simples

Si tu as seulement besoin du prix actuel, de l’intensité CO2 actuelle ou du meilleur créneau de 4 heures, home-assistant/summary est le bon endpoint. Il garde le YAML court et évite du parsing inutile.

hourly-forecast est préférable pour les graphiques et templates complexes

Si tu veux construire tes propres graphiques, calculer tes propres scores ou séparer clairement day-ahead et forecast modèle, utilise hourly-forecast. Les séries horaires y sont exposées plus explicitement.

Matrice de support de l'API publique

Tous les pays visibles dans l'app ne sont pas encore publiquement activés pour tous les endpoints. Cette matrice montre donc explicitement où chaque endpoint est réellement prévu.

Marché hourly-forecast home-assistant/summary co2-live Prévision de prix final client
retail-forecast
DEouiouiouioui
NLouiouiouioui
BEouiouiouinon
FRouiouiouinon
CZouiouiouinon
ATouiouiouioui
DK1ouiouiouioui
DK2ouiouiouioui
DanemarkUtilise toujours dk1 ou dk2. dk retombe sur DK1.
TchéquieCZ est désormais disponible publiquement pour le prix et le CO2 via le summary et la voie CO2 live. La prévision publique de prix final n’y est pas encore ouverte.
Prix final clientIci, retail-forecast désigne une prévision de prix final pour le consommateur, et non seulement le prix de marché ou de base. Cet endpoint public est actuellement ouvert pour DE, NL, DK1, DK2 et AT.

Points importants

Est-ce une intégration officielle Home Assistant ?

Non. C'est volontairement un usage REST simple. C'est plus stable, plus facile à tester et largement suffisant pour beaucoup d'installations.

Les prix API correspondent-ils exactement à mon prix domestique ?

Pas automatiquement. hourly-forecast et la summary Home Assistant livrent d'abord des prix de marché / de base. Le prix final dépend selon le pays des tarifs réseau, taxes, prélèvements et marges fournisseur.

Que se passe-t-il pour un pays non supporté ?

L'API publique renvoie désormais volontairement une erreur au lieu de tomber silencieusement sur l'Allemagne. C'est volontairement plus strict pour éviter des données erronées dans les automatisations.

Que faire si aucune valeur n’apparaît après avoir collé le YAML ?

Les causes les plus fréquentes sont : YAML placé au mauvais endroit, Home Assistant non rechargé, valeur country non supportée ou erreur d’indentation YAML. Les outils de développement et les logs Home Assistant permettent en général de le voir immédiatement.