Je souhaiterai connaitre le temps en seconde de la dernière exécution d’une action d’un équipement RFXcom.
Le contexte :
Madame et moi partons ou rentrons à la maison dans le même véhicule et Jeedom lance la fermeture du portail dès que l’un de nous sort de la zone.
Le soucis c’est que si on sort ensemble, l’action fermeture portail est lancé 2 fois ( le portail est commandé en RFXcom et c’est la même commande (action portail) qui ouvre ou ferme le portail).
L’action ouverture et fermeture n’est pas dissociable car c’est une impulsion d’une télécommande.
Donc ce qui se produit quand on part ensemble c’est « fermeture » - « ouverture » provenant de nos 2 départs ou arrivées en moins de quelques secondes, ce qui a pour effet d’arrêter le portail lors de l’ouverture ou la fermeture, quand on arrive ou l’on part.
On à chacun un scénario pour nos départs et la parade que j’ai trouvé c’est que chacun des scénarios vont checké l’autre avec " si lastScenarioExecution(#[départ][moi][gestion depart]#) < 120 " alors n’exécute pas l’action dans le scénario de l’autre sur le portail et ça fonctionne la plupart du temps.
Mais pas toujours.
Ne peut-on pas avoir l’information de la dernière exécution de l’action ouverture portail directement ?
ps: j’ai un capteur d’ouverture sur le portail mais son état change pas instantanément donc je ne peux pas utiliser « lastChangeStateDuration( » du capteur.
stateDuration(commande) : Donne la durée en secondes depuis le dernier changement de valeur. -1 : Aucun historique n’existe ou la valeur n’existe pas dans l’historique. -2 : La commande n’est pas historisée.
lastChangeStateDuration(commande,valeur) : Donne la durée en secondes depuis le dernier changement d’état à la valeur passée en paramètre. -1 : Aucun historique n’existe ou la valeur n’existe pas dans l’historique. -2 La commande n’est pas historisée
Vous pouvez créer un virtuel qui sera MAJ par votre commande d’ouverture et réinitialisé par l’état du capteur ?
Mais comme je disais, je ne peux pas me fier à l’information de l’état du portail avec ses capteurs car le changement n’est pas instantanée (due à la prise en compte de la commande par le portail et sa motorisation qui se met en action pour l’ouvrir)
Et l’envoi de l’action d’ouverture pour nos 2 départs peuvent être de moins d’une seconde d’écart.
L’idéal ce serait d’avoir l’instant de l’impulsion pour éviter que cette impulsion soit redemandé si le scénario de départ se déclenche à nouveau dans la foulée
Merci @J2B , j’ai fait avec une variable qui passe à 1 pendant 20 seconde, le temps de l’action.
Les scénarios viendront vérifier cette variable avant de se lancer.