Script pour une action lors de la reception d'un message

Bonsoir,
J’ai mon smartledmesseger qui vieillit et qui se plante de temps en temps. Je reboot quand ça arrive la prise connectée.
Je cherche à automatiser par un scénario avec un bloc code qui si le message
"Erreur exécution de la commande [SMART MESSENGER][SmartLedMessenger][Message à afficher] : Echec de la requête HTTP : http://192.168.1.36/?" arrive dans le centre de message me renseigne un tag ou une variable que je puisse lancer les actions ensuite.
#[Prises][Prise Messenger][Off]#
Pause 5 secondes
#[Prises][Prise Messenger][On]#
Mais bien qu’ayant essayé avant d’admettre mon échec, je n’arrive pas à mes fins.
Bien cordialement

Salut,

Tu avais eu un bloc code ici pour supprimer le message du coup, tu bloques où ?

Salut,

Pourquoi pas un équipement du #plugin-networks pour faire un ping plutôt que de tenter d’analyser un message texte?
et quand ça répond plus faire le restart via ta prise?

1 « J'aime »

Bonsoir,

Le core te permet de lancer un scénario en cas d’erreur :

Il te suffit ensuite dans le scénario passer par un bloc code pour initier un tag :

$find = 'Erreur exécution de la commande [SMART MESSENGER][SmartLedMessenger][Message à afficher]'; // chaine a rechercher.

/* ---------NE PAS MODIFIER CODE EN DESSOUS -------------- */
$tags = $scenario->getTags(); // on recupère les tags existants.
$tags['#erreur#'] = 0; // on initie le tag a 0 (pas trouvé)
$messages = message::all();
foreach ($messages as $message) {
  $pos2 = stripos($message->getMessage(), $find);
  if ($pos2 !== false) 
  {
    $scenario->setLog("Le message a été trouvé");
    $tags['#erreur#'] = 1; // on modifie le tag a 1 (= trouvé)
    $message->remove();
  }
}
$scenario->setTags($tags); // envoi des tags

Ensuite en dessous du bloc code tu vérifie la valeur du tag et en conséquence tu lance ton action :

Scenario globale :

Edit :
Nos messages se sont croisé avec @Mips, il semble que sa méthode soit plus adapté/simple pour une requète HTTP en échec :wink:

1 « J'aime »

Perso je n’aime pas l’idée d’un code qui parse un message texte (qui potentiellement peut changer), ça me fait trop mal au bide :joy:
Donc j’essaye de trouver des solutions plus pérennes.

Salut à tous,

Pour Bison,
Oui j’efface les messages avec le code en question, mais j’ai remarqué que l’affichage se bloquait carrément également donc effacer ne suffit pas, je dois le rebooter quand il bloque.

Pour Mips, le pb c’est qu’il répond quand même au ping ce que je ne m’explique pas.

Merci Phpvarious c’est ce que je cherchais à faire, donc oui c’est plus radical que le ping et à faire avec parcimonie. Ca va me servir également pour un autre pb que j’ai en tête.

Merci pour vos réponses, je vais faire le plus light et efficace pour ce pb mineur qui n’est pas vital en soit. C’est juste qu’il affiche la production solaire et ça énerve ma femme de croire le message qui annonce de la production et la possibilité de mettre une machine alors que l’afficheur est bloqué sur le même message depuis 1 heure. :confused:
Si ça l’énerve il faut que je fasse quelque chose :smiley:

Bien cordialement

J’avais bien cerné ta demande mais comme il me semblait que le plus compliqué c’était déjà de repéré le message (et de l’effacer) je voulais savoir où tu bloquais (ce qu’il te manquait) pour envoyer l’ordre de Off/On au passage :wink:.

Arffff tu as manqué une solution à un poil près :smiley:

ton truc ça sent le souci réseau sur la qualité de connexion ou le bug firmware de l’objet en question. je tenterai bêtement un CURL suite à la détection de message pour voir si l’interface API http/https intégrée répond aux requêtes ou non via un bloc de code.

en même temps le plus simple c’est quand même de mettre un autre objet connecté (identique ou non) pour tester s’il a le même souci :wink:

Bonjour,
J’y ai pensé au souci réseau, mais ce serait le seul équipement qui me ferait ça. J’ai déjà changé l’Ip pour voir, l’alim.
Je crois qu’il est comme moi et qu’il vieillit il a déjà 5 ou 6 ans avec un firmware de l’époque. Dans une autre pièce j’ai un notifheure fait maison qui lui fonctionne bien et ne se plante jamais. Quand ça va trop me gaver, je vais l’ouvrir et le flasher en notifheure ou changer l’esp.
Bien cordialement

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