Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No Data Found #93

Open
Hotzigetty opened this issue Dec 27, 2024 · 20 comments
Open

No Data Found #93

Hotzigetty opened this issue Dec 27, 2024 · 20 comments

Comments

@Hotzigetty
Copy link

Bonjour,

J'ai suivi les instructions et tout marche depuis longtemps. Depuis quelque jours, j'ai remarqué que le conso téléchargé est aléatoire (jours avec 0, par exemple).

J'ai regardé dans les logs et je vois ça maintenant :

Conso API a répondu avec une erreur
Code: 404
Réponse : {
"status": 404,
"message": "The Enedis API returned an error",
"error": {
"error": "no_data_found",
"error_description": "no measure found for this usage point"
}
}
Data import returned nothing !

@bokub
Copy link
Owner

bokub commented Dec 27, 2024

Hello,

Comme indiqué par le message d'erreur, l'API d'Enedis dit qu'il ne trouve pas de données, je ne peux malheureusement pas faire grand chose.

Essaie de voir si tu as des trous dans ton espace client Enedis

@Hotzigetty
Copy link
Author

Salut, merci pour ta réponse.

J'ai regardé et il n y'a pas.. Je vais surveiller.

@Hotzigetty
Copy link
Author

Est-ce que je peux rajouter manuellement les jours récents sans donnés, j'arrive à les télécharger sur le site enedis?

@bokub
Copy link
Owner

bokub commented Dec 27, 2024

Tu peux télécharger un export CSV et l'importer en faisant une remise à zéro, je te laisse lire la documentation

@Hotzigetty
Copy link
Author

Merci, je l'avais fait au départ, je vais essayer de juste rajouter les jours manquants sur ce fichier. Il me semble que le site espace client enedis a changé depuis peu.

@Gloumi
Copy link

Gloumi commented Jan 3, 2025

Hello, j'ai le même souci, depuis le 30/12 pas de données remontées, sauf pour le 01/01... 🤷‍♂️ J'ai regénéré mon token, testé l'API via curl selon la doc fournie sur conso API et tout semble ok, donc j'ai l'impression que ça vient d'ailleurs...

Last saved statistic date is 01/01/2025
Cannot fetch consumption load curve from 2025-01-02 to 2025-01-03, here is the error:
Conso API a répondu avec une erreur
Code: 404
Réponse : {
    "status": 404,
    "message": "The Enedis API returned an error",
    "error": {
        "error": "no_data_found",
        "error_description": "no measure found for this usage point"
    }
}
Data import returned nothing !
Data synchronization planned every day at 06:37:27 and 09:37:27

@bokub
Copy link
Owner

bokub commented Jan 3, 2025

testé l'API via curl selon la doc fournie sur conso API et tout semble ok

@Gloumi Tu as bien essayé de récupérer des données horaires avec les mêmes dates ?

@Gloumi
Copy link

Gloumi commented Jan 3, 2025

@bokub Yes et j'ai ce résultat :

{
  "usage_point_id": "xxx",
  "start": "2024-12-31",
  "end": "2025-01-03",
  "quality": "BRUT",
  "reading_type": {
    "unit": "Wh",
    "measurement_kind": "energy",
    "aggregate": "sum",
    "measuring_period": "P1D"
  },
  "interval_reading": [
    {
      "value": "20904",
      "date": "2024-12-31"
    },
    {
      "value": "17039",
      "date": "2025-01-01"
    },
    {
      "value": "17546",
      "date": "2025-01-02"
    }
  ]
}

Donc j'ai bien le 31/12 et le 02/01 qui pourtant ne sont pas remontés dans HA

@bokub
Copy link
Owner

bokub commented Jan 3, 2025

Ouais alors c'est pas des données horaires ça

@Gloumi
Copy link

Gloumi commented Jan 3, 2025

En effet, mais la doc de conso API est très light, elle ne donne pas d'exemple avec la conso heure par heure. Et quand je tente autre chose il me remonte uniquement ces options disponibles :

{
  "status": 400,
  "message": "Paramètres invalides",
  "error": {
    "issues": [
      {
        "received": "hourly_consumption",
        "code": "invalid_enum_value",
        "options": [
          "daily_consumption",
          "consumption_load_curve",
          "consumption_max_power",
          "daily_production",
          "production_load_curve"
        ],
        "path": [
          "type"
        ],
        "message": "Invalid enum value. Expected 'daily_consumption' | 'consumption_load_curve' | 'consumption_max_power' | 'daily_production' | 'production_load_curve', received 'hourly_consumption'"
      }
    ],
    "name": "ZodError"
  }
}

Le endpoint donné en exemple : https://conso.boris.sh/api/daily_consumption

Si tu as un exemple je prend...

Edit : btw je viens de vérifier, la collecte de conso horaire est bien activée côté enedis :

image

@Gloumi
Copy link

Gloumi commented Jan 3, 2025

@bokub J'ai installé le module npm, est-ce que c'est loadcurve qui est utilisé ? J'ai ce retour :

image

@Gloumi
Copy link

Gloumi commented Jan 3, 2025

@bokub j'ai une piste, je viens de relancer le module et les données ont bien été récupérées, ce matin à 11h30 quand j'ai relancé ça n'a pas fonctionné. Est-ce que le souci ne serait pas que la mise à jour des données côté enedis/linky tarde pour certaines personnes ? Quand je regarde plus en détail mes logs la récupération de 6h plante la plupart du temps, celle de 9h passe plus souvent, et parfois elle ne passe pas et c'est récupéré le sur-lendemain seulement.
Ce qui m'étonne c'est que j'ai un trou sans datas pour le 30-31/12, les données sont sensées être récupérées sur maximum combien de jours lorsqu'il y a un trou ?

@bokub
Copy link
Owner

bokub commented Jan 3, 2025

la doc de conso API est très light

Désolé mais je vois pas trop comment elle pourrait être plus claire

image

image

@bokub
Copy link
Owner

bokub commented Jan 3, 2025

Quand je regarde plus en détail mes logs la récupération de 6h plante la plupart du temps, celle de 9h passe plus souvent, et parfois elle ne passe pas et c'est récupéré le sur-lendemain seulement.

Oui en effet, c'est exactement ce qui est expliqué dans la documentation de Conso API:


image

@bokub
Copy link
Owner

bokub commented Jan 3, 2025

Pour résumer, la marche à suivre si HA Linky ne remonte pas de données:

  1. Vérifier si tu as ces données disponibles sur ton espace client Enedis
  2. Si oui, vérifier si ces données sont disponibles via Conso API
  3. Si oui, ça veut dire que HA Linky ne fonctionne pas correctement. Si non, ça veut juste dire que les données ne sont pas disponibles donc je ne peux rien faire pour t'aider car je ne travaille pas chez Enedis !

Tu me dis que tu n'as pas de données sur la période du 30-31/12, je te laisse donc vérifier les points ci-dessus pour des données horaires sur la même période

@Gloumi
Copy link

Gloumi commented Jan 3, 2025

Désolé je me suis laissé avoir par le nom du endpoint “daily_consumption” qui pour moi indiquait uniquement une remontée de données journalières et non horaires, c’est pour ça que je n’ai pas en premier lieu regardé plus en détail les options de celui-ci, je m’attendais à trouver un autre endpoint.

Je confirme que j’ai bien des données dans Conso API pour les jour concernés :
image

J’ai bien compris le fonctionnement de la récupération à 6h puis à 9h, d’où ma question :

les données sont sensées être récupérées sur maximum combien de jours lorsqu'il y a un trou ?

Si j’ai bien compris le fonctionnement c’est probablement le 01/01 qu’il y a eu un souci, les données du 30 et 31 auraient dû être récupérées en même temps que celles du 01/01 si enedis ne les avait pas fournies avant, c’est bien ça ?

Petite question annexe concernant les plages horaire de récupération, est-ce qu’il ne serait pas pertinent de les laisser parametrables ? (au moins à l’heure près, pour permettre de conserver le fonctionnement random actuel qui je suppose est là pour éviter la surcharge de l’API). Pour ma part je n’ai pas d’intérêt à avoir des données “fraîches” à 6h du matin. Par contre si je suis quasi assuré d’avoir la donnée de la veille en faisant la récupération à 12h, je préférerai faire un seul appel à 12h 🙂

P.S.: J’aurai du commencer par là mais merci pour le travail fourni, le plugin est top et rend je pense service à beaucoup de monde!

@bokub
Copy link
Owner

bokub commented Jan 4, 2025

Ah oui ok , je crois avoir compris ta question !

Quand HA Linky démarre, il regarde la date de la dernière donnée enregistrée, et ne cherche pas les trous antérieurs.

Donc si au démarrage tu as des données le 01/01, l'addon n'ira pas chercher les donnés du 31, malheureusement.

@bokub
Copy link
Owner

bokub commented Jan 4, 2025

Concernant les plages horaires paramétrables, tu es le premier utilisateur sur des milliers à en faire la demande, donc je ne pense pas ajouter cette possibilité, ça rendrait la configuration encore plus complexe qu'elle ne l'est déjà.

@Gloumi
Copy link

Gloumi commented Jan 4, 2025

Ok je vois merci pour la précision, du coup j'ai retrouvé les lignes de log concernées :

[02/01 09:39] Synchronization started for consumption data
Last saved statistic date is 29/12/2024
Successfully retrieved consumption load curve from 2024-12-30 to 2025-01-02
Data import returned 24 data points from 01/01/2025 to 01/01/2025
Successfully computed the cost of 24 data points from 01/01/2025 to 01/01/2025
Last saved statistic date is 29/12/2024
Connection with Home Assistant closed
Connection with Home Assistant established
[03/01 06:39] Synchronization started for consumption data
Last saved statistic date is 01/01/2025

On voit bien ici qu'au 02/01 on avait pas de données depuis le 30/12, et bizarrement il n'a récupéré que les données du 01/01, d'après ce que j'ai pu comprendre du code le souci ne semble pas être côté plugin puisque les logs affichent directement les plages utilisées pour la récupération. Ça semble être un cas isolé donc je ne sais pas si ça vaut le coup de creuser plus, mais dis moi si tu vois d'autres infos que je pourrais fournir.

@Gloumi
Copy link

Gloumi commented Jan 4, 2025

Concernant les plages horaires paramétrables, tu es le premier utilisateur sur des milliers à en faire la demande, donc je ne pense pas ajouter cette possibilité, ça rendrait la configuration encore plus complexe qu'elle ne l'est déjà.

Oui je comprend, pas de souci ! Après je ne pensais pas complexifier la configuration, l'idée aurait été de laisser ce comportement par défaut tout en donnant la possibilité de le débrayer via une config manuelle "avancée". De mon côté j'ai quand même l'impression que sur la plage de 6h ça plante plus de la moitié du temps, donc je trouve juste dommage de "m'acharner" à vouloir récupérer de la donnée le plus tôt possible sachant que c'est de toute façon une donnée déjà froide 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants