J’ai un Virtuel avec 2 commandes « activé » et « désactivé »
J’aimerai que lorsque je clique la commande « activé », celle ci reste active 10 minute et passe a désactivé… jusque’ a la avec une scénario qui declanche sur changement d’état, un sleep de 600 seconde et une commande désactivé je m’en sort.
Ou ca se complique, c’est que j’aimerai que dans la phase des 10 minutes, si j’appuis une 2ème fois, sur « Activé », je recommande le décompte des 10 minutes… Mais la ou je bloque c’est au niveau du déclencheur… je n’aurai aucun changement d’état… dans se cas la…
Sinon, en bloc code, tu peux reprendre celui de @Jeandhom :
// honteusement pompé dans /var/www/html/core/class/scenarioExpression.class.php:1540:
// $idScenario : N° du scénario qui a lancé les blocs A ou DANS
$idScenario = '119';
$crons = cron::searchClassAndFunction('scenario', 'doIn', '"scenario_id":' . $idScenario . ',');
if (is_array($crons)) {
foreach ($crons as $cron) {
if($cron->getPID() == getmypid()){
continue;
}
$cron->remove();
}
}
Et au lieu de faire avec ton virtuel qui ne change pas, tu peux pas déclenché avec ton « clic » ? et ensuite tu testes l’état du virtuel pour voir si tu repars pour 10min par ex ?
Il te suffit de faire un switch virtuel avec une info virtuelle etat et 2 commandes virtuelles on et off pointant sur etat.
Par la suite, le déclencheur de ton scénario peut être le changement de l’info etat.
En créant un virtuel comme celui-ci, cela revient à créer un switch virtuel.
Après, tu le gères comme tu l’entends en testant l’état du switch (0 ou 1).
Oui. C’était pour vérifier si mon virtuel était ok. J’ai un dimmer switch hue qui passe par zigbee2mqtt. J’ai fais un virtuel pour les info et commande du hue. J’ai un problème de retour d’état qui change pas. J’ai fais les modifications mais je suis au bureau, donc je peut pas tester si tout est OK
Effectivement, on ne peut sélectionner qu’une info.
En fait , pour résoudre le problème, il suffit de faire exécuter le scénario après (ou avant) exécution de la commande dans l’onglet configuration de chacune des commandes.