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.
- pas d'add-on ni de composant HACS nécessaire
- un seul endpoint pour prix, CO2 et créneaux utiles
- distinction claire entre prix de base, CO2 et support du prix total
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.
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=4flat.current_price et flat.cheapest_window_*.flat.current_co2_g_kwh et flat.greenest_window_*.flat.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.
- Colle le bloc YAML ci-dessous dans
configuration.yamlou dans un fichier package déjà chargé par Home Assistant. - Modifie uniquement
country. Pour le Danemark, utilise toujoursdk1oudk2. - Recharge ou redémarre Home Assistant.
- Vérifie dans les outils de développement que les nouveaux capteurs renvoient des valeurs.
flat au lieu de templates plus complexes, pour rester facile à copier-coller.country. Le reste peut rester tel quel.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_price | Prix 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_source | Libellé 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_kwh | Intensité 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.current | Objet avec start, end, value, unit et source pour le créneau prix courant. | Dashboards et logique plus précise. |
price.cheapest_window_next_horizon | Bloc 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.current | Objet avec valeur CO2 actuelle et fenêtre temporelle associée. | Affichage CO2 sans parser flat. |
co2.greenest_window_next_horizon | Bloc structuré du créneau le plus vert. | Charge ou chauffage optimisés CO2. |
combined.best_window_next_horizon | Bloc de recommandation combiné avec prix, CO2 et score. | Une seule décision "best now" sans score personnalisé. |
source.price | Mé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.co2 | Métadonnées sur la source CO2. | Debug et traçabilité. |
hourly-forecast est plus adapté.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.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 clientretail-forecast |
|---|---|---|---|---|
| DE | oui | oui | oui | oui |
| NL | oui | oui | oui | oui |
| BE | oui | oui | oui | non |
| FR | oui | oui | oui | non |
| CZ | oui | oui | oui | non |
| AT | oui | oui | oui | oui |
| DK1 | oui | oui | oui | oui |
| DK2 | oui | oui | oui | oui |
dk1 ou dk2. dk retombe sur DK1.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.