Faire une action suivant la valeur d'une variable

bonjour,

je suis a la recherche d’une méthode simple pour lancer une action suivant la valeur d’une variable. Par exemple :
test de la variable « température voulue »
cas « température voulue »=19 : lancer scénario clim 19
cas « température voulue »=20 : lancer scénario clim 20
cas « température voulue »=21 : lancer scénario clim 21
etc…

si qqu’un a une idée …

Salut,

Les scénarios semblent tout indiqué à cette usage

Pour commenter le précédent message, dans ton scénario, tu mets :
SI température == 19 scenario clim19 start
SINON
SI …

@Salvialf : effectivement, d’où mon post dans cette rubrique …

@mich0111 : C 'est précisément ce que je veux éviter… il est probable que je choisisse mes chaines de tv également :wink:

Un switch en bloc code alors

oui, j’en ai peur mais pouvez vous m’en dire plus ? dans quelle direction chercher ?

Dans l’idée:

$value = cmd::byString('#[objet][équipement][température]#')->execCmd();
switch ($value) {
Case 19: scenario::byId($ID_SCENARIO1)->launch();
break;
Case 20: scenario::byId($ID_SCENARIO2)->launch();
break;
etc.............;
default: xxxxxxxxxxxxxxxxxxxxxx; //action par défaut si les cas ne sont pas vérifiés
}

https://jeedom.github.io/documentation/phpdoc/namespaces/default.html

ah oui !!! je vais pouvoir avancer avec ces infos !! merci !

« break » redonne la main a jeedom, c’est ça ?

dans l’idée oui le break empêche de continuer à vérifier les conditions suivantes si l’une d’entre elles s’est réalisé.

Je reste précautionneux dans mes dires car je me suis mis au PHP il y a seulement quelques jours. :slightly_smiling_face:

En fait, le break te fait sortir du switch et continue l’exécution après le switch.
Si tu ne le mets pas, il exécutera le prochain case.
C’est d’ailleurs comme ça qu’on peut programmer un code avec des case différents exécutant la même séquence.

je teste ça dans la semaine …

Bonjour, je ne sais pas si c’est le bon endroit pour le soucis que j’ai avec la fonction str_replace. Ci-dessous mon scénario ainsi que le message d’erreur dans le log. Cela fait plusieurs jours que je tourne en rond; Si vous pouvez m’aider, ce serait top.
Merci d’avance.


Sans savoir ce que tu veux faire précisément la fonction str_replace une chaîne de caractères par une autre.
Pas dans un bloc SI entre autre.
Et il y a une parenthèse ouvrante et un fermante.

Merci beaucoup, j’avais juste oublié de fermer la parenthèse. Pour info rien n’interdit de mettre une fonction str_replace dans un bloc SI.
Merci encore.

Non rien ne l’interdit mais ça ne facilite pas la lecture.
Bonne soirée

Bonsoir,
Peux-tu fermer ce sujet assez vieux resté ouvert?
Bonne soirée

1 « J'aime »

Merci.
Ces 10 caractères c’est bien casse-pieds.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.