Gestion jours sobriété EDF Zen Flex dans HA

Bonjour.
J’ai une offre zen flex EDF. Est-ce qu’il y a un moyen de retrouver les jours « sobriété » dans home-assistant d’une manière similaire aux jours « rouge » tempo ?
Merci pour les idées.
Bonne journée.

Bonjour.
Soit y a une API dédiée (je n’ai pas cherchée), soit tu récupères la donnée directement sur le Linky.
Le Linky dit en temps réel sur quel tarif tu es, et ça s’applique quel que soit le fournisseur / l’offre.
Il te faut de quoi lire ton Linky donc.
Quelle est ta plateforme actuelle (Zigbee, Zwave, Rf ) ? Et quel appareil la fait tourner (Pc, Pi, … ?)

Bj

tu peux peut etre de servir de cette base de @roumano, qui recupere les info direct sur le site edf , sans avoir besoin de quoi que ce soit

Ça me semble une bonne idée mais si je fais:
https://particulier.edf.fr/services/rest/referentiel/searchTempoStore?dateRelevant=2024-01-19

J’obtiens uniquement :
ˋ{« couleurJourJ »:« TEMPO_ROUGE »,« couleurJourJ1 »:« TEMPO_BLANC »}ˋ

Les jours sobriétés ne sont pas remontés de cette manière. J’ignore s’ils sont fournis avec une autre adresse internet. Où est-ce que ces API EDF sont documentées ?

Merci. Pour l’instant, j’ai HA installé sur mon NAS DS220+ et j’ai un rail DIN Eugenie Somfy et une Apple TV qui me sert de pont HomeKit.

Pour ceux que ça intéresserait EDF à un API qui permet de retrouver les jours Flex ici:
https://particulier.edf.fr/services/rest/opm/getOPMStatut?dateRelevant=2024-01-10

Bonjour,
Voici le code afin de récupérer les jours dans home assistant :

  - platform: rest
    resource_template: https://particulier.edf.fr/services/rest/opm/getOPMStatut?dateRelevant={{now().strftime("%Y-%m-%d")}}
    scan_interval: 3600
    name: "Flex Demain"
    value_template: "{{ value_json.couleurJourJ1 }}"
    unique_id: Flex_demain
  - platform: rest
    resource_template: https://particulier.edf.fr/services/rest/opm/getOPMStatut?dateRelevant={{now().strftime("%Y-%m-%d")}}
    scan_interval: 3600
    name: "Flex Aujourd'hui"
    value_template: "{{ value_json.couleurJourJ }}"
    unique_id: Flex_aujourdhui

Bonjour,
Petit nouveau dans Home Assistant, je n’arrive pas à trouver comment intégrer ce code.
Je souhaiterais avoir dans un premier temps pouvoir afficher la couleur du jour et du jour suivant dans un tableau de bord.

Je suis sur un HA Green en dernière version
Par avance merci

Daniel

Bonjour,

Dans le fichier configuration.yml.
Tu peux l’éditer à l’aide de l’add on file editor.

Le code complet à rajouter

sensor:
  - platform: rest
    resource_template: https://particulier.edf.fr/services/rest/opm/getOPMStatut?dateRelevant={{now().strftime("%Y-%m-%d")}}
    scan_interval: 3600
    name: "Flex Demain"
    value_template: "{{ value_json.couleurJourJ1 }}"
    unique_id: Flex_demain
  - platform: rest
    resource_template: https://particulier.edf.fr/services/rest/opm/getOPMStatut?dateRelevant={{now().strftime("%Y-%m-%d")}}
    scan_interval: 3600
    name: "Flex Aujourd'hui"
    value_template: "{{ value_json.couleurJourJ }}"
    unique_id: Flex_aujourdhui

Merci.
C’est super. Prochaine étape créer des compteurs rouge et blanc, heures pleine et heure creuse, puis appliquer les tarifs correspondants.
Daniel

Bonjour, je suis en train de paramétrer HA pour calculer le cout journalier de ma conso électrique, et je me rends compte que l’information remontée pour les jours éco et sobriété n’est pas bon. J’ai pris la date d’hier, il me remonte

{"couleurJourJ":"RAS","couleurJourJ1":"RAS"}

Avez vous connaissance d’un changement d’adresse pour récupérer l’information ? Merci

Bonjour,

De mémoire RAS = jour eco

Les jours sobriété = ZENF_PM.

Regarde sur cet exemple : https://particulier.edf.fr/services/rest/opm/getOPMStatut?dateRelevant=2025-01-17

Le vendredi 17/01 = jour sobriete, samedi 18/01 = jour eco

{"couleurJourJ":"ZENF_PM","couleurJourJ1":"RAS"}

Bonjour à tous,

Depuis quelques jours, l'appel API ne fonctionnait plus...

En effet, l'URL attend
https://particulier.edf.fr/services/rest/opm/getOPMStatut?dateRelevant=2026-8-15
au lieu de
https://particulier.edf.fr/services/rest/opm/getOPMStatut?dateRelevant=2026-08-15

L'absence de 0 devant le mois casse l'appel.

Le nouveau template à utiliser dans configuration.yaml est donc :

https://particulier.edf.fr/services/rest/opm/getOPMStatut?dateRelevant={{ now().year }}-{{ now().month }}-{{ now().day }}

{ now().year }}-{{ now().month }}-{{ now().day }} renvoi bien 2026-8-15

Je suppose que le problème sera identique pour les jours < 10 mais ce template devrait également le corriger.

Bonjour,

Merci beaucoup, je viens de faire la correction !

Pour ma culture, comment avez-vous trouvé que le format de date attendu par l'API avait changé ? Sans votre post j'aurais été bien embêté !

Bonjour,

Je râlais depuis plusieurs jours que l'intégration ne remontait plus rien. J'ai testé l'URL et j'avais une erreur 500, je me suis donc dit que c'était surement KO chez EDF.

J'ai vérifié sur HelloWatt, même problème. Seul prix-electricite remontait la bonne info. Pareil dans l'espace client EDF... étrange.

Depuis l'interface web de l'espace client EDF, sur la page avec l'historique des jours Flex, j'ai ouvert les DevTools du navigateur : F12 → Network → Fetch/XHR et j'ai actualisé la page.

Puis, j'ai fouillé jusqu'à tomber sur la ligne qui ressemblait beaucoup à la requête de HA :
image

J'ai testé en retirant la fin &urlPlaasmaCommerce=https://api-commerce.edf.fr puis j'ai comparé avec la requête faite par HA.... fichu 0 !

Ok excellent, merci pour la démarche, super malin d'avoir pensé que l'historique dans l'espace client tapait aussi sur la même API :star_struck: Ca serait quand même plus pratique avec un swagger mis à dispo !

Bon en revanche j'aurais jamais pu trouver moi-même car je prépare mes automatisations pour passer en Zen Flex, mais comme je suis sur Tempo pour l'instant, je n'ai pas accès à l'historique des jours Flex sur mon espace client :smiley:

Effectivement un swagger serait parfait...

Bonjour à tous,

Je re-déterre ce sujet pour, ce que je pense être, une bonne raison :slight_smile:

En effet, j'ai développée une intégration EDF Zen Flex.

Étant moi-même abonnée à cette offre, je souhaitais pouvoir retrouver directement dans Home Assistant les informations sur les journées Éco, Sobriété et Bonus, mais aussi suivre les jours restants et connaître le tarif du kWh applicable à chaque instant.

L'idée était donc de regrouper toutes ces informations dans Home Assistant, sans avoir à consulter régulièrement le site EDF... et un peu plus joliement qu'avec un curl dans config.yaml :slight_smile:

:high_voltage: L'intégration

L'intégration récupère les informations publiées par EDF, sans nécessiter de compte ni d'identifiants EDF.

Elle permet notamment de :

  • Connaître le type de journée aujourd'hui et demain (Éco, Sobriété ou Bonus), lorsque l'information est disponible.
  • Suivre les journées Éco, Sobriété et Bonus sur l'année.
  • Connaître le nombre de jours Sobriété consommés et restants.
  • Conserver un historique local des journées, même après un redémarrage.
  • Configurer les tarifs de son contrat pour les heures pleines et les heures creuses.
  • Connaître le prix actuel du kWh, en fonction du type de journée et de la période tarifaire.
  • Être averti lorsqu'une modification de la grille tarifaire publique EDF est détectée.
  • Actualiser manuellement les informations si nécessaire.

J'ai également prévu la possibilité de renseigner les compteurs des journées précédant l'installation, afin de ne pas repartir de zéro lorsqu'on installe l'intégration en cours d'année.

Les tarifs restent personnalisables et ne sont jamais modifiés automatiquement : chacun peut donc conserver les prix correspondant réellement à son contrat.

:puzzle_piece: La carte Lovelace

J'ai également développé une carte Lovelace dédiée pour afficher toutes ces informations plus facilement.

Elle propose notamment :

  • Un calendrier mensuel des journées Éco, Sobriété et Bonus.
  • Les informations concernant aujourd'hui et demain.
  • Les compteurs annuels et les jours restants.
  • Le prix actuel du kWh et les tarifs HP/HC.
  • Deux modes d'affichage : complet et compact.
  • Un éditeur visuel pour personnaliser son affichage.

La carte s'adapte également aux thèmes clair et sombre de Home Assistant.

:package: Installation

Les deux projets sont disponibles sur GitHub et peuvent être installés comme dépôts personnalisés dans HACS.

Intégration EDF Zen Flex :

Carte Lovelace EDF Zen Flex :

Les instructions d'installation et de configuration sont disponibles dans les README des deux dépôts.

:speech_balloon: Vos retours m'intéressent

Pour le moment, j'utilise cette intégration avec mon propre contrat EDF Zen Flex, mais je serais ravie d'avoir des retours d'autres abonnés.

Bugs, différences de tarifs, problèmes de récupération des journées, idées d'amélioration… tous vos retours sont les bienvenus ici ou directement dans les issues GitHub. :slightly_smiling_face:

Il s'agit d'un projet communautaire non officiel, indépendant d'EDF.

Bonjour Aurore,

un grand merci pour cette contribution, cela va permettre des intégration très propres ! Je cherche également à automatiser des scènes en fonction des HC/HP et jours du forfait Zen Flex.

Pourrais-tu ajouter sur ton readme des exemples de YAML d'automation qu'il faut mettre en place pour utiliser ton extension.
Par exemple comment détecter un basculement HP en jour sobriété ?

Je suis un peu perdu car le "Device" EDF Zen Flex" ne propose pas de "Triggers", uniquement des "conditions" .

J'ai tenté ce type de condition :

alias: PAC – Éco en heures pleines sobriété
description: 'Mettre la PAC en mode vacances pendants les heures pleines sobriété'
triggers:

trigger: time
at: '08:00:00'

trigger: time
at: '18:00:00'
conditions:

condition: state
entity_id: sensor.edf_zen_flex_aujourdhui
state:
sobriete

actions:

action: switch.turn_on
metadata: {}
target:
entity_id: switch.unknown_product_1362_away_mode
data: {}
mode: single

Mais il me mets l'erreur :
"Condition did not pass"

Autre question : il me semble comprendre que les jours bonus peuvent soit être de jours où on nous invite à économiser (réduire la conso) soit des jours on nous invite à emmagasiner (augmenter la conso). Comment peut-on distinguer ces jours dans ton add-on ?

Bonjour @Luczia,

Merci pour ton retour et tes questions :slight_smile: Ravie que l'intégration soit utile. :slight_smile:

Pourrais-tu ajouter sur ton readme des exemples de YAML d'automation qu'il faut mettre en place pour utiliser ton extension.
Par exemple comment détecter un basculement HP en jour sobriété ?

C'est fait !

Je suis un peu perdu car le "Device" EDF Zen Flex" ne propose pas de "Triggers", uniquement des "conditions" .

N'importe quel capteur peut devenir un tigger ('déclencheur' en français). Les 'conditions' permettent quant à elles de vérifier des états des capteurs et de faire telles ou telles actions en fonction.

L'automatisation tu as faite est précisément ce qu'il faut faire : lorsqu'il est 8h ou 18h et que c'est un jour sobriété, alors les PAC passent en 'mode vacance'.

Pour revenir à la normale, il faut que tu fasses une autre automatisation, inverse, à la fin des heures pleines (à 13h et 20h).

Par contre, je ne mettrai pas 8h et 18h mais plutôt 7h55 et 17h55 pour éviter tout débordement.

Mais il me mets l'erreur :
"Condition did not pass"

Cette erreur est tout à fait normale : la condition ne peut pas être vraie car actuellement nous ne sommes pas en jour sobriété.

Autre question : il me semble comprendre que les jours bonus peuvent soit être de jours où on nous invite à économiser (réduire la conso) soit des jours on nous invite à emmagasiner (augmenter la conso). Comment peut-on distinguer ces jours dans ton add-on ?

Seule l'information du type de jours ie. Éco, Sobriété ou Bonus est communiquée par EDF. Le détail de ce qui est attendu le jour Bonus ne l'est pas.
Je suis abonnée novembre 2025. Il n'y a eu aucun jour 'Bonus' depuis. Je n'ai donc pas pu tenter de trouver une astuce pour cela. Je serai vigilante si ce cas se produit afin de voir si l'information de ce qui est attendu remonte quelque part ou pas.
J'ai ajouté cette limitation dans la section éponyme du Readme.