[RESOLU] Comparaison d'un texte en tout point égal qui renvoi "Faux"

Bonjour,
J’ai un problème dans un scenario de qui doit comparer un SMS reçu.
Le log du scenario donne ceci:

[2020-05-12 08:53:04][SCENARIO] Réponse Alarme desarmee
[2020-05-12 08:53:04][SCENARIO] Exécution d'un bloc élément : 21
[2020-05-12 08:53:04][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-05-12 08:53:04][SCENARIO] Evaluation de la condition : ["Alarme desarmee" == "Aucune réponse"] = Faux
[2020-05-12 08:53:04][SCENARIO] Exécution du sous-élément de type [action] : else
[2020-05-12 08:53:04][SCENARIO] Exécution d'un bloc élément : 22
[2020-05-12 08:53:04][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-05-12 08:53:04][SCENARIO] Evaluation de la condition : ["Alarme desarmee" == "Alarme armee"] = Faux
[2020-05-12 08:53:04][SCENARIO] Exécution du sous-élément de type [action] : else
[2020-05-12 08:53:04][SCENARIO] Exécution d'un bloc élément : 23
[2020-05-12 08:53:04][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-05-12 08:53:04][SCENARIO] Evaluation de la condition : ["Alarme desarmee" == "Alarme desarmee"] = Faux
[2020-05-12 08:53:04][SCENARIO] Exécution du sous-élément de type [action] : else
[2020-05-12 08:53:04][SCENARIO] Fin correcte du scénario

Il renvoi donc [« Alarme desarmee » == « Alarme desarmee »] = Faux
Sauf erreur de ma part, il devrait en conclure un Vrai?

Merci d’avance pour votre aide

Salut,

Je n’ai pas ce souci en v4.0.54
image

En quelle version es-tu ?
Fais voir ton scénario…

Je suis aussi en version image

Voici mon scenario:

Salut,

Tu peux essayer avec matches au lieu de ==

https://doc.jeedom.com/fr_FR/core/4.1/scenario#tocAnchor-7

matches : Contient. Ex : [Salle de bain][Hydrometrie][etat] matches "/humide/".

Salut

On voit dans ton scénario « alarme desarmee » et dans le log alarme à une majuscule pour les deux conditions. Étonnant cette discordance.
As-tu essayé avec « Alarme desarmee » Dans ton scénario?

Antoine

Bonjour,
Merci de ton aide,
Pour l’instant rien, mais la syntaxe doit pas être bonne…

Bonjour Antoine,
Oui je comprends que ça parait bizarre depuis l’extérieur, mais j’ai en fait essayé avec et sans majuscules, les résultats affichés sont à des moments différents c’est pour cela qu’il n’y avait pas les mêmes info.
J’ai énormément de mal a copié les logs de scenario (pour SMS aucun problème). Je suis dans firefox, je vais essayer un autre navigateur pour pouvoir apporter autre chose qu’un screen shot.

Pas certain que ce soit la bonne solution mais j’essayerais plutôt de cette manière:

SI variable(Statut_Alarme) matches "/desarmee/"

Je crois que tu as touché dans le mille!

[2020-05-14 09:27:46][SCENARIO] Réponse Alarme desarmee
[2020-05-14 09:27:46][SCENARIO] Exécution d'un bloc élément : 10
[2020-05-14 09:27:46][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-05-14 09:27:46][SCENARIO] Evaluation de la condition : ["Alarme desarmee" == "Aucune réponse"] = Faux
[2020-05-14 09:27:46][SCENARIO] Exécution du sous-élément de type [action] : else
[2020-05-14 09:27:46][SCENARIO] Exécution d'un bloc élément : 8
[2020-05-14 09:27:46][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-05-14 09:27:46][SCENARIO] Evaluation de la condition : ["Alarme desarmee" matches "/Alarme armee/"] = 0
[2020-05-14 09:27:46][SCENARIO] Exécution du sous-élément de type [action] : else
[2020-05-14 09:27:46][SCENARIO] Exécution d'un bloc élément : 11
[2020-05-14 09:27:46][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-05-14 09:27:46][SCENARIO] Evaluation de la condition : ["Alarme desarmee" matches "/Alarme desarmee/"] = 1
[2020-05-14 09:27:46][SCENARIO] Exécution du sous-élément de type [action] : then
[2020-05-14 09:27:46][SCENARIO] Affectation de la variable Présence_Variable => 1 = 1
[2020-05-14 09:27:46][SCENARIO] Fin correcte du scénario

Merci.
Pour le texte, il faut donc mieux privilégier le matches que ==?

Oui surtout quand il y a des espaces dans le texte. Dans l’absolu si ça ne fonctionne pas avec == il ne reste plus qu’à tester avec matches :yum:

ça fonctionne aussi avec ça

Oui car matches cherche si le retour contient la valeur demandée. vu que la différence se situe entre armee et desarmee il vaut mieux limiter la condition au nécessaire afin d’éviter tout bug potentiel.

1 « J'aime »

Ok, merci pour cette aide expresse.
En souhaitant une bonne journée à tout le monde. Je passe le sujet en résolu.

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