Déclencheur si pas de changement d'état

Bonjour,

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…

Avez vous des idée ?

Merci

Salut,
Tu dois faire remove_inat() afin d’annuler le premier sleep et relancer un nouveau sleep.

Bonjour,

Regarde ce fil, je pense qu’il se rapproche de ce que tu veux faire:

OK aussi avec @mich0111

en action ?

oui regarde dans le fil avec les captures…

La fonction remove_inat() est une fonction qui tu places dans un scenario et qui arrêtes l’instance du scénario.

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();
  }
}

Merci, mais sur le virtuelle en lui même, si il est déjà sur 1, il n’y aura pas de changement d ‘état à détecter pour lancer le scenario…

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 ?

Comment faire avec mon clic ? La je m’en suis sortie avec mon virtuel en cochant « autoriser les répétition » dans l’info du virtuel…

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.

Bonjour mich0111

Peux-tu donner un exemple svp pour la commande qui pointe vers l’état et le déclancheur.

Merci

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).

Tu appuies sur on, etat = 1, sur off, etat = 0

ok merci pour tout

Finalement, es-tu parvenu à faire ce que tu voulais?

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

Merci

Oui mais si je suis déjà à 1 et que je reclic sur 1, comment fais tu pour le faire prendre en compte dans un scenario ?

Si tu mets les commandes au lieu de l’état en déclencheurs, ça donnerait quoi ?
Je n’ai pas testé

il me semble qu’on en peut pas sélectionner les commandes …

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.