Bonjour,
Je fais un scénario en code qui doit attendre que la fenêtre soit fermée pour fermer le volet :
// récup tags
$tags = $scenario->getTags();
$tagVolet = trim($tags['#tagAction#'],'\"');
$cmdVolet = cmd::byString('#'.$tagVolet.'#');
$contOpen = trim($tags['#tagDo#'],'\"');
// attendre que le DO se ferme...
$condition = "#".$contOpen."#==0";
$scenario->setLog('Attente de '.$condition);
scenarioExpression::wait($condition,30);
// ... pour fermer le volet
$scenario->setLog('Volet : '.$tagVolet);
$cmdVolet->execCmd();
en pratique, scenarioExpression::wait()
attend toujours le timeout au lieu d’être passant à partir du moment où la condition est bonne.
[2020-08-24 21:55:14][SCENARIO] Start : Lancement provoque par le scenario : [test]. Tags : {"#tagDo#":"[Salon-S\u00e0M-Cuisine][vChaufRdC][openingDetected]","#tagAction#":"[Salon-S\u00e0M-Cuisine][vVolet S\u00e0M 2-3][setPositionCmdDown]"}
[2020-08-24 21:55:14][SCENARIO] Exécution du sous-élément de type [action] : code
[2020-08-24 21:55:14][SCENARIO] Exécution d'un bloc code
[2020-08-24 21:55:14][SCENARIO] Attente de #[Salon-SàM-Cuisine][vChaufRdC][openingDetected]#==0
[2020-08-24 21:55:45][SCENARIO] Volet : [Salon-SàM-Cuisine][vVolet SàM 2-3][setPositionCmdDown]
[2020-08-24 21:55:45][SCENARIO] Fin correcte du scénario
Qu’ai-je fait comme bêtise?
Merci d’avance