Bonsoir
J’ai une petite question sur l’utilisation de la fonction stateChangesBetween.
Je m’en sers dans le contexte suivant : en cas de détection d’une fuite, lorsque le sol redevient sec, il s’écoule une période plus ou moins longue où le sol passe alternativement de sec à humide, parfois dans de courts laps de temps et où par conséquent le capteur d’humidité va envoyer alternativement des 1 et des 0 à répétition. Les infos de ce capteur déclenchant un scénario, je souhaite éviter que le scénario déclenche également alternativement dans des courts laps de temps des actions contraires.
Je sais que la bonne solution n’est pas dans l’informatique, mais tout simplement dans le fait de régler définitivement le problème de fuite et de sécher correctement le sol, mais je ne serai pas forcément sur place lorsque la fuite se déclenche et ce problème de fuite est par ailleurs récurrent (je ne vais pas vous ennuyer avec mes problèmes de cuisine !)
Je pense qu’il y a moultes façons de traiter ce besoin ; pour ma part j’ai retenu l’utilisation de la fonction stateChangesBetween appliquée au capteur. Je fais donc un test sur le nombre de changements d’état au cours des 10 dernières minutes ; si ce nombre est supérieur à 4, par exemple, rien ne se passe.
Mais je me suis aperçu que les expressions suivantes 1 et 2 renvoyaient un résultat correct :
- stateChangesBetween(#[Cuisine][Détecteur de fuite lave vaisselle (Sonoff)][water_leak]#, 1, 10 min ago, now)
- stateChangesBetween(#[Cuisine][Détecteur de fuite lave vaisselle (Sonoff)][water_leak]#, 0, 10 min ago, now)
Par contre, l’expression suivante me renvoie toujours 0 : - stateChangesBetween(#[Cuisine][Détecteur de fuite lave vaisselle (Sonoff)][water_leak]#, 10 min ago, now)
En fait, ce n’est pas très grave, je peux très bien me contenter des expressions 1 et 2 (ou même faire leur somme éventuellement).
Donc ma question est plutôt générale : quelle erreur est-ce que je commets dans l’expression 3 ?
Merci de votre aide
Informations Jeedom
Core : 4.4.19 (master)
DNS Jeedom : oui






