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 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)
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
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
ça pourrait se passer par là mais le code est pas des plus simples à lire
avec appel à $scenario->testTrigger($trigger),
puis jeedom::evaluateExpression($trigger),
puis evaluate(scenarioExpression::setTags($_input, $_scenario, true));
etc…
Ah top, merci d’avoir regardé 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