Correction de valeur via script

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
Skwi
Messages : 53
Inscription : 20 nov. 2018, 13:09

Correction de valeur via script

Message par Skwi »

Bonjour, je ne pense pas être le premier à demander mais n'ai pas réussi à trouver comment corriger des valeurs via un script.

J'ai récemment mis en place le relevé de mon index d'eau (everblu cyble) via un esp, cependant ce n'est pas toujours fiable et de temps en temps la valeur remontée ne correspond à rien (268685904 au lieu de 250448 litres, ou même une valeur négative)

Pour le moment je fais du shift+clic droit sur la mauvaise valeur pour la supprimer, mais j'aimerai que ça soit fait automatiquement. Est-il possible de supprimer une valeur via lua/dzvents?
j'aurai besoin de la valeur moyenne sur une période, pour supprimer si l'écart est trop important avec la nouvelle valeur

Merci
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Correction de valeur via script

Message par Keros »

Je ne pense pas que ce soit possible via un script facilement. La méthode lourde serait d'aller directement travailler dans la base de données.

Est-ce que tu ne pourrais pas vérifier dans l'esp que la valeur n'est pas déconnante avant de l'envoyer dans DomoticZ ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
lost
Messages : 1511
Inscription : 12 nov. 2016, 11:01

Re: Correction de valeur via script

Message par lost »

Skwi a écrit : 10 mai 2023, 18:50 Pour le moment je fais du shift+clic droit sur la mauvaise valeur pour la supprimer, mais j'aimerai que ça soit fait automatiquement. Est-il possible de supprimer une valeur via lua/dzvents?
Il y aurait moyen... Mais cacher le senseur de base (mettre en non utilisé ou préfixer le nom d'un $), en créer un virtuel... et à partir des données du senseur de base alimenter le virtuel via un script device filtrant les valeur aberrantes...

Ou solutionner le pb de base: Pourquoi ces valeurs aberrantes?
Skwi
Messages : 53
Inscription : 20 nov. 2018, 13:09

Re: Correction de valeur via script

Message par Skwi »

Je ne sais pas pourquoi il y a ces fausses valeurs, je récupère le signal sur une fréquence bien précise via un CC1101, qui est ensuite déchiffré
Tout se fait dans le cc1101.cpp + utils.cpp du git : https://github.com/psykokwak-com/everblu-meters-esp8266
et c'est un peu trop complexe pour moi pour comprendre exactement ce qui déconne

vu que je maitrise mieux le lua je pensais solutionner côté domoticz directement, mais ça ne semble pas possible facilement

je suis d'accord que ça serait plus propre de corriger à la source

Edit : et c'était pas pratique d'aller récupérer l'esp pour re-upload le code dessus, j'ai vu qu'il y avait déjà ce if pour éviter des mauvaises remontées :

Code : Tout sélectionner

meter_data.reads_counter == 0 || meter_data.liters == 0
j'ai donc modifié comme tel, je devrai être tranquille pour ~20ans vu ma conso d'eau actuelle

Code : Tout sélectionner

if (meter_data.reads_counter == 0 || meter_data.liters <= 0 || meter_data.liters > 2500000)
Dernière modification par Keros le 11 mai 2023, 12:22, modifié 1 fois.
Raison : Ajout des balises
Répondre