Contrôle d'un télérupteur

Effectivement, je suis passé par un scénario, cela fonctionne parfaitement.
J’ai un scénario que j’appelle et c’est dans la commande de mon virtuel que je configure l’appel au scénario et que je passe les tags nécessaires pour que le scénario agisse sur la bonne lampe avec la bonne action (on ou off)…
Je te partage ma conf dès que je rentre chez moi. Elle est surement perfectible dans le code. On pourra essayer de sortir un truc potable!

Voila mon bloc code du scénario :

// CMDINFO= CMDACTION= ONOFF=

$tags = $scenario->getTags();
$cmdInfo = $tags['#CMDINFO#'];
$cmdAction = $tags['#CMDACTION#'];
$onOff = $tags['#ONOFF#'];
$scenario->setLog($cmdInfo . ' ' . $cmdAction . ' ' . $onOff);
if ($cmdInfo != $onOff) {
  cmd::byString($cmdAction)->execCmd();
}

Peux tu également me montrer comment tu passes tes tags dans l’appel du scénario?
Tu as bien un seul scénario pour gérer tous tes poussoirs?
Et c’est dans le scénario que tu définis les déclencheurs ou bien dans chaque commande du virtuel que tu configures le scénario?

Voila ce que j’ai fait de mon côté:
Un scénario unique sans déclencheur configuré:

$tags = $scenario->getTags(); // Récupération des tags passés en paramètre.
if($tags["#etat#"]==0 && $tags["#commande#"]=="ON"){
	$commande="#".$tags["#objet#"]."#";
	$cmd = cmd::byString($commande);
	$cmd->execCmd();
	$scenario->setLog("On allume la lumière");
} elseif($tags["#etat#"]==1 && $tags["#commande#"]=="OFF"){
	$commande="#".$tags["#objet#"]."#";
	$cmd = cmd::byString($commande);
	$cmd->execCmd();
    $scenario->setLog("On éteint la lumière");
}

Et pour chaque commande ON et OFF de mes virtuels, j’appelle le scénario dans les paramètres de la commande.
Voici un exemple pour une commande ON:

C’est sensiblement la même chose :

Le virtuel.

L’appel du scénario pour l’action ON.

Les logs du scénario.

[2020-10-01 11:38:27][SCENARIO] Start : Lancement provoque. Tags : {"#CMDINFO#":"1","#CMDACTION#":"#6298#","#ONOFF#":"0"}
[2020-10-01 11:38:27][SCENARIO] Exécution du sous-élément de type [action] : code
[2020-10-01 11:38:27][SCENARIO] Exécution d'un bloc code
[2020-10-01 11:38:27][SCENARIO] 1 #6298# 0
[2020-10-01 11:38:27][SCENARIO] Durée d'exécution (depuis le 1er bloc code) : 26.38 millisecondes
[2020-10-01 11:38:27][SCENARIO] Fin correcte du scénario

Le résultat.

Capture d’écran du 2020-10-01 13-56-13