Jeedom v4 | Programmation du jour

Exemple de scénario de programmation journalière

Jeedom v4 | Programmation du jour

Astuces pour la personnalisation de l'interface
Scénarios : Petits codes entre amis

Introduction
Principe
Réalisation
      Allumer la cafetière
      Mes volets
      Volets automatique ou manuel

Introduction

Un sujet récurent pour les débutants de Jeedom, la programmation d’événements journaliers comme :

Il y a bien sûr maintes manières de le faire. Nous allons ici voir comment gérer tous nos événements de la journée avec un scénario, qui se chargera de déclencher les bonnes actions au bon moment.

Principe

Un scénario est une suite logique d'actions, principalement des commandes action donc, à l’exécution du scénario ou à un horaire plus tard, selon des conditions définies si nécessaire.

Un scénario peut être lancé de deux façons :

C'est le mode programmé qui va nous intéresser ici.

Je ne vais pas rentrer dans les détails des paramètres, puisque la doc est plutôt complète : La doc des scénarios

Onglet Général

Nous avons donc ici un déclenchement programmé : 20 4 * * *. Cela veut dire que notre scénario va se déclencher tous les jours à 4h20. 4h20 pour deux raisons : - Il faut qu'il se déclenche avant le lever du soleil le plus tôt de l'année, pour pouvoir prévoir des actions au lever du soleil voir un peu avant. Logique non ? - Ensuite, pas 4h mais 4h20 car Jeedom exécute déjà certaines tâches toutes les heures, donc çà permet de ne pas charger encore plus Jeedom ce moment là. Ce sera insignifiant sur la plupart des configurations, mais sur certaines configurations chargées, çà permet d'optimiser un peu. - Et comme il faut une troisième raison, le faire après 2h permettra de ne pas poser de problème lors d'un changement d'heure été/hiver.

Tip

Le format des programmations horaire est un standard, une expression cron. Voir crontab guru pour en savoir plus. Vous pouvez ajouter une deuxième programmation en mettant #start#, pour que ce scénario se déclenche également au (re)démarrage de Jeedom.

Réalisation

Pour les groupes, objet parent et. je vous laisse maître. Vérifiez simplement qu'il est Actif.

Nous avons donc notre scénario qui va se déclencher tous les jours à 4h20, et ... ne rien faire ! :sweat_smile:

La suite se passe dans l'onglet Scénario.

Ici, trois types de blocs vont nous être utile.

Allumer la cafetière

Commençons par un exemple très simple, allumer la cafetière le matin à 6h, les jours ouvrées de la semaine.

Gardez en tête que ce scénario s’exécute tous les jours, à 4h20. Il faut donc lire ce scénario comme si nous étions n'importe quel jour, à 4h20.

On ne va pas allumer la cafetière les Samedi et Dimanche, donc nous allons d'abord vérifier le jour de la semaine. Ensuite on va simplement dire, à 6h, fait çà.

Note

La programmation du scénario (le cron) nous permettrai de ne programmer le lancement que les Lundi, Mardi, Mercredi, Jeudi, Vendredi. Mais dans le cas d'un scénario de gestion journalière, il faut le lancer tous les jours, car d'autres actions pourront être effectuées / programmées le Samedi et le Dimanche.

Voici donc ce que çà donne :

Allumer la cafetière

L'expression du SI, #sjour# not in ['Samedi', 'Dimanche'] est équivalent à #sjour# in ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi']

Rien de bien méchant, vous en conviendrez ... :smiley:

Note

Notre scénario se déclenchant à 4h20, il n'aura pas de mal à programmer une tâche à 6h. Si vous programmez une tâche à un horaire passé, la tâche est programmée pour le lendemain.

Mes volets

Dans le cas des volets en fonction des lever et coucher du soleil, nous allons avoir besoin des infos de ... lever et coucher du soleil !

Note

Les volets sont souvent ouverts à heure fixe le matin, pour éviter de se faire réveiller à 5h en été. Nous verrons donc ici le cas du coucher du soleil, mais le principe est exactement le même.

L'heure de coucher du soleil dépend de la date bien sûr, mais surtout de votre localisation (généralement, vos coordonnées GPS).

Rendez-vous sur Google Map, placez un repère sur votre habitation, notez les coordonnées GPS qui s'affichent en bas. Créez un bloc Code en début du scénario avec comme code (remplacer vos coordonnées) :

$lat = 45.808;
$long = 4.872;
$sun_info = date_sun_info(time(), $lat, $long);
$sunrise = date("Hi", $sun_info["sunrise"]);
$sunset = date("Hi", $sun_info["sunset"]);
$scenario->setData('sunrise', $sunrise);
$scenario->setData('sunset', $sunset);
bloc Code lever/coucher du soleil

Ce code va simplement calculer les heures de lever et coucher du soleil et les renseigner dans deux variables, sunrise et sunset.

Aucun besoin de plugin, d'internet, d'API etc. Vous pouvez ensuite collapser le bloc et l'oublier :grin: Les variables sont accessibles comme des commandes infos avec variable(sunrise), et visible dans Outils → Variables

Il nous reste donc tout simplement à programmer notre fermeture des volets pour le soir :

Fermeture des volets au coucher du soleil

Quoi ? Et c'est tout ? Tout çà pour çà alors ?

:stuck_out_tongue_winking_eye:

Ici, nous programmons A time_op(variable(sunset), 60)

La fonction time_op permet de décaler un horaire. Ici on prend l'heure de coucher du soleil et on décale de 60 minutes, les volets se fermeront donc 1h après le coucher du soleil.

Volets automatique ou manuel

Allons un peu plus loin avec une gestion automatique ou manuelle des volets.

Pour çà, installez le plugin Mode

Vous pourrez changer ce Mode par une action sur le Dashboard, par un scénario, avec Snips, etc.

Dans notre scénario, nous allons donc simplement vérifier que les volets sont en gestion automatique pour la fermeture.

Mode Volets auto

Et voilà, donc 1h après le coucher du soleil, si la gestion est bien automatique, alors le volet se fermera.

Tip

La condition #[Maison][Volets][Mode]# == 'Auto' est placée dans le bloc A, ce qui veux dire que celle-ci sera vérifiée à l'heure de fermeture des volets. En effet, vous pourriez mettre le SI avant, mais rappelez vous que le scénario s’exécute à 4h20. Donc si à 4h20 vous êtes en gestion manuelle, la fermeture ne sera pas programmée. Donc même si vous passez en gestion auto dans la journée, il ne se fermera pas. En mettant la condition à l'heure de fermeture, elle sera vérifiée à cette heure et tiendra donc compte d'un changement de gestion dans la journée.

A vous maintenant de construire votre scénario "Prog du jour" selon vos besoins. Les volets, un réveil en lumière, éteindre la lumière du petit le soir, renseigner une variable heure creuse / heure plein, etc.

:innocent: