Accueil » Domotique » Jeedom » Guides Jeedom » Les scénarios Jeedom : La notion de temps
Guides Jeedom

Les scénarios Jeedom : La notion de temps

guide-jeedom-scenario-variable-time-temps-njours
Jeedom dispose d'un moteur de scénario très puissant et flexible. Les possibilités y sont très nombreuses, peut-être trop même, de quoi semer la confusion et se perdre dans toutes ces possibilités...

Heureusement, je suis moi aussi passé par là, j’ai longtemps cherché comment faire telle ou telle chose dans un scénario Jeedom, c’est pourquoi je vous propose cette nouvelle série de guides sur les scénarios Jeedom.

Le sujet de ce guide est donc la notion de temps dans les scénarios. Rien que sur cette notion temporelle, les options qui s’offrent à nous sont déjà nombreuses. Voyons alors ensemble quelques cas et mises en situations. Vous devriez alors y voir plus clair et pouvoir vous appuyer sur les exemples ci-dessous pour configurer vos scénarios.

Exécuter un scénario Jeedom un jour bien défini

Pour exécuter un scénario Jeedom, depuis le moteur de scénario, vous avez deux options: provoqué ou programmé. La programmation répond au besoin actuel puisque cette option va permettre de définir une date et une heure précise pour le démarrage de votre scénario.

Ce mode de déclenchement unique peut être utile pour démarrer le chauffe-eau le matin de votre retour de vacances par exemple, ou toute autre action très ponctuelle. Afin de mettre en place un scénario programmé, procédez comme ceci :

1. commencez par créer un nouveau scénario puis choisissez programmé dans le mode de scénario.

jeedom-scenario-temps-jour-heure-programmé

2. Une nouvelle option apparaît en dessous, il s’agit ici d’indiquer la date et l’heure souhaitée pour le démarrage du scénario selon la syntaxe cron. La crontab est le planificateur de tâche des systèmes Linux. Jeedom étant basé sur Debian, il n’est donc pas étonnant de retrouver cette syntaxe ici.

scenario-Jeedom-programmation-assistant

Pour plus de détail sur la crontab, je vous invite à consulter notre guide dédié.

guide-raspberrypi-planification-crontab-domoblog

Editer la crontab du Raspberry pi pour planifier des actions

Un petit article rapide pour vous apprendre à éditer la crontab de votre Raspberry pi. Si comme moi vous utilisez votre raspberry en serveur web, il peut être intéressant d’avoir recours à la crontab pour automatiser certaines tâches (script php,…


3. Si vous n’êtes pas familier avec la crontab, aucun problème, un assistant est là pour vous aider. Cliquez simplement sur le point d’interrogation, choisissez une seule fois pour la récurrence d’exécution et laissez-vous guider.

Jeedom-scenario-temps-assistant-cron

Exécuter un scénario Jeedom chaque jour à une heure précise

Si le scénario à exécution unique peut s’avérer utile dans certains cas de figure, un scénario récurrent est bien plus rependu dans nos besoins domotiques quotidiens.

1. Pour ce faire, utilisez la syntaxe cron directement:

jeedom-scenario-programme-reccurent-cron-config

2. Ou choisissez l’assistant et sélectionnez récurent puis le type de récurrence (année, mois, semaine, jour, heure ou minute)

scenario-jeedom-reccurent-cron-configuration

Exécuter un scénario Jeedom dans un créneau horaire

Si les modes proposés dans l’assistant de scénario Jeedom sont déjà complets et répondent à un grand nombre de besoins, vous pouvez être amené à des besoins plus poussés surtout dans des scénarios plus complexes. Si vous démarrez dans Jeedom et dans la domotique en général, les fonctions vues ci-dessus vous sont suffisantes. Mais vous verrez très rapidement que la puissance de la domotique appelle à des automatisations bien plus poussées et vous devrez alors avoir recours à quelques fonctions supplémentaires qui changeront tout.

Admettons que vous désirez exécuter une action sur le changement d’état d’un capteur dans un créneau horaire bien particulier. Vous devrez alors introduire la variable #time# dans vos scénarios.

Pour notre exemple, nous prendrons un scénario d’alerte selon le déclenchement d’un détecteur de mouvement sur une plage horaire précise. Une alarme silencieuse nocturne par exemple.

1. Dans un premier temps, nous allons définir le mode du scénario sur provoqué. Puis nous allons ensuite choisir le ou les périphériques qui provoqueront l’exécution du scénario.

scenario-jeedom-mode-provoque-time-variable

2. Dans notre scénario, nous allons intégrer un bloc SI et tester l’heure courante avec la syntaxe suivante:

(#time# >= 2330 ET #time# <= 0530)

Bien le bloc ci-dessus soit juste, jeedom, comme beaucoup de systèmes à du mal a géré la transition d’un jour à l’autre. Il faudra alors adapter le code en deux conditions temporelles, généralement accompagnées d’un événement autour d’un condition OU. Comme un exemple veut mieux qu’un long discours, voici le modèle à adopter si la condition horaire chevauche deux journées.

(#[Exterieur][portail Sonoff][Ouverture]# == 1  ET (#time# >= 1645 ET #time# <= 2359)) OU (#[Exterieur][portail Sonoff][Ouverture]# == 1  ET (#time# >= 0001 ET #time# <= 0750))

Le bloc ci-dessus réalise un test sur l’heure courante, à chaque déclenchement du scénario, il va donc tester si l’heure actuelle se situe entre 23h30 et 5h30. Si tel est le cas, il vérifiera également l’état de la lumière du salon avant de confirmer l’exécution. En effet, ce test supplémentaire évitera la fausse alerte dans le cas ou nous sommes toujours debout après 23h30.

jeedom-scenario-variable-time-execution

Exécuter une action un jour de la semaine en particulier

Nous avons vu juste avant que la variable #time# ouvre de nouvelles perspectives pour nos automatisations. Mais une autre variable temporelle est tout aussi intéressante. Il s’agit de la variable #sjour#.

Intégrez alors dans les tests réalisés par votre scénario la variable #sjour# et testez le jour en cours. Dans le cas ci-dessous, testons si nous sommes jeudi. En conséquence, nous pourrons exécuter notre scénario uniquement un jour de la semaine en particulier.

variable-sjour-jeedom-scenario-mode

Exécuter une action chaque jour sauf le week-end

Après cette introduction de la variable #sjour#, voyons comment l’utiliser dans un scénario qui ouvre le portail le matin à 07h00 en semaine.

1. Pour cela, nous pouvons utiliser le mode provoqué des scénarios Jeedom et définir l’heure sur 07h00.

programmation-scenario-jeedom-mode

2. En ajoutant la variable #sjour# dans notre scénario, nous pourrons alors tester la valeur du jour en cours. Si la valeur est différente de Samedi ou Dimanche, alors nous sommes en semaine et nous pouvons exécuter notre scénario.

scenario-jeedom-variable-sjour-semaine

Bien entendu, vous pouvez ajouter d’autres tests avant d’ouvrir le portail comme par exemple le type de jour pour savoir si c’est un jour férié ou de congés. Dans ce cas, le portail ne sera pas ouvert puisque vous ne partez pas travailler bien que nous soyons en semaine.

Exécuter une action uniquement le week-end

Continuons avec notre variable #sjour# et voyons comment l’utiliser pour exécuter un scénario uniquement le week-end. Pour ce nouvel exemple, nous allons déclencher la pompe à chaleur de la piscine le matin à 9h00 si nous sommes le week-end.

1. Pour ce nouveau cas, nous allons utiliser un scénario provoqué, programmé sur 09h00 chaque jour.

mode-scenario-jeedom-programme

2. Puis dans notre scénario, nous allons tester la valeur du jour en cours. SI ce dernier ne vaut aucun jour de la semaine, nous sommes le week-end, nous pouvons alors démarrer la pompe à chaleur de la piscine.

scenario-jeedom-variable-sjour-weekend

Bien sûr, pour le cas de la piscine, il faudra y ajouter un test sur la saison pour ne pas la déclencher en période d’hivernage, mais aussi un test sur la température de l’eau pour ne la déclencher que si nécessaire.

Mêler les conditions temporelles dans un seul et unique scénario jeedom

Pour finir, voyons comment introduire les deux variables temporelles #time# et #sjour# dans un scénario plus complexe qui régie l’ouverture des volets.

1. Ce scénario se base sur un mode provoqué. Ce sont des détecteurs de mouvements dans la pièce à vivre qui déclencheront l’exécution.

mode-scenario-jeedom-provoque-presence-volets

2. Dans un premier bloc du scénario, nous effectuerons une série de tests pour déterminer si nous sommes en semaine. Dans ce cas, selon les habitudes de la maison, si nous descendons entre 6h00 et 8h00, seule une partie des volets s’ouvriront et les lumières de la cuisine et du salon s’allumeront de manière feutrée.

bloc-si-scenario-jeedom-variable-time-weekend

3. Dans un second bloc du scénario, nous utiliserons d’autres tests qui serviront à déterminer que nous somme bien en week-end. Étant donné que nous ne travaillons pas, la période de détection est plus large soit de 6h00 à 10h00. Les actions seront alors différentes, il pourra être défini une sélection de volets particuliers à ouvrir ainsi qu’une ambiance lumineuse différente de la semaine.

bloc-scenario-jeedom-presence-evennement-semaine-variable-time-sjour

Conclusion

Nous venons de voir comment jouer avec le temps dans les scénarios Jeedom. D’autres méthodes existent, je vous propose ici celles qui me sembles les plus pertinentes, sachez toutefois qu’il est possible d’opérer autrement pour réaliser les mêmes actions, il y a par exemple la variable #njour# qui permet de tester le jour en cours selon un numéro et non son nom… Bref, vous disposez avec nos exemples de ce guide de nombreux outils pour jouer avec la notion du temps et améliorer vos scénarios. Le but étant toujours le même, rendre notre quotidien toujours plus confortable, automatisé et intuitif. À vous de jouer les amis.

Découvrez egalement comment créer une alarme pour moins de 250€ avec la domotique.

domotique-securisation-eco-budget-jeedom-smarthome

Domotique budget : Une alarme domotique et évolutive pour moins de 250€

Qui a dit que la domotique était inaccessible? Il fut un temps où effectivement connecter sa maison était un vrai luxe qui n’était pas donné à tout le monde. Nous allons voir aujourd’hui que les choses ont grandement changé notamment…


Domo-blog a fait le choix de ne pas polluer votre lecture avec de la publicité. Vous trouverez cependant des liens affiliés vers les produits recommandés dans le contenu. Cela ne perturbe en rien votre experience de lecture et permet de financer le blog.
Vous pouvez également soutenir le blog en m'offrant un café sur Ko-Fi.


discord

Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter

A propos de cet auteur

Aurélien Brunet

Chef de projet informatique, anciennement informaticien spécialisé dans l'IT industrielle, le réseau et les bases de données. Un peu geek à mes heures perdues, je me suis mis à la domotique en 2012 pour sécuriser mon domicile.
Depuis, je teste, j’installe, je code, j’améliore mon installation et surtout, je partage avec vous mon expertise via ce blog et mon podcast Domotique Chronique pour améliorer votre quotidien dans la maison connectée !

Add Comment

Cliquez ici pour poster un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

energie
promos domotique
green
promos domotique

Exécuter un scénario Jeedom un jour bien défini

Pour exécuter un scénario Jeedom, depuis le moteur de scénario, vous avez deux options: provoqué ou programmé. La programmation répond

Exécuter un scénario Jeedom chaque jour à une heure précise

Si le scénario à exécution unique peut s’avérer utile dans certains cas de figure, un scénario récurrent est bien plus

Exécuter un scénario Jeedom dans un créneau horaire

Si les modes proposés dans l’assistant de scénario Jeedom sont déjà complets et répondent à un grand nombre de besoins,

Exécuter une action un jour de la semaine en particulier

Nous avons vu juste avant que la variable #time# ouvre de nouvelles perspectives pour nos automatisations. Mais une autre variable

Exécuter une action chaque jour sauf le week-end

Après cette introduction de la variable #sjour#, voyons comment l’utiliser dans un scénario qui ouvre le portail le matin à

Exécuter une action uniquement le week-end

Continuons avec notre variable #sjour# et voyons comment l’utiliser pour exécuter un scénario uniquement le week-end. Pour ce nouvel exemple,

Mêler les conditions temporelles dans un seul et unique scénario jeedom

Pour finir, voyons comment introduire les deux variables temporelles #time# et #sjour# dans un scénario plus complexe qui régie l’ouverture

Conclusion

Nous venons de voir comment jouer avec le temps dans les scénarios Jeedom. D’autres méthodes existent, je vous propose ici

  • Exécuter un scénario Jeedom un jour bien défini
  • Exécuter un scénario Jeedom chaque jour à une heure précise
  • Exécuter un scénario Jeedom dans un créneau horaire
  • Exécuter une action un jour de la semaine en particulier
  • Exécuter une action chaque jour sauf le week-end
  • Exécuter une action uniquement le week-end
  • Mêler les conditions temporelles dans un seul et unique scénario jeedom
  • Conclusion