Pas de calcul de l'expression à l'affectation d'une variable

Bonjour,

Je suis en Jeedom version V4.2.14, et j’ai quelque chose qui ne fonctionne plus dans l’utilisation des variables. Je ne sais pas depuis quand.

Voilà, j’affecte une expression à une variable, mais celle-ci n’est pas calculé. Voici un scénario de test

Le résultat après lancement:

[2022-03-23 09:40:16][SCENARIO] -- Start : Scenario lance manuellement.
[2022-03-23 09:40:16][SCENARIO] - Exécution du sous-élément de type [action] : action
[2022-03-23 09:40:16][SCENARIO] Lancement du scénario :  TTS Message options : {"#TTSMessage#":"Essaye encore un peu","#Ou#":"Salon","#Urgence#":"0","#Volume#":"80"}
[2022-03-23 09:40:27][SCENARIO] Affectation de la variable HeureOuvVolet => (Travail + Ecole != "Vacances")? 705 : 1000 = (Travail + Ecole != "Vacances")? 705 : 1000
[2022-03-23 09:40:27][SCENARIO] Fin correcte du scénario

Et le résultat quand je teste dans le testeur d’expression:

Je ne sais pas si le problème est apparu avec la V4.2, mais je peux dire qu’auparavant cela fonctionnait bien.
Y a t’il quelqu’un qui a constaté le même problème? Est ce inhérent à mon Jeedom? Quelqu’un pourrait il faire un test similaire pour voir s’il reproduit le même problème?

Merci d’avance

de toute evidence, c’ets un pb de quote lorsque c’est lancé via un scenario
As-tu essayé d’activer les quotes automatiques dans les paramétrages :

réglages >> Systeme >> Configuration >> Equipement

Merci pour ton retour.

Les quotes automatiques sont déjà cochées

La même condition dans un IF, fonctionne bien:

Voici le résultat

[2022-03-23 10:14:00][SCENARIO] Evaluation de la condition : [("Travail + Ecole" != "Vacances")?0705:1000 == 0705] = 705
[2022-03-23 10:14:00][SCENARIO] - Exécution du sous-élément de type [action] : then
[2022-03-23 10:14:00][SCENARIO] Exécution d'un bloc élément : 1738
[2022-03-23 10:14:00][SCENARIO] - Exécution du sous-élément de type [action] : action
[2022-03-23 10:14:00][SCENARIO] Affectation de la variable HeureOuvVolet => 0705 = 705
[2022-03-23 10:14:00][SCENARIO] Fin correcte du scénario

petite question … n’interprete-t’il pas le « Travail + Ecole » comme une expression ==> absence de quotes
Peux-tu essayer de voir les logs si tu remplaces Travail + Ecole en Travail_Ecolec par exemple

(ca ne règle pas la question : pourquoi l’interpretation de la chaine ne semble pas être la même entre le scenario et le testeur d’expression !)

Oui, j’ai déjà essayé cela. Cela ne change rien. J’ai remplacé Travail + Ecole en Vacances

[2022-03-23 10:19:33][SCENARIO] Affectation de la variable HeureOuvVolet => (Vacances != "Vacances")?0705:1000 = (Vacances != "Vacances")?0705:1000

Pourrais tu faire un test similaire sur ton Jeedom?

Je confirme le disfonctionnement chez moi si on est sur de la comparaison de texte (comportement different enter l’interpretation dans le scenario et dans le testeur d’expression

j’ai néanmoins réussi à faire fonctionner si on met des simples quotes autour des 2 chaines :

('#[Salon][Vanne2][Mode du système (Valeur)]#' == 'auto' )?0750:1000
------------------------------------
[2022-03-23 10:31:35][SCENARIO] -- Start : Scenario lance manuellement.
[2022-03-23 10:31:35][SCENARIO] - Exécution du sous-élément de type [action] : action
[2022-03-23 10:31:35][SCENARIO] Affectation de la variable Test_expression => ('auto' == 'auto' )?0750:1000 = 750
[2022-03-23 10:31:35][SCENARIO] Fin correcte du scénario

Je laisse quelques experts indiquer si c’est un bug ou pas. A minima, la différence de comportement entre les 2 interprétations en est 1 pour moi

1 « J'aime »

Merci pour ton essai. Et l’alternative avec les simples quotes.
Pour moi aussi, je considère cela comme un bug. Mais effectivement, les experts trancheront

Je ne sais jamais, Dans ce cas là comment soumettre le bug. faut-il flaguer un dev ?

Je crois que ce n’est pas bien d’apostropher un dev. Espérons que quelqu’un passera par là. Où, il faut faire un ticket. Mais moi, je ne peux pas en faire.

Je crois que kiboost aime bien le #v4_2 ???

Merci pour le tag

1 « J'aime »

J’ai connu ce genre d’aberrations avec des tags et des variables

Le problème est que la variable reste considérée comme une chaîne de caractère, soit un mot. Donc, pas de calcul effectué par la suite, juste des concaténations de caractères qui peuvent se transformer en phrase infinie en cas de calcul récursif !

Oui, la solution avait été de mettre des simples quotes sur les nombres.
Depuis, je ne fais plus de calcul, car pas confiance.

Merci pour toutes ces informations. J’ai parcouru tous les fils que tu m’as donné. Je vois que c’est très très compliqué.
Du coup je ne suis plus si sûr que cela ait fonctionné un jour. J’ai d’autres affectation de variable qui utilise des numériques depuis très longtemps et qui fonctionnent. Peut-être que celle avec un string n’est pas si ancienne que cela.
Donc j’en conclue que cela a peu de chance d’évoluer.

Tu peux aussi supprimer cette manière d’affecter les valeurs a des variables en remplaçant par un SI ALORS SINON

Oui, je sais. Sauf que j’utilise cette fonctionnalité dans le plugin Agenda pour les actions à exécuter. Alors il est toujours possible d’exécuter un scénario, mais cela complexifie le fonctionnement.
Après, je connais les alternatives. Mais je voulais remonter le problème car cela ne me semble pas normal et comme j’étais persuadé que cela fonctionnait auparavant.

1 « J'aime »