Comparaison de string ou de tag dans un scenario

Bonjour,

Je suis en train de devenir complètement dingue car je ne comprends pas comment comparer deux chaines de caractères dans un scenario.

Je voulais faire cela à partir de variables (bêtement) du type

SI $string1 != $string2

ça ne fonctionne pas. Je lis ailleurs qu’il faut employer des tags (pourquoi donc, se le demande):

SI #string1# != #String2#

De toute façon ça ne marche pas plus. Je lis ailleurs, qu’il faut employer matches ou not matches. Je n’ai pas essayé mais la doc reste silencieuse sur la différence entre != et matches. Est-ce l’un pour les variables numériques et l’autre pour les chaines de caractères.

Si quelqu’un à la réponse à ce problème basique, ça m’éviterai de m’arracher le peu de cheveux qu’il me reste.

Merci à tous,

Bonjour,

Ceci est à utiliser dans un bloc code du scénario, est-ce que c’est ce que tu fais ?

$string1 != $string2

Si tu n’utilises pas de bloc code alors il faut utiliser des « tag » (qui sont des variables non stockées et utilisable le temps de l’exécution du scénario.

Donc définir des tag en premier via des actions puis les comparer :

Oh !!! Merci Merci … :pray: :pray: :pray:

je teste ça tout de suite !!!

Merci encore… ça marche parfaitement:

Si j’ose abuser, j’entrevois cependant un possible souci : le scenario ne s’exécute que selon un cron c’est-à-dire de temps en temps. Comme les tags ne sont définis - d’après ce que j’ai lu - que le temps de l’exécution du scenario, je crains que la mémoire des valeurs de ces tags ne se perdent d’une exécution à l’autre.

Ne faudrait-il pas transférer ces tags dans des variables globales ? Et si oui, comment ?

Merci encore pour votre solution.

Si tu as besoin de pouvoir récupérer ces informations d’une exécution à l’autre il faut effectivement qu’elle soit conservées et définir des variables donc utiliser variable et non tag (pour les enregistrer et pour les lires)

1 « J'aime »

Super !! J’espère que ça fonctionne pareil avec variable(string1) à la place de tag(string1).

Merci pour tout !

Oui en définissant des variables à la place des tags :

Par contre c’est plus gourmant car cela sollicite la base de données en écriture / lecture, ce qui n’est pas le cas des tag.

La bonne pratique est donc de ne pas utiliser des variables systématiquement mais n’en utiliser que si le contenu doit subsister d’un appel de scénario à l’autre :slight_smile:

Parfait. Je vais donc tenter d’être sobre.

Cela devrait être le cas car - comme vous l’avez peut-être compris à la lecture de mon scénario - je souhaite que l’information de l’état de la led luna ne soit modifiée que lorsque le bilan d’énergie de mes panneaux solaires change (import d’électricité, export ou utilisation tierce). Ces changements ne devraient pas être trop fréquents.

Merci pour tout.

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