Un caractère spécial recu semble déclencher n'importe quel évènement du Plugin Signal

Bonjour,
J’ai installé le plugin Signal (d’ailleurs la doc pour l’installer est bien faite, merci à l’auteur). Je l’utilise pour en faire un BOT depuis mon tel et lancer des scenarios depuis l’appli Signal de mon téléphone.

J’ai deux scenarios :

  • Nom du scénario : Message recu Off (OFF Prise Abri Jardin)

  • Objet parent : Jardin

  • Mode du scénario : provoke

    • Evènement : #[Maison][SignalMessenger][Message reçu]# == ‹ Off ›

    ACTION
    (scenario) start de [Bouton On Off Tradfri IKEA][Jardin][Eteins Prise Jardin]

Et :

  • Nom du scénario : Message recu On (ON Prise Abri Jardin)

  • Objet parent : Jardin

  • Mode du scénario : provoke

    • Evènement : #[Maison][SignalMessenger][Message reçu]# == ‹ On ›

    ACTION
    (scenario) start de [Bouton On Off Tradfri IKEA][Jardin][Allume Prise Jardin]

Ca fonctionne bien si depuis mon tel j’envoie « On » ou bien « Off », l’un ou l’autre des scenarios se déclenche bien. Si j’envoie autre chose comme « Toto » par ex, évidement il ne se passe rien. Jusque là tout est normal.

Mais j’ai eu une suprise! Si j’envoie depuis mon tel un « ? » ou un « ! » ou encore un « + » (le tout sans les guillemets, juste un seul caractère), mes deux scénarios sont exécutés quand même :slight_smile: alors que je ne vois pas pourquoi!
NB : j’ai essayé avec d’autres types d’Action, le pb reste présent, je doute donc que le pb puisse venir de mes scenarios [Bouton On Off Tradfri IKEA][Jardin][Allume Prise Jardin] et [Bouton On Off Tradfri IKEA][Jardin][Eteins Prise Jardin] qui d’ailleurs ne contiennent qu’une seule action celle d’éteindre ou allumer une prise Ikea.

Y a-t-il une subtilité quelque part? Est-ce normal? A tout hasard quelqu’un pourrait essayer de s’envoyer depuis son tel un point d’interrogation et me dire ce qu’il se passe chez lui?

Jeedom v4.3.17
Signal installé 2023-03-10 14:15:03 (donc la dernière version j’imagine)

Merci pour votre aide!

Hello,

il faut que je pousse les investigations, mais ça fait pareil chez moi.
A noté que c’est le scénario qui est déclenché malgré un texte reçu autre que celui choisi, donc c’est pas inhérent à Signal

#[Communications][signalDamien][Message reçu]# == "Camera"

chez moi c’est ça pour une demande de capture manuelle.
Je regarde les logs du scénario (et donc pas de mon plugin)

[2023-10-25 18:15:31][SCENARIO] **-- Start :** Scenario execute automatiquement sur evenement venant de : [Communications][signalDamien][Message reu] (?).
[2023-10-25 18:15:31][SCENARIO] - Exécution du sous-élément de type [action] : action

il a reçu un point d’interrogation, donc la condition devrait être fausse, mais il exécute l’action du scénario quand même

Peut être le C cédille? mais ça serait étrange. Je me mets un rappel pour ce week-end, merci pour la remontée !

Pour préciser, j’ai l’impression que c’est dans le déclencheur que ca bug.

Avec un déclencheur : * Evènement : #[Maison][SignalMessenger][Message reçu]# == ‹ Off ›
Ca déclenche quand le message recu est un « ? » alors que ca ne devrait pas

Mais si dans un scenario je fais : SI #[Maison][SignalMessenger][Message reçu]# == ‹ Off ›
Là c’est OK la condition est bien fausse quand le message recu est un « ? »

Je viens de tester et ça le fait dans d’autres plugins aussi.

ça doit etre le validateur du déclencheur qui a un soucis, mais jai pas trouvé dans le core.
le testeur d’expression j’ai pas de soucis, l’intérieur du scénario non plus, c’est juste le déclencheur effectivement.

Je connais pas assez le core de jeedom pour trifouiller, jai regardé 2 3 fichiers mais pas réussi à trouver où se fait la vérification :confused:

Merci bcp d’avoir regardé. Tu sais comment faire remonter aux dev Jeedom?

Salut,

En effet, il y a un souci, je le reproduis à l’aide d’un simple test avec un virtuel :

Et un scénario qui réagit aux 2 commandes « on » et « ? »

ça pourrait se passer par là mais le code est pas des plus simples à lire :slight_smile:

avec appel à $scenario->testTrigger($trigger),
puis jeedom::evaluateExpression($trigger),
puis evaluate(scenarioExpression::setTags($_input, $_scenario, true));
etc…

ah je n’ai même pas pensé à regarder la method check. Mais pareil je suis un peu perdu :open_mouth:

Merci noodom pour l’investigation ^^

Ah top, merci d’avoir regardé :slight_smile: ca dépasse mes competences!
Dois-je faire qqc pour faire remonter le pb dans une to do list des futures évolutions de jeedom ou bien trop complexe à resoudre?
En tout cas maintenant je sais qu’il y a un bug et comment le contourner, un grand merci pour ca.

Hello, j’ai ouvert aujourd’hui une issue github sur le dépot core de jeedom afin d’expliquer la problématique, avec un lien vers le test qu’a fait noodom afin que Loic comprenne la problématique.
Maintenant il faut attendre :slight_smile:

Ahhh super merci beaucoup :slight_smile:

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