Pas de remontées d'info du site Enedis
jlc71710 opened this issue · 28 comments
Depuis le 21 septembre, il n'y a plus de mise à jour de la carte
Idem
Pourtant j'arrive bien à récupérer mes données dans un script Python via l'API : https://enedisgateway.tech/api avec le token récupéré via la passerelle .. Etrange !
Alors que dans HA j'ai le message suivant :
2023-09-30 12:31:46.309 ERROR (SyncWorker_4) [myEnedis] Data answer: {'detail': 'Le point de livraison ne correspond au token fournis, pour le réinitialiser il vous suffit de refaire un consentement'}
Token pourtant identique ..
Aucun idée si c'est lié, mais moi j'ai ça en log depuis aussi (j'ai aussi perdu la remonté depuis le 21 sept):
2023-10-01 20:55:59.724 INFO (SyncWorker_0) [myEnedis] ====== Appel http #1 !!! data : {'type': 'daily_consumption', 'usage_point_id': 'xxxxxxxxxxxxxxxx', 'start': '2023-09-30', 'end': '2023-10-01'} =====
2023-10-01 20:55:59.724 INFO (SyncWorker_0) [myEnedis] ====== Appel http #1 !!! reponse : {'meter_reading': None} =====
2023-10-01 20:55:59.725 ERROR (SyncWorker_0) [myEnedis] xxxxxxxxxxxxx- last call : updateYesterday
2023-10-01 20:55:59.725 ERROR (SyncWorker_0) [myEnedis] myEnedis ...xxxxxxxxxxxxx update termine, on retentera plus tard(B)
2023-10-01 20:55:59.726 ERROR (SyncWorker_0) [myEnedis] ------------------------------------------------------------
2023-10-01 20:55:59.726 ERROR (SyncWorker_0) [myEnedis] Erreur inconnue call ERROR 'NoneType' object is not subscriptable
2023-10-01 20:55:59.727 ERROR (SyncWorker_0) [myEnedis] Erreur last answer 'NoneType' object is not subscriptable
2023-10-01 20:55:59.727 ERROR (SyncWorker_0) [myEnedis] Erreur last call updateYesterday
2023-10-01 20:55:59.727 ERROR (SyncWorker_0) [myEnedis] Erreur last answer {'meter_reading': None}
2023-10-01 20:55:59.809 ERROR (SyncWorker_0) [myEnedis] Traceback (most recent call last):
File "/config/custom_components/myEnedis/myClientEnedis.py", line 1191, in update
self.callConsommation()
File "/config/custom_components/myEnedis/myClientEnedis.py", line 1075, in callConsommation
self.updateYesterday()
File "/config/custom_components/myEnedis/myClientEnedis.py", line 723, in updateYesterday
data = self._yesterday.updateData(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/myEnedis/myDataEnedis.py", line 99, in updateData
self._value = myCheckData().analyseValue(self._data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/myEnedis/myCheckData.py", line 41, in analyseValue
return int(data[API.METER_READING]["interval_reading"][0]["value"])
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/config/custom_components/myEnedis/myClientEnedis.py", line 1284, in update
raise Exception(inst)
Exception: 'NoneType' object is not subscriptable
2023-10-01 20:55:59.809 ERROR (SyncWorker_0) [myEnedis] ------------------------------------------------------------
2023-10-01 20:55:59.809 WARNING (SyncWorker_0) [myEnedis] (<class 'Exception'>, Exception(TypeError("'NoneType' object is not subscriptable")), <traceback object at 0x7fafd2fc0b80>)
2023-10-01 20:55:59.810 ERROR (SyncWorker_0) [myEnedis] LastMethodCall : updateYesterday
Je suis en HA 2023.10.0b4
et je précise que d'autres composants ont aussi eu quelques heures/jours de bugs , depuis 2023.10.0b1
A force de mettre à jour les customs_component et HA, pas mal de choses sont rentrés dans l'ordre, sauf pas encore Enedis et il me semble que le pb était déjà la avec la version stable 2023.9.3
C'est du coup un problème HA, du gateway, du CC lui-même ou alors Enedis?
Aucun idée si c'est lié, mais moi j'ai ça en log depuis aussi (j'ai aussi perdu la remonté depuis le 21 sept):
2023-10-01 20:55:59.724 INFO (SyncWorker_0) [myEnedis] ====== Appel http #1 !!! data : {'type': 'daily_consumption', 'usage_point_id': 'xxxxxxxxxxxxxxxx', 'start': '2023-09-30', 'end': '2023-10-01'} ===== 2023-10-01 20:55:59.724 INFO (SyncWorker_0) [myEnedis] ====== Appel http #1 !!! reponse : {'meter_reading': None} ===== 2023-10-01 20:55:59.725 ERROR (SyncWorker_0) [myEnedis] xxxxxxxxxxxxx- last call : updateYesterday 2023-10-01 20:55:59.725 ERROR (SyncWorker_0) [myEnedis] myEnedis ...xxxxxxxxxxxxx update termine, on retentera plus tard(B) 2023-10-01 20:55:59.726 ERROR (SyncWorker_0) [myEnedis] ------------------------------------------------------------ 2023-10-01 20:55:59.726 ERROR (SyncWorker_0) [myEnedis] Erreur inconnue call ERROR 'NoneType' object is not subscriptable 2023-10-01 20:55:59.727 ERROR (SyncWorker_0) [myEnedis] Erreur last answer 'NoneType' object is not subscriptable 2023-10-01 20:55:59.727 ERROR (SyncWorker_0) [myEnedis] Erreur last call updateYesterday 2023-10-01 20:55:59.727 ERROR (SyncWorker_0) [myEnedis] Erreur last answer {'meter_reading': None} 2023-10-01 20:55:59.809 ERROR (SyncWorker_0) [myEnedis] Traceback (most recent call last): File "/config/custom_components/myEnedis/myClientEnedis.py", line 1191, in update self.callConsommation() File "/config/custom_components/myEnedis/myClientEnedis.py", line 1075, in callConsommation self.updateYesterday() File "/config/custom_components/myEnedis/myClientEnedis.py", line 723, in updateYesterday data = self._yesterday.updateData( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/myEnedis/myDataEnedis.py", line 99, in updateData self._value = myCheckData().analyseValue(self._data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/myEnedis/myCheckData.py", line 41, in analyseValue return int(data[API.METER_READING]["interval_reading"][0]["value"]) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ TypeError: 'NoneType' object is not subscriptable During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/myEnedis/myClientEnedis.py", line 1284, in update raise Exception(inst) Exception: 'NoneType' object is not subscriptable 2023-10-01 20:55:59.809 ERROR (SyncWorker_0) [myEnedis] ------------------------------------------------------------ 2023-10-01 20:55:59.809 WARNING (SyncWorker_0) [myEnedis] (<class 'Exception'>, Exception(TypeError("'NoneType' object is not subscriptable")), <traceback object at 0x7fafd2fc0b80>) 2023-10-01 20:55:59.810 ERROR (SyncWorker_0) [myEnedis] LastMethodCall : updateYesterday
Je suis en HA 2023.10.0b4 et je précise que d'autres composants ont aussi eu quelques heures/jours de bugs , depuis 2023.10.0b1 A force de mettre à jour les customs_component et HA, pas mal de choses sont rentrés dans l'ordre, sauf pas encore Enedis et il me semble que le pb était déjà la avec la version stable 2023.9.3
C'est du coup un problème HA, du gateway, du CC lui-même ou alors Enedis?
Même probleme ici
Je ne connais pas la date precise du debut de mes soucis, mais de mon coté l'intégration en fonctionne plus correctement et mes deniers logs donnent ceci, malgré un renouvellement de consentement:
This error originated from a custom integration.
Logger: myEnedis
Source: custom_components/myEnedis/myClientEnedis.py:287
Integration: myEnedis sensor (documentation, issues)
First occurred: 18:36:52 (33 occurrences)
Last logged: 20:39:41
Erreur last answer {'meter_reading': None}
Traceback (most recent call last): File "/config/custom_components/myEnedis/myClientEnedis.py", line 1191, in update self.callConsommation() File "/config/custom_components/myEnedis/myClientEnedis.py", line 1075, in callConsommation self.updateYesterday() File "/config/custom_components/myEnedis/myClientEnedis.py", line 723, in updateYesterday data = self._yesterday.updateData( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/myEnedis/myDataEnedis.py", line 99, in updateData self._value = myCheckData().analyseValue(self._data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/myEnedis/myCheckData.py", line 41, in analyseValue return int(data[API.METER_READING]["interval_reading"][0]["value"]) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ TypeError: 'NoneType' object is not subscriptable During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/myEnedis/myClientEnedis.py", line 1284, in update raise Exception(inst) Exception: 'NoneType' object is not subscriptable
(<class 'Exception'>, Exception(TypeError("'NoneType' object is not subscriptable")), <traceback object at 0x7f3e1f0e3a40>)
LastMethodCall : updateYesterday
Problème identique de mon coté, avec les messages dans les logs HA identiques
'NoneType' object is not subscriptable
'Erreur last answer {'meter_reading': None}
Par ailleurs la commande curl pour valider que la collecte horaire est bien activée auprès d'Enedis, ainsi que toutes les commandes pour récupérer la production me donnent le résultat suivant, :
{ "meter_reading": null }
Je précise que la collecte horaire parait bien activée sur le site Enedis.
Hello, problème identique depuis le 21/09, voici le traceback obtenu en rafraichissant l'intégration:
2023-10-04 20:02:45.606 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry [REDACTERD] for myEnedis
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 387, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/myEnedis/__init__.py", line 132, in async_setup_entry
await _enable_scheduled_myEnedis()
File "/config/custom_components/myEnedis/__init__.py", line 125, in _enable_scheduled_myEnedis
await coordinator_enedis.async_refresh()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 266, in async_refresh
await self._async_refresh(log_failures=True)
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 290, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 246, in _async_update_data
return await self.update_method()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/myEnedis/__init__.py", line 222, in _async_update_data_enedis
return await self.hass.async_add_executor_job(self.update_data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
asyncio.exceptions.CancelledError: aiohttp connection lost
2023-10-04 20:02:51.801 ERROR (SyncWorker_12) [myEnedis] [REDACTED]- last call : updateYesterday
2023-10-04 20:02:51.803 ERROR (SyncWorker_12) [myEnedis] myEnedis ...[REDACTED] update termine, on retentera plus tard(B)
2023-10-04 20:02:51.807 ERROR (SyncWorker_12) [myEnedis] ------------------------------------------------------------
2023-10-04 20:02:51.810 ERROR (SyncWorker_12) [myEnedis] Erreur inconnue call ERROR 'NoneType' object is not subscriptable
2023-10-04 20:02:51.820 ERROR (SyncWorker_12) [myEnedis] Erreur last answer 'NoneType' object is not subscriptable
2023-10-04 20:02:51.824 ERROR (SyncWorker_12) [myEnedis] Erreur last call updateYesterday
2023-10-04 20:02:51.829 ERROR (SyncWorker_12) [myEnedis] Erreur last answer {'meter_reading': None}
2023-10-04 20:02:51.835 ERROR (SyncWorker_12) [myEnedis] Traceback (most recent call last):
File "/config/custom_components/myEnedis/myClientEnedis.py", line 1191, in update
self.callConsommation()
File "/config/custom_components/myEnedis/myClientEnedis.py", line 1075, in callConsommation
self.updateYesterday()
File "/config/custom_components/myEnedis/myClientEnedis.py", line 723, in updateYesterday
data = self._yesterday.updateData(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/myEnedis/myDataEnedis.py", line 99, in updateData
self._value = myCheckData().analyseValue(self._data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/myEnedis/myCheckData.py", line 41, in analyseValue
return int(data[API.METER_READING]["interval_reading"][0]["value"])
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/config/custom_components/myEnedis/myClientEnedis.py", line 1284, in update
raise Exception(inst)
Exception: 'NoneType' object is not subscriptable
De même, plus rien depuis le 21/09.
SI je refais une demande de consentement, j'obtiens un json brut lors de l'oauth2
{
"reasons": [],
"details": {
"msgId": "Id-XXXXXXXXXX"
}
}
Dans le meme cas depuis le 21/09 aussi
Bonjour,
Pour info l'api MyElectricalData est bugger deupuis Aout :
https://github.com/MyElectricalData/myelectricaldata_import/issues
autre ticker ici : issues#233
Toujours impossible de réaliser le consentement, c’est lourd !
{
"reasons" : [ ],
"details" : {
"msgId" : "Id-a7ff2c65afdbc461d71cbd55"
}
}
Toujours impossible de réaliser le consentement, c’est lourd !
{
"reasons" : [ ],
"details" : {
"msgId" : "Id-a7ff2c65afdbc461d71cbd55"
}
}
Bonjour,
Oui je suis tout a fait d'accord mais c'est des personnes qui font cela gratuitement sinon si vous voulez votre consommation prévoyez d'acheter un module Lixee Zlinky.
La maintenance n’est elle pas du aux gens de chez Enedis ? Je vous prie de bien vouloir excuser mon impatience si ça n’est pas le cas.
La maintenance n’est elle pas du aux gens de chez Enedis ? Je vous prie de bien vouloir excuser mon impatience si ça n’est pas le cas.
Non c'est pas la faute de Enedis la et ni de @saniho cette personne a juste coder pour cela plus simple l'utilisation mais les vrais responsables du problème c'est myelectricalData comme j'ai cité plus haut moi sa fait 2 mois plus de données je comprends que cela vous énerve mais si vous voulez votre consommation en temps réel sans interruption faut utilisé un module lixee je compte m'en acheter un mais plus tard.
SI je refais une demande de consentement, j'obtiens un json brut lors de l'oauth2
{ "reasons": [], "details": { "msgId": "Id-XXXXXXXXXX" } }
Quand tu arrives sur cette page remplaces le gw.prd.api.enedis.fr
par myelectricaldata.fr
dans l'URL et c'est bon.
C'est bien un soucis côté Enedis, cf l'auteur de la plateforme. On devrait bientôt voir le bout du tunnel.
SI je refais une demande de consentement, j'obtiens un json brut lors de l'oauth2
https://gw.prd.api.enedis.fr/v1/oauth2/authorize?client_id=[REDACTED]&response_type=code&redirect_uri=http://sandbox.myelectricaldata.fr/consent&user_type=B2B&state=null&person_id=[REDACTED]&usage_points_id=[REDACTED]{ "reasons": [], "details": { "msgId": "Id-XXXXXXXXXX" } }
Quand tu arrives sur cette page remplaces le
gw.prd.api.enedis.fr
parmyelectricaldata.fr
dans l'URL et c'est bon. C'est bien un soucis côté Enedis, cf l'auteur de la plateforme. On devrait bientôt voir le bout du tunnel.
Avez vous les données ????
Avez vous les données ????
Oui.
Avez vous les données ????
Oui.
moi j'ai aucune information de mon coter donc certes il sont trouver leur problème de consentement mais pas récupération de donnée.
Hello, effectivement de mon coté j'arrive à récupérer les donner via les appels CURL directs (via un script Python) mais aucune données dans l'intégration HA ..
J'ai pourtant modifié la sélection de enedisGateway to myElectricalData + mise à jour du Token mais rien pour le moment.
Hello, effectivement de mon coté j'arrive à récupérer les donner via les appels CURL directs (via un script Python) mais aucune données dans l'intégration HA .. J'ai pourtant modifié la sélection de enedisGateway to myElectricalData + mise à jour du Token mais rien pour le moment.
Hello,
Même problème de mon côté
Hello, effectivement de mon coté j'arrive à récupérer les donner via les appels CURL directs (via un script Python) mais aucune données dans l'intégration HA .. J'ai pourtant modifié la sélection de enedisGateway to myElectricalData + mise à jour du Token mais rien pour le moment.
Hello, même problème j'arrive bien de nouveau à récupérer mes données avec les exemples curl données sur myElectricalData (après manip de l'URL), mais j'obtiens maintenant ce traceback sur HA
2023-10-20 09:40:35.932 ERROR (SyncWorker_2) [myEnedis] LastMethodCall : updateLastMonthLastYear
2023-10-20 09:40:40.740 ERROR (SyncWorker_54) [myEnedis] [REDACTED] - last call : updateLastMonthLastYear
2023-10-20 09:40:40.740 ERROR (SyncWorker_54) [myEnedis] myEnedis ...[REDACTED] update termine, on retentera plus tard(B)
2023-10-20 09:40:40.741 ERROR (SyncWorker_54) [myEnedis] ------------------------------------------------------------
2023-10-20 09:40:40.741 ERROR (SyncWorker_54) [myEnedis] Erreur inconnue call ERROR 'str' object has no attribute 'get'
2023-10-20 09:40:40.741 ERROR (SyncWorker_54) [myEnedis] Erreur last answer 'str' object has no attribute 'get'
2023-10-20 09:40:40.741 ERROR (SyncWorker_54) [myEnedis] Erreur last call updateLastMonthLastYear
2023-10-20 09:40:40.741 ERROR (SyncWorker_54) [myEnedis] Erreur last answer None
2023-10-20 09:40:40.746 ERROR (SyncWorker_54) [myEnedis] Traceback (most recent call last):
File "/config/custom_components/myEnedis/myClientEnedis.py", line 1191, in update
self.callConsommation()
File "/config/custom_components/myEnedis/myClientEnedis.py", line 1112, in callConsommation
self.updateLastMonthLastYear()
File "/config/custom_components/myEnedis/myClientEnedis.py", line 553, in updateLastMonthLastYear
data = self._lastMonthLastYear.updateData(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/myEnedis/myDataEnedisByDay.py", line 100, in updateData
if (callDone) and (myCheckData().checkDataPeriod(self._data)):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/myEnedis/myCheckData.py", line 102, in checkDataPeriod
if dataAnswer.get(API.ERROR_CODE, 200) == 500:
^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/config/custom_components/myEnedis/myClientEnedis.py", line 1284, in update
raise Exception(inst)
Exception: 'str' object has no attribute 'get'
2023-10-20 09:40:40.746 ERROR (SyncWorker_54) [myEnedis] ------------------------------------------------------------
2023-10-20 09:40:40.747 WARNING (SyncWorker_54) [myEnedis] (<class 'Exception'>, Exception(AttributeError("'str' object has no attribute 'get'")), <traceback object at 0x7f7591e9c0>)
2023-10-20 09:40:40.747 ERROR (SyncWorker_54) [myEnedis] LastMethodCall : updateLastMonthLastYear
Miracle ! Les données sont là ! Cela fait bizarre de voir l'intégration à nouveau fonctionnel !
Top top !
Oui !!! Je confirme, je viens de jeter un oeil à mon dashboard énergie, j'ai les données depuis 13h
Bonjour,
J'ai aussi relancé un consentement, toutes les commandes curl fonctionnent, mais par l'intégration (j'ai bien mis le nouveau token dans la configuration de l'intégration)
Dans les logs, rien ne porte à croire que qqc soit faux manquant et aucune erreur de python
Vous avez fait qqc de plus?
EDIT: c'est revenu pour moi aussi! J'ai du attendre un peu plus de 24H
Bonjour à tous,
ça ne fonctionne toujours pas pour moi.
Avez-vous fait des modifications sur votre HA/myElectricalData ?
Merci
Bonjour à tous,
ça ne fonctionne toujours pas pour moi.
Avez-vous fait des modifications sur votre HA/myElectricalData ?
Merci
Non, mis à part une nouvelle demande de consentement oauth2 (et donc nouvelle clef) et la manipulation d'url indiquée ici : https://www.myelectricaldata.fr/
Les valeurs sont revenue !