Bonjour,
Je voudrais réaliser une action si un appareil est eteint plus de 5mn mais je ne sais pas quelle fonction utiliser
Si je fais :
Si prise un 0 alors DANS 5mn prise OFF
ce n’est pas terrible car il programme l’action meme si je rallume l’appareil entre 2
Comment puis je faire pour que lorsque l’appareil est à 0 plus de 5mn la pirse s’eteigne?
Si tu veux un truc précis à la seconde près, c’est la proposition de @Mips
Exemple concret avec une porte virtuelle qui s’ouvre en même temps que la vraie porte mais qui se ferme 35 secondes après la que la vraie porte soit fermée. Et si on re-ouvre la vraie porte avant les 35 secondes, la porte virtuelle s’ouvre aussitôt.
Et ben tu ferais bien parce que utiliser un wait pendant 5mn (la demande initiale) ça met, si je ne m’abuse, en pause le scénario pendant les 5mn potentielle et monopolise donc un thread qui ne pourra pas être disponible pour d’autres tâches pendant pas mal de temps .
Je suis bien d’accord avec toi sur ce que veux l’utilisateur et je me suis souvent fait la remarque que le core (Jeedom) devrait retravailler cette possibilité d’action sur valeur en terme de visibilité et de précision car les exemples que tu cites sont très utilisés en domotique et aller chercher ça dans les fonctionnalités avancées d’une commande ce n’est pas génial (d’autant plus que le résultat n’est effectivement pas très précis) !
On n’est pas à un thread près (surtout qu’il y en a des milliers de dispo).
Le problème du wait (pour moi) c’est que c’est une boucle while avec sleep(1) et test de la condition.
Tu as donc 1 test de fait toutes les secondes …
Donc à utiliser que si c’est vraiment ce qu’il y a de plus pratique/approprié.