script détection fuite d’eau

Article mis à jour le : 30 juillet 2017 Nouvelle version 1.23 du script (ajout liens vers forum et site)

je souhaitais mettre en place un script pour « surveiller » ma consommation d’eau afin d’etre prévenu en cas de consommation anormale. Les impulsions remontent de mon compteur via snmp sur un compteur virtuel Domoticz, mais il est adaptable à n’importe quel compteur ayant une consommation non permanente (test de la valeur zéro) Possibilité de surveiller plusieurs compteurs.
2016-05-04 18_30_26-Domoticz

Le principe : Vérification de la consommation d’eau toutes les 5mn par comparaison avec l’index précédent présent dans une variable utilisateur
(créé automatiquement lors de la première exécution du script). si l’index compteur et l’index -5mn sont identique le device probabilité est remis à zéro (pas de fuite)
si l’index compteur et l’index-5mn sont différents = consommation d’eau, incrémentation du device probabilité de 8% et mise à jour de la variable associée
si une consommation continue pendant une heure le device probabilité aura été incrémenté 12 fois, le device probabilité sera donc à 96% => très forte probabilité
une notification est paramétrée dans Domoticz sur ce device à 80%.
Le script est lu toutes les minutes mais ne vérifie les données que toutes les 5 minutes

7 réflexions au sujet de « script détection fuite d’eau »

  1. Bonjour,
    Merci, le script fonctionne correctement maintenant

    2017-10-14 11:15:00.119 LUA: =========== detection fuite d’eau (v1.21) ===========
    2017-10-14 11:15:00.119 LUA: — — — Boucle 1 — — —
    2017-10-14 11:15:00.119 LUA: — — — sur le Eau Froide il a un écart de : 305.7 Litre(s) — — —
    2017-10-14 11:15:00.119 LUA: — — — Mise à jour de la variable Eau Froide — — —
    2017-10-14 11:15:00.119 LUA: — — — Probabilité à 0.0% sur le Eau Froide — — —
    2017-10-14 11:15:00.119 LUA: ========= Fin detection fuite d’eau (v1.21) =========

  2. ton script n’arrive pas à créer la variable nécessaire à son fonctionnement
    peut être parce que tu n’as pas autorisé dans domoticz l’utilisation de l’ip 127.0.0.1
    via l’onglet réglage => Paramètres => système =>
    Réseaux locaux (pas d’identification):
    Réseaux:
    192.168.1.*;127.0.0.*
    (Séparez par un point-virgule, par exemple: 127.0.0.*;192.168.0.*)
    si ça ne fonctionne toujours pas , essai de creer manuellement la variable « Eau Froide »
    dans l’onglet réglage => plus d’options => variables utilisateur (variable de type chaine)

  3. Merci pour le script fonctions_perso.lua
    Il y a maintenant du mieux, toutefois il me manque maintenant une variable :

    2017-08-05 23:05:00.268 LUA: =========== detection fuite d’eau (v1.21) ===========
    2017-08-05 23:05:00.268 LUA: — — — Boucle 1 — — —
    2017-08-05 23:05:00.268 LUA: — — — La Variable Eau Froide n’existe pas — — —
    2017-08-05 23:05:00.268 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_detec_fuite_eau.lua: …/pi/domoticz/scripts/lua/script_time_detec_fuite_eau.lua:63: attempt to call global ‘url_encode’ (a nil value)

    Je ne vois pas trop ce qu’il manque…

  4. voici le script fonctions_perso.lua à placer dans le répertoire /home/pi/domoticz/scripts/lua/fonctions/

  5. Bonjour,

    Je tente d’utiliser ce script. J’ai activé les logs et sur Domoticz, je constate les erreurs suivantes :

    module ‘fonctions_perso’ not found:
    no field package.preload[‘fonctions_perso’]
    no file ‘/usr/local/share/lua/5.2/fonctions_perso.lua’
    no file ‘/usr/local/share/lua/5.2/fonctions_perso/init.lua’
    no file ‘/usr/local/lib/lua/5.2/fonctions_perso.lua’
    no file ‘/usr/local/lib/lua/5.2/fonctions_perso/init.lua’
    no file ‘./fonctions_perso.lua’
    no file ‘/home/pi/domoticz/scripts/lua/fonctions/fonctions_perso.lua’
    no file ‘/usr/local/lib/lua/5.2/fonctions_perso.so’
    no file ‘/usr/local/lib/lua/5.2/loadall.so’
    no file ‘./fonctions_perso.so’

    J’ai compris qu’il manquait ‘fonctions_perso’ décrit à la ligne 36 du script. Mais comment faire pour ajouter cela ?

    Merci d’avance

Laisser un commentaire