Sensor pour Enedis - apiEnedis

Il y a un soucis dans le depot git il manque des fichiers…je vois cela ce soir désolé :frowning:

1 « J'aime »

ok ça me rassure :slight_smile:

@Floww77, git est à jour, dis moi si c’est mieux.

C’est parfait :wink:
Merci

c’est mieux ! :slight_smile:

Par contre, j’ai pas vérifié le niveau du logger mais il reste des display dans la log

2 messages ont été scindés en un nouveau sujet : Afficher les attributs dans Lovelace

:warning: Pas le bon endroit.

Fait une recherche et si tu trouve pas de résultat, ouvre un topic dédié dans #lovelace

Posts déplacés vers https://forum.hacf.fr/t/afficher-les-attributs-dans-lovelace/946/2

Hello,

Il faudrait adapter ton plugin avec cette carte. Se serait top. En plus on peut l’installer via HACS.

J’y ai passé deux heures et fail. Je reviendrait tester une autre fois.
Le curl de test de la GW est OK, le composant en erreur. A moins qu’il faille le déclarer ailleurs autre chose qu’un sensor ?

Si l’intégration à la linky-card serait un plus, HACS un autre gros plus pour les utilisateurs :wink:

@mycanaletto aurais-tu l’erreur dans le log de ha ?

Bonjour,

J’ai le même problème de chargement du custom_component.
J’ai pull la dernière version dans mon dossier custom_component, à côté d’autres composants fonctionnels.
Quand je redémarre HA via l’IHM (Control du Serveur > Redémarrer), cela ne semble pas recharger les custom_component.
Comme l’a suggéré @saniho j’ai redémarré HA en ligne de commande (ha core restart) et là le component à bien été chargé.

Encore merci @saniho et @M4dm4rtig4n pour le boulot :heart_eyes_cat:

J’ai parlé trop vite : le component plante au chargement.
Voici les logs :

2020-11-13 08:01:27 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for apiEnedis which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-11-13 08:01:27 INFO (MainThread) [homeassistant.loader] Loaded apiEnedis from custom_components.apiEnedis
2020-11-13 08:01:30 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.apiEnedis
2020-11-13 08:01:30 WARNING (SyncWorker_9) [custom_components.apiEnedis.sensor] passe ici - 1
2020-11-13 08:01:30 WARNING (SyncWorker_9) [custom_components.apiEnedis.sensor] passe ici MON_TOKEN MON_CODE
2020-11-13 08:01:30 WARNING (SyncWorker_20) [custom_components.apiEnedis.sensor] call update
2020-11-13 08:01:37 ERROR (MainThread) [homeassistant.components.sensor] apiEnedis: Error on device update!
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 346, in _async_add_entity
    await entity.async_device_update(warning=False)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 471, in async_device_update
    await self.hass.async_add_executor_job(self.update)  # type: ignore
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/util/__init__.py", line 239, in wrapper
    result = method(*args, **kwargs)
  File "/config/custom_components/apiEnedis/sensor.py", line 97, in _update
    status_counts['last_year'] = self._myDataEnedis.getLastYear()
  File "/config/custom_components/apiEnedis/apiEnedis.py", line 95, in getLastYear
    for x in data["meter_reading"]["interval_reading"]:
TypeError: 'NoneType' object is not subscriptable

En effet j ai vu cela, il semble que les données de la veille ne soit pas disponible le matin sur enedis et comme l erreur n est pas gérée cela crash, je vais voir… Si tu peux me faire une copie de la valeur du sensor cela serait cool.

Est t’il possible au lieu de spécifier un intervale de temps, de renseigner l’heure à laquelle on veux mettre à jour (en option)?

Comme la mise a jour a besoin de se faire une seule fois par jour…

Merci en tout cas pour ton investissement !
:+1: :heart:

n’oubliez pas de mettre un cœur sur le premier post, beaucoup de commentaires mais pas beaucoup de cœurs

Le sensor n’est pas créé sous HA.
En revanche, je peux te transférer par MP le JSON transmis par EnedisGateway si tu veux.

1 « J'aime »

Logger: homeassistant.components.sensor
Source: custom_components/apiEnedis/apiEnedis.py:76
Integration: Sensor (documentation, issues)
First occurred: 2:15:41 (1 occurrences)
Last logged: 2:15:41

apiEnedis: Error on device update!

Traceback (most recent call last): File « /usr/src/homeassistant/homeassistant/helpers/entity_platform.py », line 357, in _async_add_entity await entity.async_device_update(warning=False) File « /usr/src/homeassistant/homeassistant/helpers/entity.py », line 466, in async_device_update await task File « /usr/local/lib/python3.8/concurrent/futures/thread.py », line 57, in run result = self.fn(*self.args, **self.kwargs) File « /usr/src/homeassistant/homeassistant/util/init.py », line 239, in wrapper result = method(*args, **kwargs) File « /config/custom_components/apiEnedis/sensor.py », line 94, in _update status_counts[‹ yesterday ›] = self._myDataEnedis.getYesterday() File « /config/custom_components/apiEnedis/apiEnedis.py », line 76, in getYesterday return int(data[« meter_reading »][« interval_reading »][0][« value »]) TypeError: ‹ NoneType › object is not subscriptable

Bonjour @saniho
Félicitation pour le travail.
Impatient de voir votre intégration fonctionner, j’ai une autre erreur:

    2020-11-13 21:43:22 ERROR (MainThread) [pysqueezebox.server] Failed communicating with LMS: <class 'asyncio.exceptions.TimeoutError'>
%s: %s 400 {"error":"result_400","enedis_return":{"error":"ADAM-ERR0123","error_description":"The requested period cannot be anterior to the meter's last activation date","error_uri":"https://bluecoder.enedis.fr/api-doc/consulter-souscrire"}}
2020-11-13 21:43:28 ERROR (MainThread) [homeassistant.components.sensor] apiEnedis: Error on device update!
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 357, in _async_add_entity
    await entity.async_device_update(warning=False)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 466, in async_device_update
    await task
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/util/__init__.py", line 239, in wrapper
    result = method(*args, **kwargs)
  File "/config/custom_components/apiEnedis/sensor.py", line 97, in _update
    status_counts['last_year'] = self._myDataEnedis.getLastYear()
  File "/config/custom_components/apiEnedis/apiEnedis.py", line 95, in getLastYear
    for x in data["meter_reading"]["interval_reading"]:
TypeError: 'NoneType' object is not subscriptable 

Le curl d’enedis m’envoit bien des données.
Une idée?

@akunia, merci pour l’encouragement, je suis en train de préparer une nouvelle version.
Par rapport à ton erreur, peux-tu me dire si ton contrat installation Enedis est récente, genre maison neuve, ce qui fait qu’il n’y a pas de données de consommation sur l’année passée…cela pourrait être une piste.

Oui, mon contrat est récent dans le sens que j’ai changé le fournisseur en mars dernier et j’ai autorisé les relevés en août. Du coup sur le site d’Enedis les données les plus anciens date d’août 2020

merci cela explique la réponse, je vais voir pour voir gerer l’erreur…