Hello,
J’utilise le module zigate et j’ai ajouter le Hue dimmer switch. Je reçois bien les commandes quand je presse les bouttons, mais ils ont les valeurs 0! ou 0 ! (ce que je vois dans le log), comment faire le test de la valeur dans les scénarios?
J’ai essayé plusieurs chose, comme == ‹ 0! ›, ou == « 0! » mais c’est toujours invalide. Donc dans mon cas la condition est: #[Bureau][Switch_hue][button_down]# == « 0! ». Mais ça ne marche pas.
Je pourrai ne pas mettre de condition, mais je reçois 3 messages à chaque fois que je presse sur un bouton, du coup ça me lance 3x le scénario :-/
Merci pour votre aide
A+
Bonsoir,
Sans parler des logs, qu’as-tu comme résultat quand tu fais « Tester » sur une commande?
Bonsoir,
Désolé, je suis nouveau dans jeedom. Qu’est-ce que tu entends par « Tester »? Comment je peux tester un évènement?
Quand je presse sur le bouton de la télécommande hue, dans le log, je vois ces 3 messages:
[2020-01-02 22:08:21][INFO] : Evènement sur la commande [Bureau][Switch_hue][button_up] valeur : 0!
[2020-01-02 22:08:21][INFO] : Evènement sur la commande [Bureau][Switch_hue][button_up] valeur : 0!
[2020-01-02 22:08:23][INFO] : Evènement sur la commande [Bureau][Switch_hue][button_up] valeur :
Merci pour ton aide
Tu vas sur ton équipement dans le plugin domotique.
Ensuit onglet commande.
Là tu cliques sur chacun des boutons Tester complètement à droite de chacune des lignes.
A chaque clique, en plus de l’action sur l’équipement, le résultat est affiché.
Tu sauras exactement ce que les commandes envoient.
J’ai pu faire le test, cela affiche bien 0! comme dans le log.
C’est une chaine de caractère? Est-ce qu’il y a une façon particulière dans jeedom pour comparer ça?
Je dis peut-être une bêtise mais est-ce que le caractère ! ne serait pas un caractère spécial comme ’ ou ".
Si oui, il faudrait alors l’encadrer,
Je n’en suis pas sûr.
Sinon, un test c’est bien ==
J’ai pu récupérer la valeur de retour de la commande dans une variable. Donc la valeur 0 !.
Puis j’ai utilisé cette variable dans la condition if. Mais il me vient:
[2020-01-02 22:26:34][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-01-02 22:26:34][SCENARIO] Evaluation de la condition : [0! == 0!] = 0! == 0!
[2020-01-02 22:26:34][SCENARIO] Expression non valide : 0! == 0!
Une idée pourquoi c’est non valide?
Essaie peut-être avec ===
Non, ca ne marche pas.
Je vais aller y réfléchir au lit
Si quelqu’un a une idée, merci pour votre aide.
Je pense à un truc, le ! est bien un caractère spécial.
Il correspond au NON.
Donc, il faut absolument faire en sorte que ça soit un caractère interprétable
Salut,
Le point d’exclamation devant le signe ==
il ne doit pas apprécier… essayes peut-être 0\!
mais sans conviction.
Il doit manquer des guillemets aussi je pense : '0\!'
Tu n’as pas moyen de récupérer autre chose que 0!
dans ta variable? Avec un str_replace
au pire ?
Le problème c’est que ce n’est pas une variable mais le résultat d’une commande.
Peut-être à traiter par script plutôt que par scénario
Ce message m’a induit en erreur… mais du coup autant profiter de la variable (dont je n’ai pas compris l’intérêt) pour remplacer le point d’interrogation par rien avec un str_replace
Édit: effectivement je n’avais pas lu le début du post
Je confirme, ton test doit être : == ‹ 0/! ›
J’ai trouvé ça, pas très élégant mais fait le job :
"str_replace("!", "",#[Bureau][Switch_hue][button_up]#)" != """"
On dirait qu’il y d’autre caractères non visibles dans les logs