Implémentation d’un bouton Santé et Alertes

bonsoir tout le monde

@MrGreen

est il possible de remonter les informations de dernière communication d’un appareil via un sms ou autre

je voudrais par exemple remonter un sms si un Equipement est out depuis 1 jour par exemple

comment on exploite ce retour

je sais comment envoyer un sms mais je ne sais pas comment le déclencher avec ce type d’action

merci

Salut,
les erreurs de timeout sont déclenchées par Jeedom.
Tu peux créer un scénario qui va recevoir ces évènements, et envoyer un sms.

Pour paramétrer le déclenchement du scénario, c’est dans réglages → Configurations.

Ensuite pour l’envoi du sms que sur les évènements timeout, il faudra faire une règle dans ton scénario (pour filtrer les messages, pour ne pas recevoir toutes les notifs)

Le test :
intval(strpos("#msg#", "n'a pas envoyé de message depuis plus de"))>0

Le message sms :
Timeout : #msg# (#heure#:#minute# le #jour#/#mois#/#annee#)

A adapter selon tes besoins

1 « J'aime »

merci beaucoup, je test tout cela et je clôture si tout est ok

il faut cocher ou décocher la première case

pour moi il faut la cocher non ??

@MrGreen

le retour de cette valeur est toujours zero

intval(strpos("#msg#", « n’a pas envoyé de message depuis plus de »))>0

Oui pardon il faut cocher cela

Pour le retour de valeur toujours à 0, peux tu me faire un screenshoot de ce que tu as dans ton champ ?

je ne sais pas trop ce que tu voulais comme screenshoot

merci pour ton aide

#msg# arrive toujours à vide ?

On dirait que tu as un espace en trop dans le tag msg=#message# entre g et =

oui j’avais bien un espace

par contre j’ai toujours la valeur a zero

il faudrait quoi comme commande pour envoyer un sms pour tous les erreurs de log

je viens de trouvez un petit code pour scenario
les erreurs remontent bien avec ce code

par contre comment l’adapter pour avoir les timeout de mes équipements uniquement

voici le code

// Récupere les textes présent dans le centre de messages
$msg = "";
$listMessage = message::all();
foreach ($listMessage as $message){
  	$msg .= "[".$message->getDate()."]";
  	$msg .= " (".$message->getPlugin().")";
  	($message->getAction() != "") ? $msg .= " (Action : ".$message->getAction().")" : null;
	$msg .= " ".$message->getMessage()."\n";
}
$tags['#msg#'] = $msg;
$scenario->setTags($tags);

j’ai l’impression que cela ne remonte pas car finalement rien ne remonte au niveau des logs de jeedom

j’ai l’impression que c’est juste une info interne au plugin ou je me trompe

@MrGreen

petit exemple

j’ai enlevé les piles hier d’un de mes capteurs de présence voici le message de ce jour

j’ai aucun log d’erreur qui remonte

c’est normal ou pas

merci

Je pense avoir compris le soucis.
Dans les logs scénario, on voit que jeedom transforme le texte
essayes avec cette condition :


intval(strpos("#msg#", " de message depuis plus de "))>0

Et jour avec les valeurs timeout à 15mn sur des modules piles :wink:

merci @MrGreen

la valeur reste toujours a zéro

image

en fait j’ai l’impression que c’est que j’ai pas d’erreur qui remontent au niveau des log qui concernent les timeout des capteurs donc ce qu’il y a ci dessous ne se lance pas

par contre des que j’ai une erreur qui remonte dans les logs du plugin ( exemple zigbee2mqtt est arrête et bien la le scenario se lance bien par contre la valeur reste a zero et c’est mon autre action du dessous qui m’envoi bien un sms

juste pour ne pas te faire perdre plus de temps

nous sommes d’accord que lorsque un capteur ne communique pas depuis 15 minutes pour le test
et donc que « Dernière communication » passe en rouge cela devrait générer un log et donc m’envoyer un sms

Tu as bien mis en place cette partie là ? (que je l’ai vu vide dans un de tes screenshoot)
Avec la case à gauche cochée bien sur :slight_smile:

Je complète, et en dessous ce cette option, tu as tout cela de coché ?

oui oui mon screen datait de diffèrents test, c’est bien en place

par contre le reste n’était pas coche, je suis un boulet

je pars en week-end ce soir donc je ne ferais peut être pas de retour d’ici dimanche soir

merci

1 « J'aime »

Passes un bon we :slight_smile:

merci ca y est c’est fini

bon

voici le retour, les log remonte bien des infos

par contre la valeur est toujours a zero donc pas de sms

intval(strpos(« #msg# », " de message depuis plus de "))>0

je reçois les messages avec le code ( voir plus haut )
mais c’est trop moi l’idée c 'est de ne recevoir que lorsqu’un équipement de communique plus depuis le nombre de minutes défini

étrange, cela fonctionne chez toi @Mrgreen ou tu ne l’utilise pas

merci

Hello,
si si je l’utilise.
Du coup il faut regarder tes logs du scenario quand ça s’exécute (pour ça tu fais joujou avec le timout par défaut : tu le passes à 15 puis reviens en défaut)

Montres moi tes logs

merci

voici le log

------------------------------------
[2021-06-06 20:39:54][SCENARIO] Start : Lancement provoque. Tags : {"#msg#":"Attention"}
[2021-06-06 20:39:54][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-06 20:39:54][SCENARIO] Evaluation de la condition : [0>0] = Faux
[2021-06-06 20:39:54][SCENARIO] Exécution du sous-élément de type [action] : else
[2021-06-06 20:39:54][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-06 20:39:55][SCENARIO] Start : Lancement provoque. Tags : {"#msg#":"Attention"}
[2021-06-06 20:39:55][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-06 20:39:55][SCENARIO] Evaluation de la condition : [0>0] = Faux
[2021-06-06 20:39:55][SCENARIO] Exécution du sous-élément de type [action] : else
[2021-06-06 20:39:55][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-06 20:39:55][SCENARIO] Start : Lancement provoque. Tags : {"#msg#":"Attention"}
[2021-06-06 20:39:55][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-06 20:39:56][SCENARIO] Evaluation de la condition : [0>0] = Faux
[2021-06-06 20:39:56][SCENARIO] Exécution du sous-élément de type [action] : else
[2021-06-06 20:39:56][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-06 20:39:56][SCENARIO] Start : Lancement provoque. Tags : {"#msg#":"Attention"}
[2021-06-06 20:39:56][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-06 20:39:56][SCENARIO] Evaluation de la condition : [0>0] = Faux
[2021-06-06 20:39:56][SCENARIO] Exécution du sous-élément de type [action] : else
[2021-06-06 20:39:56][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-06 20:39:57][SCENARIO] Start : Lancement provoque. Tags : {"#msg#":"Attention"}
[2021-06-06 20:39:57][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-06 20:39:57][SCENARIO] Evaluation de la condition : [0>0] = Faux
[2021-06-06 20:39:57][SCENARIO] Exécution du sous-élément de type [action] : else
[2021-06-06 20:39:57][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-06 20:39:57][SCENARIO] Start : Lancement provoque. Tags : {"#msg#":"Attention"}
[2021-06-06 20:39:57][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-06 20:39:57][SCENARIO] Evaluation de la condition : [0>0] = Faux
[2021-06-06 20:39:57][SCENARIO] Exécution du sous-élément de type [action] : else
[2021-06-06 20:39:57][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-06 20:39:59][SCENARIO] Start : Lancement provoque. Tags : {"#msg#":"Attention"}
[2021-06-06 20:39:59][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-06 20:39:59][SCENARIO] Evaluation de la condition : [0>0] = Faux
[2021-06-06 20:39:59][SCENARIO] Exécution du sous-élément de type [action] : else
[2021-06-06 20:39:59][SCENARIO] Fin correcte du scénario
------------------------------------
[2021-06-06 20:40:06][SCENARIO] Start : Lancement provoque. Tags : {"#msg#":"Attention"}
[2021-06-06 20:40:06][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-06-06 20:40:06][SCENARIO] Evaluation de la condition : [0>0] = Faux
[2021-06-06 20:40:06][SCENARIO] Exécution du sous-élément de type [action] : else
[2021-06-06 20:40:06][SCENARIO] Fin correcte du scénario

la commande :

intval(strpos(« #msg# », " de message depuis plus de "))>0

exemple de remonte lorsque je passe a 15min