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

Fix duplicate devices, empty lines and refactor entities #32

Merged
merged 20 commits into from
Nov 14, 2024

Conversation

tomleglaunec
Copy link
Collaborator

Résolution de bogues :

  • Utilisation des ports séries via leur chemin persistant by-id lorsque disponible (2 appareil détecté #27)
  • Vérification de la présence du compteur pour éviter la création de doublons vides (2 appareil détecté #27)
  • Omission des lectures vides (devrait supprimer les logs d'erreurs Failed to parse: b'' Error in historic mode: 'b' #26, même si la racine du problème est l'interface série qui remplacerait les CR par des LF)

Factorisation :

  • Création d'une entité abstraite dont dérivent les entités de l'intégration
  • Factorisation des méthodes de mise à jour des données
  • Création de classes de capteurs spécifiques (Puissance instantanée, Tension, etc.)

Changements :

  • Passage de certains capteurs liés au registre de statut en capteurs binaires (BinarySensorDeviceClass à ajuster)
  • BREAKING v3.0.0beta3 : Changement de la méthode d'attribution des id uniques pour les entités de registre de statut (apparaitront comme de nouveaux capteurs pour ceux utilisant déjà la beta3, les anciens ne seront plus fournis)

IMPORTANT : N'ayant qu'un compteur linky en mode standard, je n'ai pas pu vérifier que les modifications ne cassent pas le mode historique, si quelqu'un pouvait m'envoyer une capture de quelques trames historiques, je pourrai tester l'intégration

Les PR ne devraient pas être aussi fourre-tout, au risque de les rendre indigeste, en espérant que la relecture ne sera pas trop dure 😅

@hekmon
Copy link
Owner

hekmon commented Nov 14, 2024

Après une longue pause sur HA, je vais refais une petite passe pour finir ce qui doit l'être.

Sacré MR. Pour être honnête, pas le temps de tout relire... Je vais merge et tester le code voir si tout fonctionne :D (je suis encore en mode historique pas d'inquiétude)

Merci pour le travail 👍

@hekmon hekmon merged commit 9f57992 into hekmon:main Nov 14, 2024
2 checks passed
@hekmon
Copy link
Owner

hekmon commented Nov 14, 2024

Dites moi si tout fonctionne comme il faut:
https://github.com/hekmon/linkytic/releases/tag/v3.0.0-beta4

@hekmon
Copy link
Owner

hekmon commented Nov 14, 2024

Si la beta 4 est ok pour vous, elle deviendra la 3 definitive.

@theblackhole
Copy link
Contributor

theblackhole commented Nov 15, 2024

Linky en mode Standard ici, la mise à jour fonctionne bien de mon côté :

  • Le trim fonctionne
  • Les nouveaux capteurs sont là (dommage que les données des anciens ne soient pas migrés mais pour moi ça reste un détail)
Capture d'écran de l'historique avant/après beta 4 Capture d'écran de l'historique avant/après la beta 4
  • Pour les appareils vides je ne me souviens plus si c'était sensé les supprimer ou juste empêcher que ça se produise, car j'ai toujours 2 vides qui sont là depuis le début (ils ne me dérangent pas, c'est juste pour informer)
Capture d'écran des appareils vides Capture d'écran de la liste des appareils Linky avec 3 appareils dont 2 vides

Edit: j'ai rencontré un petit bug avec une icone manquante. Je fais une PR. ➡️ #45

@tomleglaunec
Copy link
Collaborator Author

Plusieurs mois de fonctionnement sans détecter de problème en mode standard (quelques erreur de checksum mais rien d'alarmant), donc sur cette partie tout a l'air de fonctionner 🚀

  • Les nouveaux capteurs sont là (dommage que les données des anciens ne soient pas migrés mais pour moi ça reste un détail)

Hélas c'est le prix à payer pour simplifier la classification 😉

  • Pour les appareils vides je ne me souviens plus si c'était sensé les supprimer ou juste empêcher que ça se produise, car j'ai toujours 2 vides qui sont là depuis le début (ils ne me dérangent pas, c'est juste pour informer)

Pour les appareils vides, il me semble que nettoyer les entités qui leurs sont rattachés devrait suffire à les faire disparaitre (c'est HA qui génère et détruit les appareils en fonctions des données exposés par les entités) ? Peut-être encore quelques recherches à faire à ce sujet.

PS:
J'ai retiré les state_class sur les capteurs qui ne représentent pas des mesures instantanées (voir docs), ce qui donne les notifications ci-dessous. Il suffit d'accepter la suppression des statistiques (ça ne supprime pas les données du capteur, seulement les statistiques HA mais qui n'ont pas lieu d'être dans ces cas).

image

This was referenced Nov 15, 2024
@hekmon hekmon mentioned this pull request Nov 16, 2024
@theblackhole
Copy link
Contributor

Pour les appareils vides, il me semble que nettoyer les entités qui leurs sont rattachés devrait suffire à les faire disparaitre (c'est HA qui génère et détruit les appareils en fonctions des données exposés par les entités) ? Peut-être encore quelques recherches à faire à ce sujet.

Il n'y a aucune entité liée, ce ne sont vraiment que des appareils vides et HA ne les a jamais nettoyés.

@hekmon
Copy link
Owner

hekmon commented Nov 17, 2024

Ces appareils vides restent un mystère pour moi. HA est sensé les nettoyer de lui même quand plus aucune entité ne les déclare.

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

Successfully merging this pull request may close these issues.

3 participants