Sensor pour Enedis - apiEnedis

@Nardol , en effet les heures creuses fournie par Enedis ne sont pas necessairement celle de ton fournisseur. Tu peux forcer leur valeur en declarant ton sensor my enedis, exemple

- platform: myEnedis
  token: xxxx
  code: yyy
  heures_creuses: "[['00:00', '07:00'], ['22:00', '24:00']]"
  hc_cout: 0.0797
  hp_cout: 0.1175
1 « J'aime »

@saniho nickel, parce qu’actuellement 90% des demandes sont en échec à cause des consentements :confused:

Bonjour,

Depuis 4 jours l’intégration ne remontait plus les données. (tout fonctionnait bien auparavant)
J’avais l’erreur: (‹ call ›, ‹ error ›, ‹ result_404 ›)

J’ai donc mis à jour l’intégration avec la version V1.1.3.1.
Apparemment cette mise à jour crée des nouvelles entités:

  • sensor.myenedis_PDLNum_2
  • sensor.myenedis_PDLNum_production
  • sensor.myenedis_history_PDLNum_all
  • sensor.myenedis_history_PDLNum_hc
  • sensor.myenedis_history_PDLNum_hp

J’ai aussi mis à jour la carte ‹ Content Card Linky › pour qu’elle utilise la nouvelle entité sensor.myenedis_PDLNum_2 mais j’ai toujours le message d’erreur:
(‹ call ›, ‹ error ›, ‹ result_404 ›)

La commande curl remonte bien les données.

J’ai bien redémarré HA.
Est-ce que quelqu’un aurait une idée de ce qui a changé par rapport à la semaine dernière et de ce qu’il faudrait modifier pour que ça fonctionne?

Merci.

1 « J'aime »

Bonjour à tous, et merci aux développeurs pour cette intégration bien utile ! Je viens solliciter un petit coup de pouce quant à la remontée des données depuis Enedis HP / HC. J’ai procédé à l’intégration qui s’est bien déroulée : récupération du token / PDL, installation de l’api myenedis en dernière version, ainsi que déclaration des heures creuses dans mon fichier de configuration.yaml :

Enedis

  • platform: myEnedis
    token: hC******************************
    code: 0******************
    heures_creuses: « [[‹ 01:00 ›, ‹ 07:30 ›], [‹ 21:00 ›, ‹ 23:00 ›]] »
    hc_cout: 0.1344
    hp_cout: 0.1798

Cependant sur mon graphique avec la carte apexcharts, les remontées HP HC ne sont pas du tout cohérentes, j’ai dû merdoyer quelque part, car les périodes HC HP ne correspondent pas du tout.

Lorsque je clique sur le bouton %HP, voici ce qui ressort :

image

Si vous avez une idée de mon erreur, je vous en remercie par avance.

Thomas.

Bonjour,
J’ai peut-être trouvé la cause du problème.
Chez Enedis les données pour le 22 février et le 23 février ne sont pas disponibles.
EnedisData

Par conséquent lorsque je soumets la requête curl suivante j’obtiens l’erreur « result 404 »
curl -X POST https://enedisgateway.tech/api -H ‹ Authorization: TokenNum › -H ‹ Content-Type: application/json › -d ‹ {« type »: « consumption_load_curve »,« usage_point_id »: « PDLNum »,« start »: « 2021-02-22 »,« end »: « 2021-02-23 »} ›
{« error »:« result_404 »,« enedis_return »:{« error »:« no_data_found »,« error_description »:« no measure found for this usage point »,« error_uri »:« https://bluecoder.enedis.fr/api-doc/consulter-souscrire »}}

La commande curl avec ,« start »: « 2021-02-21 »,« end »: « 2021-02-23 » fonctionne.

Peut-être qu’il serait possible de modifier l’intégration pour ne pas prendre en compte les jours où les données ne sont pas disponibles?

Merci

@Thomas_Fernandes
Peut-être qu’il faudrait plutôt déclarer les heures creuses comme ceci:
heures_creuses: « [[‹ 21:00 ›, ‹ 23:00 ›], [‹ 01:00 ›, ‹ 07:30 ›]] »

Pas bête du tout, merci pour ta réponse, je viens de tester, mais après redémarrage, même résultats.

@Thomas_Fernandes , poura l acard apex, la « bonne configuration est celle-ci » :

              - type: 'custom:apexcharts-card'
                graph_span: 30h
                header:
                  show: false
                span:
                  offset: '-2d'
                stacked: true
                series:
                  - entity: sensor.myenedis_history_xxx_hc
                    type: column
                    name: kWh(HC)
                    offset: +2d
                    group_by:
                      func: avg
                      duration: 60min
                  - entity: sensor.myenedis_history_xxx_hp
                    type: column
                    name: kWh(HP)
                    offset: +2d
                    group_by:
                      func: avg
                      duration: 60min

car je remonte les données avec 48h de decalage, car parfois enedis ne donne pas tout en temps et en heures…et cela devrait te donner ce type de résultat :

image

1 « J'aime »

Bonsoir saniho, merci pour ta réponse. J’ai repris à la ligne près ta config pour l’acard apex charts, mais l’incohérence est toujours là. J’ai l’impression que les données transmises par Enedis ces derniers jours sont à la ramasse :x . Je vais patienter quelques jours et voir ce qu’il en est. Merci encore.

@saniho
En fait à chaque redémarrage de HA on perd les données. Tu ne pourrais pas les stoker localement, ce qui les rendrait disponibles jusqu’à la prochaine récupération…

Autre chose, dans l’intégration il y a une case à cocher pour les heures creuses, mais pas d’étiquette. On coche si on a ou si on a pas ? Et dans le cas ou on a pas il faudrait griser le tarif HC… Cosmétique mais plus joli :wink:

1 « J'aime »

Aujourd’hui Enedis a fourni les données pour les jours manquants et l’intégration fonctionne correctement.
Par conséquent s’il manque 1 jour de donnée chez Enedis l’intégration ne fonctionnera pas correctement et le message d’erreur (‹ call ›, ‹ error ›, ‹ result_404 ›) s’affichera.

@saniho
Lors d’une prochaine modification, est-ce qu’il serait possible que l’intégration n’affiche rien pour le ou les jours manquants et affiche la consommation pour les autres jours?

Merci pour tout ce qui est déjà fait!

Bonjour,
Je viens de faire la dernière MAJ du sensor, après redémarrage plus rien ne s’affiche.
De plus, je vois que le sensor s’est dupliqué:

  • sensor.myenedis_123456789
  • sensor.myenedis_123456789_2
  • sensor.myenedis_123456789_production
  • etc.
    Est-ce normal ?

Seul le 1er affiche un état « unavailable »

Merci

Il faut modifier la configuration de la carte pour utiliser la nouvelle entité sensor.myenedis_123456789_2.

1 « J'aime »

merci, ça fonctionne :wink:

Bonjour @saniho,

J’ai installé la carte apexcharts-card pour avoir le graphe de l’historique de la consommation par heure.
La forme du graphe obtenu ressemble bien a la forme du graphe d’Enedis mais il semblerait que les valeurs ne sont pas correctes.
Voici un exemple.
Les données d’Enedis pour la période du 24 février à minuit sont les suivantes:

DonnéesEnedis

Les données sur le graphe sont les suivantes:

GrapheIntégration

Sur le graphe il est indique qu’entre 00h30 et 01h30 j’aurai consommé plus de 20 kwh.
Sur les données d’Enedis ce serait plutôt autour de 8 kwh.

Y-aurait-il un coefficient qui est utilisé lors de l’affichage?
Est-ce que tu aurais une idée de ce qui causerait cette différence de valeur?

Merci.

Bonsoir
J’ai également le même retour sur mes graphes

Bonjour à tous, j’ai aussi +/- le même problème avec les graphiques à l’heure. J’avoue ne pas comprendre à 100% le principe de homeassistant et/ou ce que font les les développeurs des intégrations et des cartes. Ce que j’en ai déduit, c’est que normalement enedis, un jour ou l’autre, envoie la consommation et un timestamp (=un couple de données). Le problème (mais en même temps chance) c’est que à la louche, c’est dans l’ordre avec un décalage moyen de 2 jours quand on demande la dernière valeur. Genre, il est 14:00 le 26/02 sur mon ordi, je reçois la consommation de 14:00 du 24/02. Hors, entre le fait que l’installation de HA peut se couper chez nous, coté client, une intégration capricieuse peut ne plus donner de données pendant un certain temps, et que rien n’empêche enedis interrogé à 14:00 le 26/02 de renvoyer le couple (8kWh, 24/02 13:13) ben on se trouve avec des trucs faux car autant on va bien stocker 8kWh mais au timestamp 14:01 (son heure d’arrivée chez le client)

Bref, même à mon niveau de connaissance, au niveau du sensor.myenedis_XXXXX j’ai voulu par un template extraire yesterday_HC pour conserver un historique plus long que la card linky de 8 jours, mais j’ai les mêmes problèmes: je ne sais pas comment stocker et réutiliser par exemple dans custom:apexcharts-card des couples (timestamps, valeurs).
Vu de très très loin, ça marche, mais par « chance » et c’est pas robuste, mettre au "hasard " des offsets dans custom:apexcharts-card je trouve ça limite…
D’autres glitchs arrivent aussi, genre, une journée il y a du avoir un bug technique, la consommation reporté est de 0kW sur une journée, autant je sais transformer un NULL en 0 ou autre valeur, mais je ne sais pas transformer un 0 en NULL, je jour ou je ferait une agrégation sur 1 semaine, la donnée à 0 va me pourrir la moyenne, j’aurai préféré avoir null. Tout ça pour dire pour en revenir au problème initial de la consommation à l’heure, custom:apexcharts-card ne fait pas tout et ne résoudra jamais le problème des « décalages »/« données manquantes »

J’ai d’autres intégrations et sensors et c’est encore plus le foutoir, et maintenant que je prend de la bouteille en Python, je comprends même presque d’où vient la coquille dans le code l’intégration. Malheureusement pas encore assez geek pour le faire moi même et appartement suffisamment pas assez intelligent pour essayer de faire ça à haut niveau avec platform:template et custom:apexcharts-card :frowning:
Si quelqu’un pouvait pointer une solution pérenne et propre pour ce type de problème, il fera au moins minimum 1 heureux :slight_smile:


Au fait, voilà où j’en suis pour l’intégration enedis

2 « J'aime »

Hello @Edmon , malheureusement pas de solution magique, j’ai échangé avec le « grand gourou »( Franck Nijhof ) de homeassistant, mais en fait HA est orienté évènement, et donc impossible de saisir des éléments qui sont dans le passés … D’ou le pourquoi, j’intègre les data horaires avec un offset de 48h, considérants que Enedis au bout de 48h à de grande chance de nous donner les informations( plus que au bout de 24h )
Sinon, l’autre solution est d’utiliser la solution nodered de @M4dm4rtig4n , et ensuitedes grph grafana…

Si vous ne voulais pas utilisez NodeRED pour l’import/export, il est possible d’exporter les metrics récupérer par l’intégration de @saniho vers un influxdb et ensuite les exploiter via un Grafana par exemple.

Comme l’a dit @saniho , HA gère de l’événementielle et n’est pas voué à stocker de la donnée de façon persistant.