Alertes répétées

Tags: #<Tag:0x00007f385dfec4e0>

Bonjour à tous. J’ai sur mon installation plusieurs scénario en cron et contrôle régulier comme par exemple l’état de contrôle des batteries de mes éléments zwave sur pile.

Si par exemple un scénario s’exécute toutes les 5 minutes et qu’il détecte à 8h un élément en alerte il l’envoi une alerte. Néanmoins à 8h05, prochain check général il va également envoyer la même alerte.

comment gérer lors de ce genre de contrôle qu’une alerte a été précédemment envoyé et que pendant un temps donné par exemple 4H il n’en voit plus d’alerte même si le statut d’une des batteries est hs

j’espère avoir expliqué mon « problème » ! merci par avance à celui ou celle qui saura m’aider :wink:

Salut
Moi j’utiliserais une variable dans laquelle je stocke l’heure de la dernière alerte et si une nouvelle alerte doit être déclenchée je vérifie par rapport à l’heure stockée dans la variable si cela fait plus de 4h

Bonjour,
Une case à cocher, dans le scénario, permet de ne pas refaire l’action si la condition est la même que la dernière fois.
Ça aurait donc pu le faire mais comme tu veux pouvoir à nouveau avoir une alerte dans 4h il te faudrait passer par un système de variable pour gérer l’envoi de l’alerte ou pas.

Je mettrai par exemple le #time# auquel j’ai fais partir l’alerte.
Il suffira de placer une condition avec time_op pour vérifier si l’heure actuelle est dans la tranche des 4h ou pas afin de gérer le renvoi de l’alerte ou pas.

Tout est là : https://blog.jeedom.com/3530-repetition-de-la-valeur-des-commandes/

1 J'aime

Accessoirement, si il s’agit de verifier l’état des batteries, il y a plus simple.
Tu définis pour chaque module à batterie les niveaux d’alerte et dans reglages > systeme > configuration, onglet log, tu peux définir une action quand une batterie tombe sous les niveaux d’alerte définis

Capture d’écran 2020-08-17 à 09.49.02

1 J'aime

@prfalken, @axelpg.
Cela va résoudre la répétition, mais il veut la répétition au bout de 4 heures !
Du coup, l’utilisation des variables est bien adaptée.

Oui peut être, mais avoir les notions de base de Jeedom ça ne sera pas un mal !

De plus vérifier toutes les 4h les piles quand on connait la précision quelque soit le protocole du niveau de remontée des piles ç’est absurde.

Il a cité en exemple la pile, pour moi il a d’autres alertes dans ses scénarios :innocent:

Je n’ai pas dit le contraire… d’ou le fait que j’ai posté l’article du blog et qu’en plus je dis que pour les piles c’est ridicule, et qu’en plus y a tout dans le core pour le faire…

Merci à tous. Pour les réponses je vais effectivement creuser coté variable !!! :wink:

Vu que je ne connais pas vraiment cette notion particulière des variables et scénario et histoire que je monte en compétence :slight_smile: pourrais tu m’expliquer plus en détail les deux solutions que tu m’exposes ?

La case a cocher pour ne pas répéter le scénario si la condition est la même c’est quelle case ? (même si c’est pas mon cas la pour le coup ce sera intéressant pour d’autres scénarios !)

Concernant le #time# je comprends. Il faut le mettre ou exactement ? il faut créer une commande ? une variable dans une commande ? j’ai pas vraiment idée de la gestion des variables encore.

Merci par avance Bison :wink:

Oui effectivement. La pile était un exemple. La je scan le niveau des batteries des teléphones de la famille en dessous d’un seuil je passe par discord link et alexa pour informer les membres concernés que le téléphone mériterait bien une recharge. Mais bon … j’aimerais une alerte et pas toutes les 5 minutes … et régler donc la fréquence des alertes répétées c’est un exemple mais ca peut servir à de multiples reprises !

Salut,

Alors je veux pas tout te mâcher pour que tu y arrive mais l’idée va être de dire :
SI l’heure actuelle n’est pas l’intervalle « dernière alerte / dernière alerte+4h » alors déclencher l’alerte et définir la variable dernière alerte à l’heure actuelle.

  • Définir une variable, c’est l’action « variable » dans un scénario
  • L’heure actuelle est donné par #time# (au format hhmm donc par exemple 2129 pour 21h29)
  • Pour savoir si l’heure actuelle est entre « heure1 » et « heure2 » c’est time_between(#time#, variable(heure1), variable(heure2))
  • Pour connaitre l’heure de la dernière alerte +4h il faut utiliser time_op et je te laisse regarder l’aide pour savoir comment l’utiliser

En mettant tout ça bout à bout tu devrais avoir la condition qui vérifie si ta dernière alerte date de plus de 4h ou pas.

On peu faire plus simple en utilisant juste un comparateur comme « > » mais dans ce cas il faut faire attention après minuit.

Allez bon courage :slight_smile:

Au top ! tout fonctionne parfaitement. Merci Bison.

Ok bien joué, tu peux fermer le sujet.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.