Php/Ternaire dans champ message

Hello amigos,

J’ai vu un sujet de 2021 que je n’ai pas voulu relancer.

Je souhaite créer une cmd action toggle, en pensant pouvoir réutiliser une infos Statut binaire pour exécuter son inverse

j’ai donc commencé par essayer bêtement :

not(#[ma cmd qui va bien]#)

mais sans succès,

puis j’ai tenté ma chance avec un ternaire :

(#[ma cmd qui va bien]#==1) ? 0 : 1

mais pas mieux, dans les logs j’obtiens :

with options : {"background":"0","title":"go_baby","message":"(0 == 1) ? 0 : 1"}

  • est ce voulu ?
  • si oui, puis je ajouter qlq chose côté plugin pour « exécuter » (si nécessaire) ce qui est présent dans le champs message
  • autre idée ? :slight_smile:

merci,

Bonjour,

dans le principe j’essaierais avec

1 - intval(#[commande]#)

juste pour voir ce que ça donne

Bonjour,

j’ai fait un toggle vituel il y a 1 semaine pour mon chauffe eau.

C’est bien not() qu’il faut utiliser :

Mes infos dans le not() sont en type binaire

Une idée :

  • Peut être que ca marche pas dans les actions après commande?
  • Dans ce cas créer un virtuel et tu l’actionnes dans ta commande après exécution.

Je me demande s’il faut pas évaluer le message comme ça :

jeedom::evaluateExpression($message)

Dans ton code du plugin si j’ai bien compris ta question

Resultat :

"message" : "1-intval(0)"

si de base ca n execute rien, je ne vois pas pk la soustraction serait faite sans « rien faire de plus » !? :slight_smile:


Ca ne repond pas a ma demande :slight_smile:
→ je parle du champ « message » d une commande « action/message »
Et non pas de la valorisation d une info dans un virtuel (qui ne sera mis a jour que toutes les minutes) et dans lequel les ternaires fonctionnent :wink:

1 « J'aime »

Yes c est aussi ce que je me disais comme plan Z (dans le plugin)

Mais je me demandais si c etait « normal » que ca ne soit pas directement fait par le core, tout le temps…?!
Edit : ou plutot si yavait une raison

Question optimisation je suppose pour ne pas sur-évaluer les valeurs qui n’ont pas besoin de l’etre