Bonjour
J’ai trouvé sur le forum un code de Timer générique que j’ai adapté pour mes besoins .Malheureusement les données ne remontent pas dans mon plugin virtuel .Les informations sont bien présentent dans ce bloc code (passage de 0 à 1 et 1 à 0 pendant 5 secondes ) mais c’est tout .Pas de changement d’état sur ma commande info, pourtant je vois bien un changement de couleur passé sur cette commande info?
Quelqu’un pourrait 'il me conseiller sauf erreur de ma part sur les les 2 dernieres lignes qui pose problème à priori ?
D’avance merci
$cmd_Tempo='#[Etage][Etat_Velux][TempoVelux]#';//info plugin virtuel nombre maxi à decrementer en secondes
$cmd_Flag='#[Etage][Etat_Velux][Flag1]#';//info plugin virtuel 1 (fin timer)/ 0 (début timer)
$Tempo=cmd::byString($cmd_Tempo)->execCmd(); // recuperation data du plugin virtuel.
$var_Timer='Timer';//declaration variable dans script
$var_Flag='Pointeur';//declaration variable dans script
$scenario->setData($var_Flag,1);
$scenario->setData($var_Timer,$Tempo);
$scenario->setLog('le nombre de Timer est'. $scenario->getData($var_Timer));
do{$scenario->setData($var_Timer, $scenario->getData($var_Timer) - 1);sleep(1);}// On boucle autant de fois que nécessaire jusqu'à atteindre 0
while($scenario->getData($var_Timer) > 0);
cmd::byString($cmd_Flag)->event($var_Flag);//envoi 1 dans le plugin virtuel
//$scenario->setLog('le nombre Flag est'. $scenario->getData($var_Flag));
var_dump(time_sleep_until(microtime(true)+5));//stop script pendant 5s
//$scenario->setLog('le nombre Flag est'. $scenario->getData($var_Flag));
$scenario->setData($var_Flag,0);//Pointeur à 0
cmd::byString($cmd_Flag)->execCmd($var_Flag);//envoi 0 dans pluin virtuel
//$scenario->setLog('le nombre Flag est'. $scenario->getData($var_Flag));