kugan49 / veolia-custom-component-HACS

Home Assistant custom component to retrieve information from Veolia
MIT License
18 stars 2 forks source link

Détection écoulement continu (suite) #35

Open flety-emmanuel opened 10 months ago

flety-emmanuel commented 10 months ago

Rebonjour je m'excuse pour relancer cette discussion, je pense que la détection d'écoulement continu / fuite pourrait servir à beaucoup de gens pour diagnostiquer leur installation et avoir une remonté d'alarme précoce

J'ai mis l'intégration en mode débug pour voir ce que sort l'échange SOAP. Les trames XLM sont à géométries variable selon que le champ écoulement soit présent ou pas. Des fois on trouve le champ écoulement à 0 mais je pense que c'est quand la fuite est < 1 Litre, si c'est zero franc c'est absent

Exemple avec écoulement

{'codeRetour': '00', 'consommation': '318', 'dateReleve': '2023-11-10T00:00:00+01:00', 'ecoulement': '72', 'fiabiliteIndex': 'M', 'index': '749398'}, {'codeRetour': '00', 'consommation': '360', 'dateReleve': '2023-11-11T00:00:00+01:00', 'ecoulement': '72', 'fiabiliteIndex': 'M', 'index': '749716'}, {'codeRetour': '00', 'consommation': '528', 'dateReleve': '2023-11-12T00:00:00+01:00', 'ecoulement': '0', 'fiabiliteIndex': 'M', 'index': '750076'}, {'codeRetour': '00', 'consommation': '319', 'dateReleve': '2023-11-13T00:00:00+01:00', 'ecoulement': '0', 'fiabiliteIndex': 'M', 'index': '750604'},

exemple sans écoulement détecté {'codeRetour': '00', 'consommation': '250', 'dateReleve': '2024-01-12T00:00:00+01:00', 'fiabiliteIndex': 'M', 'index': '775647'}, {'codeRetour': '00', 'consommation': '207', 'dateReleve': '2024-01-13T00:00:00+01:00', 'fiabiliteIndex': 'M', 'index': '775897'},

en mensuel {'annee': '2023', 'codeRetour': '00', 'consommation': '8797', 'ecoulement': '144', 'fiabiliteConso': 'M', 'index': '737820', 'mois': '10'},

Je suis assez nul en python, j'ai compris a peu près la création des tuples dans l'historique daily vs monthly. Pour en pas trop casser de trucs, j'ai créé dans le module d'échange de donnée (veolia client => remonte vers sensor HA) deux autres dict DAILY_LEAK et MONTHLY_LEAK. Comme le champ / clef ecoulement n'est pas toujours présent, j'ai fait au mieux pour tester son existence, à défaut mettre un 0 explicite = pas de fuite

C'est probablement pas propre, avec mes excuses. Le zip du code modifié en PJ pour review et éventuelle intégration dans la version d'après. En espérant que ca puisse servir à d'autres. Pas de pull request, mon code est probablement pas assez bon pour cela et nécessite un expert pour le mettre d'équerre. J'ai supprimé ma modif de la fonction qui retourne le sensor class (consommation journalière et mensuelle) pour ne laisser que l'index dans le menu énergie, sur votre conseil.

veolia-mod-ecoulement-continu.zip

image

kugan49 commented 10 months ago

Excellent travail !!! Je vais regarder ça de plus près pour la prochaine mise à jour

flety-emmanuel commented 10 months ago

avec plaisir et merci pour ton retour positif et enthousiaste. happy coding !