Enedis Gateway

j’ai fait le test avec une http request, mais il me donne en retour cette erreur :
401 {« error »:« token_refresh_401 »,« description »:« Une erreur est survenue, merci de renouveller vos consentements. »
test fait avec le curl proposé

j’ai retenté avec un nouveau token et cela fonctionne merci

1 « J'aime »

Je vais poster « ma » version de récupération des valeurs quand j’aurai peaufiné ça.
J’ai l’impression qu’il y a aussi un décalage dans la récupération des dates.
Exemple, aujourd’hui, 11/11 à partir de 5:00 ou 6:00 je peux avoir les stats enedis du 10/11. Dans la fonction la end_date c’est bien 10/11 mais, ça ne récupère via l’API que jusqu’au 9/11. En tout cas, c’est ce que je vois en mettant un debug sur la sortie.
De ce que j’ai compris, dans l’appel de l’API, pour récupérer la jour J-1 il faut que la date « end » telle que présentée dans la doc soit J. Là, c’est J-1 et donc la réponse ne va que jusqu’à J-2.
J’ai donc corrigé les fonctions de calcul des dates et ça va mieux.

pour information, j’ai commencé un premier petit sensor pour recuperer la valeur de la veille voici un premier jet
image

2 « J'aime »

Super @saniho.

Attention il va y avoir beaucoup d’attente sur ton travaille. Je t’invite à regarder l’opportunité d’utiliser un template pour un custom_component si c’est le choix que tu as fais.

Ca tombe bien je travaille sur un template et il vient d’atteindre mon premier niveau de maturité attendu ;-):

1 « J'aime »

5 messages ont été fusionnés à un sujet existant : Sensor pour Enedis - apiEnedis

Super, merci pour ton taf également :wink:
Je pense que pas mal de monde attend cette intégration avec impatience :stuck_out_tongue:

Bonsoir à tous, merci pour le travail. Par contre, je n’y arrive pas. je tourne dans tous les sens mais je comprend le process. j’ai déjà effectué un consentement avec mon fournisseur. Faut-il que je la révoque? Y aurait-il pas un tuto?

Merci encore pour votre aide ou non. lol!

Hello @mamdiall

Non il y a pas vraiment de tuto pour l’instant :stuck_out_tongue:

Passe sur Discord si tu veut qu’on t’aide sur l’intégration :wink:
=> Domotique & DIY

Bonjour,
Je viens d’intégrer votre flow node-red et il fonctionne, à de petits détails prés :

  • lorsque comme moi on a un contrat sans heures creuses, il faut inhiber la fonction « calcul HC/HP » en forçant la valeur offpeak_hours qui n’est pas transmise ;
  • la fonction fields comporte des erreurs signalées (mais pas montrées…) par le parseur js, j’en ai trouvé deux ou trois (des « ; » manquants), mais pas toutes. J’ai là aussi inhibé la recherche des HC/HP et ça passe.
    Je n’ai pas très bien saisi la gestion des token : est-ce votre API qui se charge de les renouveler ? Et enfin, qu’en est-il de la pérennité de cette solution, devons nous dépendre de la longévité de votre société ?
    En tous cas merci et bravo pour cette réalisation. J’avais chargé deux versions d’un node sensé faire le job, et aucun ne fonctionne, sans doute en raison du changement de protocole que vous évoquez et ces nodes n’ont pas été signalés comme obsolètes.

Alors je suis un quiche en Node Red. J’ai installe sur mon Mac InfluxDB et Node Red à l’aide de Docker.
J’ai ajouté le flow Enedis.
J’ai configuré Credential, influxDB et MQTT. Lorsque je déploie j’ai des messages d’erreur de type: « non-http transport requested »
Et à priori ma base influxDB est vide.

A l’aide.

Bon je progresse l’erreur « non-http transport requested » était due à un mauvais copier/coller. J’avais un espace dans l’URL de la gateway.
Maintenant j’ai plusieurs autres erreurs:

TypeError: Cannot read property 'usage_points' of undefined
Puissance souscrite : 9 kVATarif de distribution : BTINFCUSTHeures Creuses : undefinedDernier changement de tarif : 2017-09-13+02:00
TypeError: Cannot read property 'match' of undefined

Je cherche de mon coté mais si quelqu’un à une idée pour que je puisse prendre un raccourci je suis à l’écoute.

Il faut déjà tester la récupération des valeurs en lançant le flow avec (par exemple) « 2 jours ». Mettre aussi un debug comme ça:

Si dans le panneau de droite ou s’affiche le debug, il y a des données « correctes » qui apparaissent ça veut dire que les données sont récupérées! Est-ce le cas?

Le CURL fonctionne. Et le flow « à l’air de récupérer des infos » au niveau du contrat.
J’ai l’impression que c’est du au fait que je n’ai pas un contrat HP/HC.

Je ne comprend pas le message de @Gixy31 qui a l’air d’avoir trouvé un contournement.

Hello,
La réponse est dans mon message juste au-dessus. Comme moi tu n’as pas un contrat heures creuses alors le champ est ‹ undefined › dans la fonction ‹ calcul HC/HP › et donc elle ne transmet pas le flow. Dans la fonction il faut enlever le commentaire qui donne une valeur arbitraire à ce champ et ainsi le flow peut se poursuivre. Il y a la même erreur dans une fonction à droite qui transmet les infos en MQTT mais ça ne gêne pas.

Moi non plus. Je suis en « normal ». Comme je suis chauffé au gaz, HP/HC ça ne sert pas à grand chose pour moi…

Mais, est-ce que « 2 jours » récupère des données?

Quand je dis ‹ enlever le commentaire ›, je veux dire dé-commenter la ligne qui attribue une valeur au champ

Ah… Moi, même sans HP/HC je récupère des valeurs via l’API. Les « magies » d’Enedis :slight_smile:

OK j’ai enlevé le commentaire. Ca à l’aire de résoudre cette erreur.

Maintenant je suis gavé d’erreur Error: connect ECONNREFUSED 127.0.0.1:8086
Ca semble liée à la communication avec InfluxDB.

D’ailleurs pourquoi dans le flow il semble y avoir deux bases influxDB ? MON SERVEUR INFLUX DB et HASS

IL n’y a qu’une base.Si elle est dans un container de Docker avec Node-red, il faut mettre ‹ influxdb:8086/nom_de_la_base › dans l’url, et pas une adresse IP.