Hello,
J’utilise beaucoup les variables et je vais te donner un exemple. On peu évidemment faire la même choses avec des virtuelles (pour stocker une valeur) mais ça nécessite de créer autant de virtuelles que d’informations contenant une variables. Non seulement ça te fait perdre du temps mais en plus, la Doc indique clairement que les virtuelles sont à utiliser avec parcimonie. Pour ma part, les variables sont essentielles dans de nombreux scénarios, je doit en avoir pas loin d’une trentaine, alors je te laisse imaginer si j’avais utilisé les virtuelles.
J’avais un besoin (ou plutôt une recommandation de ma femme
) qui était d’envoyer le robot aspirer l’entrée et la buanderie 5 minutes après que je sois rentré du boulot. Les 5 minutes me permettent d’avoir le temps de me déchausser, de me laver les mains et de ranger d’éventuelles affaires qui traînent à l’entrée sans avoir le robot dans les pattes.
Mes horaires sont fixes, mais mon heure d’arrivée à la maison est variable. Je peux quitter plus tard, faire des courses ou aller à un rendez-vous avant de rentrer. Pour que l’automatisation ne s’exécute que lorsque je rentre du boulot et non pas à chaque fois que je rentre à la maison, il m’a fallu informer le système que je rentre du travail et pas seulement que suis « présence à la maison ».
Ainsi, dans mon scénario de programmation quotidienne qui programme diverses tâches à 3h00 du matin pour anticiper la journée, dont la programmation automatique des réveils en fonction des jours ou non jours de travail, ça définit une variable travail à « 1 » si c’est un jour de travail.
Dans le scénario qui détecte mon absence, ça vérifie la variable « travail ». Si la variable « travail » est égale à 1, alors dans 15 minutes, ça passe la variable « nettoyage » à 1 (signifie que je me suis absenté pour aller travailler), j’utilise une temporisation de 15 minutes afin de ne pas démarrer le robot aspirateur si j’oublie quelque chose qui me ferait revenir à la maison avant de partir au travail.
Ensuite, lorsque je suis détecté présent à la maison en rentrant du travail, le scénario vérifie la variable « nettoyage ». Si la variable « nettoyage » est égale à 1 (signifie que je rentre du travail), alors le robot aspirateur nettoie l’entrée et la buanderie dans 5 minutes. Ensuite, la variable « nettoyage » est remise à 0. Ainsi, je peux sortir de la maison après le travail, et en rentrant, le robot ne se lancera pas, car il s’est déjà lancé, la variable « nettoyage » étant à 0, le système sait que je ne rentre pas du travail mais que je rentre simplement.