guillaumezin / DomoticzLinky

Linky plugin for Domoticz
GNU Affero General Public License v3.0
145 stars 26 forks source link

500 Internal Server Error #219

Closed jcsombret closed 10 months ago

jcsombret commented 1 year ago

Bonjour,

Depuis plusieurs jours la télécollecte de mes consommations ne marche plus.

Il m'est demandé dans les log de refaire une demande de consentement, ce que je fais depuis plusieurs jours et je tombe toujours sur le message "500 Internel Server Error"

J'ai fait une mise à jour du plugin mais rien y change.

Quelqu'un aurait-il une idée pour venir à mon secours ?

Avec tous mes remerciements

Ma version domoticz :

Version: 2022.2 Build Hash: eea9db734 Compile Date: 2022-11-05 13:05:35 dzVents Version: 3.1.8 Python Version: 3.7.3 (default, Oct 31 2022, 14:04:00) [GCC 8.3.0]

Tourne sur :

Raspberry PI 3b+

SAS-Malko commented 11 months ago

Bonjour à tous, De mon côté j'attends que l'API Authorize de production repasse en vert avant de retenter quoi que ce soit. C'est saoulant leur j'm'en foutisme :(

Scrat95220 commented 11 months ago

Bonjour, En attendant que le plugin refonctionne j'ai créé un script qui utilise la passerelle https://conso.boris.sh/ et qui permet d'updater le compteur existant (ou bien sur un nouveau) avec les données de conso Enedis. C'est ici : https://github.com/Scrat95220/DomoticzLinky

La passerelle ayant un quotas, ne faire qu'un appel par jour c'est suffisant. (Voir precos du site Conso API)

J'ai fait ca rapidement, il ne gère pas les datas HP/HC et la production d'électricité

r3z3 commented 11 months ago

Bonjour, En attendant que le plugin refonctionne j'ai créé un script qui utilise la passerelle https://conso.boris.sh/ et qui permet d'updater le compteur existant (ou bien sur un nouveau) avec les données de conso Enedis. C'est ici : https://github.com/Scrat95220/DomoticzLinky

La passerelle ayant un quotas, ne faire qu'un appel par jour c'est suffisant. (Voir precos du site Conso API)

J'ai fait ca rapidement, il ne gère pas les datas HP/HC et la production d'électricité

Merci Scrat95220 ! ça fonctionne très bien !

Smanar commented 11 months ago

Et c'est compatible avec les anciennes données ? Je veux dire que ça ne va pas créer de probleme dans les graphiques ? (meme si on perd le HP/HC) ?

Scrat95220 commented 11 months ago

Et c'est compatible avec les anciennes données ? Je veux dire que ça ne va pas créer de probleme dans les graphiques ? (meme si on perd le HP/HC) ?

J'update mon compteur utilisé par le plugin et ça ne pose pas de soucis avec mes données de consommations. Dans le doute fait une sauvegarde de ta Bdd avant de tester.

MxB2603 commented 11 months ago

Bonsoir, Est ce qu'il y aurait du nouveau ?

  • J'ai reçu un courriel suite à l'incident ouvert chez Enedis (mais je pense qu'un seul des problèmes a été traités)
  • J'ai refais un consentement via domoticz , une fois que l'on valide chez enedis .. y a le deuxième message avec un msgid qui change a chaque fois (j'ai testé ;-)) et il me semble que ce n'est pas bon, en tout cas dans les logs de domoticz c'est très clair .. sur le site datahub c'est toujours en rouge pour les API authorize

Capture d’écran du 2023-10-24 18-00-48 image image

Bonjour, J’ai également reçu ce matin la réponse suivante de Enedis (la question datait du 16/10) :

‘ De : BARTHELEMY Romain - externe [mailto:romain-externe.barthelemy@enedis.fr] De la part de SERVICECLIENTS-API Envoyé : lundi 30 octobre 2023 10:52 À : edf@brichet.net Objet : RE: Formulaire contact api Bonjour, Madame, Monsieur, Suite à la migration de la V4 à la V5, en rapport avec la migration de Datahub vers une nouvelle plateforme d’exposition à l’externe des API Enedis, nous avons informé le responsable du plugin Domoticz de la nécessité de modifier son application afin de continuer à bénéficier des données. Cependant, je ne constate pas, sur le Github du plugin, de prise en charge de cette demande, et c’est ce qui explique que le plugin ne vous fait plus remonter les données. Je vous invite à contacter directement la personne en charge de ce plugin afin de débloquer la situation, la V4 utilisée par le plugin étant désormais injoignable car décomissionnée. Espérant avoir répondu à vos questions, nous restons à votre écoute, ‘

A quoi j’ai répondu : ‘Bonjour, Je vous remercie de votre retour.
J’entends votre réponse sans pour autant la comprendre parfaitement mais je constate aussi sur votre site https://datahub-enedis.fr/services-api/etat-des-services/ que la partie Authorize n’est pas disponible (et en fait plus depuis le 22/09 tel que cet extrait d’écran) , hors à ce stade en tant qu’utilisateur il me semble bien que c’est cette partie qui fait défaut. Intéressé donc par une date de remise à disposition de cette fonction Authorize ou alors annoncez vous qu’elle ne fonctionnera plus jamais ? Cordialement,’

Car effectivement il semble bien que le problème « de l’authorize » soit anormal.

Turbox35 commented 11 months ago

Je confirme que cela fonctionne avec la modif de Scrat95220. Merci beaucoup j'ai comblé le trou. Sur une base neuve, dois-je donner un nom particulier au dummy pour qu'ensuite il soit bien reconnu par le plugin d'origine ?

benoit2021 commented 11 months ago

Bonsoir, j'ai envoyé un message la semaine dernière via le site https://datahub-enedis.fr/services-api/etat-des-services/ Et je viens de recevoir une réponse: RE-Formulaire contact api.pdf

yah00078 commented 11 months ago

Je viens de tester un nouvel appareillage, plus d'erreur 500 sur enedis, mais un Json remontant une request-id et un message vide. Leur migration semble avancer, on y croit !

ErnieFR commented 11 months ago

Aujourd'hui j'ai découvert la réponce d'Enedis sur le lien avec le code d'autorisation est presque normale

2023-11-07 autorisation semble ok

Malheursement apres confirmation sur cet page, un code JSON parait et Domoticz ne réagit toujours pas :-(

2023-11-07 apres autorisation page étrange

D'ailleurs sur le page d'accueil Enedis une fois fait le login, il me mont toujours l'indisponibilité de mon compteur ...

2023-11-07 accueil Enedis pas ok

guillaumezin commented 11 months ago

Le service n'est toujours pas rétabli côté Enedis, il paraît que ça devrait avoir lieu cette semaine, et après je vais avoir du boulot de mise au point...

marillat commented 11 months ago

@benoit2021 a-t-il relancé Enedis ?

laservert2 commented 11 months ago

Cela progresse-t-il? On tombe maintenant sur une erreur 404...

guillaumezin commented 10 months ago

De mon côté c'est de nouveau une erreur 500. Je ne sais pas si on a avancé ou reculé mais ça a bougé.

SAS-Malko commented 10 months ago

Si j'avance et que tu recule... :D :D :D Bref, tant que je vois Authorize en rouge, j'attends! Mais quand même, Enedis ne se soucie pas trop des abonnés :(

laservert2 commented 10 months ago

Il faut bien évidemment que l'Authorize fonctionne, mais aussi le plugin ne semble pas orienté vers la bonne plateforme: https://datahub-enedis.fr/migrer-sur-la-nouvelle-plateforme/

guillaumezin commented 10 months ago

Il faut bien évidemment que l'Authorize fonctionne, mais aussi le plugin ne semble pas orienté vers la bonne plateforme: https://datahub-enedis.fr/migrer-sur-la-nouvelle-plateforme/

Que nenni, l'infrastructure est tombée en panne quand j'étais en train de basculer sur la nouvelle plateforme, donc normalement c'est prêt : https://github.com/guillaumezin/DomoticzLinky/tree/APIv5 https://github.com/guillaumezin/Device-Flow-Proxy-Server/commits/master

Mais forcément, je n'ai pas pu bien mettre au point, avec 2 mois de panne...

mealgi commented 10 months ago

Bonjour

J'ai chargé la version V5 de plugin.py depuis Github et ai refait la tentation d'enregistrement auprès de enedis.

En lançant la commande https://enedis.domoticz.russandol.pro/device?code=BQPR-BUYW&state=-cg j'obtiens la page ENEDIS avec le message 500 Internal Server Error.

En lançant la commande https://enedis.domoticz.russandol.pro/device?code=BQPR-BUYW j'arrive à l'écran de demande de consentement pour lequel je donne mon accord de consentement. J'obtiens alors l'écran suivant : Demande de consentement de partage de données d'Enedis vers le plugin DomoticzLinky Error Logging In Il y a eu une erreur en essayant d'obtenir un jeton d'accès du service

{ "error" : "unauthorized_client", "error_description": "Code not found in authorization_codes store", "error_uri" : "" } Ce site est hebergé par alwaysdata.

Le seul cookie utilisé est un cookie de session nécessaire au bon fonctionnement du site. En dehors de cela, ce site ne stocke pas vos données personnelles, ne fait pas de traitement avec. Ce site ne partage pas vos données et ne les exploite pas. Votre nom d'utilisateur, votre mot de passe et vos données de consommation ne transitent pas par ce site.

Les sources de ce site sont accessibles à l'adresse https://github.com/guillaumezin/Device-Flow-Proxy-Server.

Les sources du plugin sont accessibles à l'adresse https://github.com/guillaumezin/DomoticzLinky.

Les sources de Domoticz sont accessibles à l'adresse https://www.domoticz.com/.

Cette page utilise le thème Cayman réalisé par Jason Long.

BR

guillaumezin commented 10 months ago

Tant qu'Enedis renvoie une erreur 500, le code d’autorisation ne redescend pas jusqu'à l'infrastructure de consentement, il est donc normal que le plugin réponde ensuite "Code not found".

Si vous enlevez state=-cg, l'autorisation est faite selon l'ancienne méthode (la nouvelle méthode s'appelle "code grant", d'où le "cg") et même chose, le code d’autorisation nécessaire à la version V5 ne va redescendre vers l'infrastructure de consentement et le plugin V5 va couiner.

nop64-sudo commented 10 months ago

Bonsoir, Je viens d'essayer de valider le consentement.

Je ne sais pas si mon erreur provient toujours du service Authorize qui est en erreur.

La page Enedis, s'affiche bien, j'effectue le consentement de l'application. Après la validation, le navigateur revient vers le site https://enedis.domoticz.russandol.pro/auth/redirect, mais avec une erreur différente de ce que j'ai lu dans ce fil.

Le message affiché en début de page :

Demande de consentement de partage de données d'Enedis vers le plugin DomoticzLinky Invalid Request Le paramètre usage_point_id manque dans la requête

Ce site est hebergé par alwaysdata.

.................. ...............

Dans l'url redirigée, le paramètre usage_point_id est pourtant présent. L'url exacte est (J'ai remplacé la valeur de usage_point_id qui sur 12 positions ainsi que state) :

https://enedis.domoticz.russandol.pro/auth/redirect?code=unusable&state=XXXXXX5XXXXXXXXXXXXX-cg&usage_point_id=00000000000000

A noter la valeur de code qui est unusable.

J'ai testé avec -cg et sans, j'ai le même comportement. Je ne sais pas s'il s'agit de la suite de cette anomalie qui date maintenant, ou si je dois ouvrir un nouveau ticket. Cordialement,

guillaumezin commented 10 months ago

Oui, ça évolue (dans le bon sens), je suis en train de faire des modifications, et également des erreurs ;-)

LeRodeur commented 10 months ago

API Authorize de nouveau en prod :) Par contre toujours le même retour autorisation invalide... :(

f5bcb commented 10 months ago

Il faut sans doute attendre que guillaumezin nous informe de la disponibilité du plugin. Wait & See

guillaumezin commented 10 months ago

Bonjour, La partie Enedis refonctionne. Je travaille maintenant (quand j'ai le temps) à terminer l'intégration de l'APIv5, ce que je n'avais pas pu faire avant à cause de la panne. Ce n'est pas encore tout à fait au point (mais pas loin), et j'ai plein d'autres choses à traiter en ce moment. Comprenez bien que c'est compliqué : sur les API précédentes, Enedis avait déployé un bac à sable pour les développeurs, pour tester leur code. Sur la nouvelle API, ce n'est plus le cas sur la partie autorisation, je suis obligé de "découvrir" les problèmes en production, sachant que ce n'est pas moi qui ait contractualisé avec Enedis (il faut une société pour ça), mais quelqu'un de bien sympa qui m'a prêté son serveur, mais sur lequel je ne peux pas pousser de mises à jour de façon très souple, pour la bonne raison que traîne sur son serveur une clé secrète d'API Enedis qu'il n'a pas le droit de partager avec moi.

marillat commented 10 months ago

Bonjour, Merci pour ton travail. Je pense que l’on peut attendre encore quelques jours après deux mois sans rien.

SAS-Malko commented 10 months ago

Merci @guillaumezin! On ne peut pas dire moins :) Bonne continuation et bon test On ne peut que saluer le travail effectué. Chapeau bas! LB

jpcasta commented 10 months ago

C'est déjà une bonne nouvelle! Je me joins aux autres pour te remercier @guillaumezin ! On a hâte de tester.... ;) Merci

HereComesANewChallenger commented 10 months ago

Merci pour les news. Prends le temps qu'il faut.

guillaumezin commented 10 months ago

Pouvez-vous essayer la version 2.5.3 que je viens de publier ?

guillaumezin commented 10 months ago

Et si ça fonctionne, n'hésitez pas à augmenter (temporairement) le paramètre "Nombre de jours à récupérer pour les autres vues" de façon à combler le trou de données. Une fois comblé, repassez le paramètre à 7.

jcsombret commented 10 months ago

Bonjour,

Je viens de faire la mise à jour du plugin et tout marche à nouveau.

Un grand merci à tous ceux qui ont contribué à rétablir le fonctionnement, bravo à tous !

marillat commented 10 months ago

Bonsoir, Chez moi aussi ça marche. Encore merci.

benjdev commented 10 months ago

Ici aussi... Un grand grand merci bravo pour tout ce travail, et cet acharnement !

MxB2603 commented 10 months ago

De même cela refonctionne également. Merci

rcrocus commented 10 months ago

Un grand merci à toi @guillaumezin pour ta persévérance et ton travail acharné ! Tout refonctionne nickel. Bravo et merci

f5bcb commented 10 months ago

Tout fonctionne à nouveau. Bravo et merci à tous les intervenants : dev, serveur ....

jpcasta commented 10 months ago

Bonjour, quand je fais un "git pull", j'ai les messages ci-dessous. Est-ce quelqu'un saurait quelle commande git je devrais faire pour tout remettre en ordre? Je n'ai fait aucune modification sauf peut-être un "git pull" avant que la version ne soit released? Merci

Messages: Depuis https://github.com/guillaumezin/DomoticzLinky 40f4d3a..e05b07a master -> origin/master

FaustVX commented 10 months ago

@jpcasta

Bonjour, quand je fais un "git pull", j'ai les messages ci-dessous. Est-ce quelqu'un saurait quelle commande git je devrais faire pour tout remettre en ordre? Je n'ai fait aucune modification sauf peut-être un "git pull" avant que la version ne soit released? Merci

Messages: Depuis https://github.com/guillaumezin/DomoticzLinky 40f4d3a..e05b07a master -> origin/master

  • [nouvelle branche] APIv5 -> origin/APIv5
  • [nouvelle étiquette] 2.5.3 -> 2.5.3
  • [nouvelle étiquette] 2.4.6 -> 2.4.6
  • [nouvelle étiquette] 2.4.7 -> 2.4.7
  • [nouvelle étiquette] 2.4.8 -> 2.4.8
  • [nouvelle étiquette] 2.4.9 -> 2.4.9
  • [nouvelle étiquette] 2.5.1 -> 2.5.1
  • [nouvelle étiquette] 2.5.2 -> 2.5.2 Mise à jour 40f4d3a..e05b07a error: Vos modifications locales aux fichiers suivants seraient écrasées par la fusion : plugin.py Veuillez valider ou remiser vos modifications avant la fusion. Abandon

Peut-être faire un git reset --hard HEAD (pour effacer tes modifs faites dans ce dossier) puis git pull

Ouapi commented 10 months ago

Merci et félicitations pour cette mise à jour. C'est sans doute un gros boulot mais le résultat est de nouveau parfait.

jpcasta commented 10 months ago

Merci @FaustVX !! La commande m'a permis de mettre à jour à la version 2.5.3

Merci @guillaumezin pour le travail accompli, j'ai pu récupérer les données!!

guillaumezin commented 10 months ago

@jpcasta

Bonjour, quand je fais un "git pull", j'ai les messages ci-dessous. Est-ce quelqu'un saurait quelle commande git je devrais faire pour tout remettre en ordre? Je n'ai fait aucune modification sauf peut-être un "git pull" avant que la version ne soit released? Merci Messages: Depuis https://github.com/guillaumezin/DomoticzLinky 40f4d3a..e05b07a master -> origin/master

  • [nouvelle branche] APIv5 -> origin/APIv5
  • [nouvelle étiquette] 2.5.3 -> 2.5.3
  • [nouvelle étiquette] 2.4.6 -> 2.4.6
  • [nouvelle étiquette] 2.4.7 -> 2.4.7
  • [nouvelle étiquette] 2.4.8 -> 2.4.8
  • [nouvelle étiquette] 2.4.9 -> 2.4.9
  • [nouvelle étiquette] 2.5.1 -> 2.5.1
  • [nouvelle étiquette] 2.5.2 -> 2.5.2 Mise à jour 40f4d3a..e05b07a error: Vos modifications locales aux fichiers suivants seraient écrasées par la fusion : plugin.py Veuillez valider ou remiser vos modifications avant la fusion. Abandon

Peut-être faire un git reset --hard HEAD (pour effacer tes modifs faites dans ce dossier) puis git pull

Vous pouvez aussi simplement effacer plugin.py et refaire "git pull", il va télécharger alors la dernière version du fichier

jpcasta commented 10 months ago

OK encore Merci!

Turbox35 commented 10 months ago

Super! Merci pour le développement de ce plugin et cette nouvelle version. Je ne suis pas à jour côté Domoticz (2023.1), cela peut poser problème ?

jpcasta commented 10 months ago

Ca fonctionne avec Domoticz 2023.1 et Domoticz 2023.2

guillaumezin commented 10 months ago

2023.1

Au contraire, ça fonctionne mieux avec 2023.1 qu'avec 2023.2, cette dernière release contient une régression que j'ai corrigée, cf. #211 il vaut mieux dans ce cas passer sur la beta ou attendre la prochaine release

guillaumezin commented 10 months ago
* Un petit tour via paypal s'impose "**Sponsor this project**"

M E R C I

  hier soir, j'ai fait très sale,  remplacement du fichier plugin.py par le nouveau sans redémarrage de domoticz. Cela fonctionne mais dans la log c'est toujours indiqué 2.4.9

C'est sale mais ça doit fonctionner, il ne faut effectivement pas oublier de redémarrer !

En revanche coté Enedis, l'affichage du partage des données reste comment dire perfectible ... Capture d’écran du 2023-11-23 07-52-21

Essayez de réactiver le partage de données, cf. https://github.com/guillaumezin/DomoticzLinky#installation

"Si vous ne recevez pas de données ou obtenez des valeurs incohérentes, en particulier après une mise à jour, revérifiez que sont activés l'enregistrement et la collecte de la consommation horaire sur votre compte Enedis sur "Gérer l'accès à mes données" dans l'encart "Enregistrement de la consommation horaire" et dans l'encart "Collecte de la consommation horaire" et attendez 2 jours."

guillaumezin commented 10 months ago

Pour l'instant c'est "juste" l'affichage sur le site enedis indiquant " vous n'avez pas encore souscrit de service de partage de données avec Enedis ou un tiers" qui est incorrect.

Si vous recevez vos données, ne tenez pas compte de cet encart sur le site d'Enedis, je ne suis pas certain que cet affichage ait déjà correctement fonctionné avec le partage de données pour Domoticz.

laservert2 commented 10 months ago

Fonctionne bien en version 2023.2 build 15664 . Bravo et merci pour la réactivité.

DRbuntu91 commented 10 months ago

Fonctionne pour moi aussi (version 2.5.3) Bravo et merci. W.O.

LeRodeur commented 10 months ago

Bonjour Guillaume,

+1 Bon boulot et bravo pour la réactivité.

Par contre, j'ai noté 2 bugs côté Enedis:     - ils ont quasiment tous les jours une perte de remontée d'1/2h de conso dans leurs relevés horaires, toujours pendant les HC autour de minuit (actuellement, c'est le créneau 22h30 - 23h00). Je m'en suis rendu compte lorsque je suis passé en Tempo et en suivant sous excel les conso (via EdF et/ou Enedis). Actuellement, je le compense avec la conso journalière (ie conso j - somme conso h = 1/2h manquante).     - ils ont des fluctuations sur la conso de la 1ère 1/2h de quasiment chaque jour en fonction de la date de téléchargement. Ca peut aller jusqu'à 400%...J'ai ouvert un ticket chez eux sur ce sujet.