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.
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 :
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 ?
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)
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
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.