Erreur de syntaxe incompréhensible dans un scenario

Bonjour,
Ayant le problème de blocage des scénarios apd 1er janvier 2023 j’ai écrit un scenario très court qui crée une variable et lui affecte la valeur d’une commande issue du plugin Teleinfo, crée une seconde variable « message » composée d’un texte suivi de la valeur de la variable ci-avant et se termine par la création d’un log. Voici ce que je reçois comme erreur:

[2023-01-06 16:03:54][SCENARIO] -- Start : Scenario lance manuellement.
[2023-01-06 16:03:54][SCENARIO] - Exécution du sous-élément de type [condition] : if true
[2023-01-06 16:03:54][SCENARIO] syntax error, unexpected '='
[2023-01-06 16:03:54][SCENARIO] - Exécution du sous-élément de type [action] : else
[2023-01-06 16:03:54][SCENARIO] Fin correcte du scénario

Je ne vois nulle part ce signe « = », d’où pourrait venir cette erreur? Je trouve ce même genre d’erreur dans d’autres scenarios qui fonctionnaient sans problème avec la version précédente de Jeedom. Je viens de mettre à jour Jeedom vers la version 4.3.12 (venant de 4.0.x).

Merci pour votre aide,
Richard

Bonjour

faut une image de votre scenario

c’est quoi votre condition if ?

IF true

Mais ceci dit, la même erreur apparaît dans d’autres scenarios où il n’y a pas de « IF »

1 « J'aime »

je vois pas comment cela à pu fonctionner, qu’est ce qui doit être TRUE ?

vous testez quelle commande ?

vous devriez avoir une condition du type : #[ouverture][porte][etat]# == 1

La condition « true » je l’avais trouvée il y a pas mal de temps sur Internet comme exemple d’un bloc à exécuter d’office. Je reconnais que c’est superflu mais cela fonctionne chez moi apparemment.
Je l’ai remplacée par une condition liée à une commande que j’utilise dans d’autres scenarios:
#[Linky][041876184852][EJPHN]#>=0
et voici le résultat:


J’ai d’autres scénarios sans aucune condition qui génèrent la même erreur, par exemple

qui génère

Bonjour,

Il faudrait aller vérifier si la case de « Quote automatique » est bien cochée dans Réglage > Système > Configuraton, onglet Equipements

image

1 « J'aime »

Bonjour,

Oui c’est bien coché.

J’étais en V4.0.xxx (je ne me rappelle plus très bien) mais la fin de vie 2017 + 6 était encore présente, je l’ai modifiée comme suggéré.

Merci

Très curieux quand même. Je tenterais un reboot de ton Jeedom et un Ctrl+F5 une fois rebooté (histoire de bien forcer un rafraichissement sans cache).

Une capture de la page santé donné quoi ?

Voilà, c’est fait.

Voici la page santé de Jeedom, les 2 plugins sont OK.

Mais j’ai une autre erreur mais je ne sais pas si c’est lié (je ne pense pas): lorsque je teste l’expression
round(#[Linky][041876184852][EJPHN]#/1000,0) une erreur « serveur » apparaît

Bizarre. De plus mon scenario de test qui utilise la commande #[Linky][041876184852][EJPHN]# ne reçoit aucune valeur, tandis qu’un autre scenario (« ancien ») l’obtient, mais dans le log l’affectation de cette commande à une variable locale du scenario n’est pas listée et remplacée par la fameuse erreur Syntax error, unexpected ‹ = ›
Je suis perplexe, cela faisait bien 2 ans que mon installation de suivi Linky fonctionnait sans anicroche mais depuis le 1er janvier 2023 je galère…
Merci en tout cas

J’ai déjà rencontré cette erreur 500 sur une commande n’ayant pas d’historique mais je pense que @Phpvarious avait poussé un PR.

Je reviens sur mon message précédent: je constate qu’en attribuant le même nom de variable locale dans mon scenario de test que celui que j’utilise dans un autre scenario pour recevoir la valeur de la commande #[Linky][041876184852][EJPHN]# cette valeur est bien reçue alors qu’avec un nom différent pour cette variable aucune valeur n’était reçue. Est-ce à dire que l’étendue (le « scope ») d’une variable de scenario n’est pas limitée à ce scenario et que la valeur d’une commande ne peut être lue que pas une seule variable de scenario? Autrement dit si j’utilise le nom « ABC » pour une variable dans un scenario pour y recevoir la valeur d’une commande je serai obligé de nommer « ABC » toutes les variables dans les autres scenarios qui reçoivent la valeur de la même commande?

1 « J'aime »

Non tu peux attribuer à une variable ce que tu veux.
Montre à nouveau capture des scénarios (complet) et logs.

Je reviens à nouveau sur mon mail précédent. En fait la valeur que je croyais être la bonne n’est en réalité que la dernière valeur de la variable de « l’autre » scenario et qu’en nommant de la même façon la variable dans mon scenraio de test je ne faisais que récupérer la valeur de cette « autre » variable. Ce n’est pas très limpide ce que je dis…
En résumé, bien qu’étant tenue à jour par le plugin « Teleinfo » la valeur de la commande #[Linky][041876184852][EJPHN]# n’est plus reçue dans mes scenarios. Y a-t-il qqchose à vérifier/modifier pour résoudre ça?

Merci d’avance.

Qu’est ce que ça donne dans le testeur d’expression déjà cette commande #[Linky][041876184852][EJPHN]# ?

Oui, en fait mes déductions (erronées) étaient faussées par le fait qu’en nommant ma variable de test comme une variable d’un autre scénario j’avais eu l’impression que ça fonctionnait mais en réalité je ne faisais que récupérer la valeur de cette autre variable. Le problème demeure: la lecture d’une commande dans mes scénarios ne me retourne rien, ou plus exactement (ça je viens de le constater à l’instant en déplaçant la première variable en 2ème position) c’est seulement la première variable déclarée en tête de scenario qui ne reçoit rien à cause de l’erreur "Syntax error, unexpected ‹ = › ". cette erreur empêche la première action de s’exécuter à mon avis. Je peux contourner le problème en créant une première action « bidon » qui sert de masque pour l’erreur mais j’aimerais autant que cette erreur disparaisse bien entendu.
Je me disais bien que les variables pouvaient être nommées comme on le désirait dans chaque scenario.

Pas de résultat et la fenêtre rouge « 500 Internal server error » en bas à droite de la page.

Attention, les variables sont globales.
Pour utiliser des valeurs locales à un scénario, il faut utiliser les tags