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