Nodon Octan Remote – les scènes

Nodon Octan Remote

Nous verrons ci-après comment déclencher des scènes/scénarios avec la télécommande Z‑Wave+ NodOn « Octan Remote », l’interrupteur émetteur mural Z‑Wave+ NodOn « Wall Switch » ou la télécommande Z‑Wave+ NodOn « Soft Remote ». Ces trois produits utilisent le même firmware, les paramètres et manipulations sont donc identiques.

CONTRÔLER DES SCÈNES

Une fois associée à un contrôleur / serveur domotique, cette télécommande/interrupteur peut déclencher des scènes/scénarios sur les box domotique compatibles avec cette fonction.

Juste après une inclusion, les boutons sont configurés en mode scène par défaut. Si néanmoins ce n’est pas le cas, ou si vous avez modifié les paramètres, vous pouvez vous référer à notre article Paramètres de la télécommande « Octan Remote » CRC‑3‑1‑0X et de l’interrupteur CWS‑3‑1‑0X afin de passer les boutons en mode scène.

Cette télécommande/interrupteur propose deux manières différentes d’envoyer les déclenchements de scènes à une centrale domotique : CENTRAL_SCENE et SCENE_ACTIVATION.

La télécommande/interrupteur est par défaut en CENTRAL_SCENE, cependant suivant les box domotique, il peut être nécessaire de changer ce mode pour que le déclenchement de scène puisse fonctionner, cela se fait en changeant le paramètre n° 3.

 

Voici avec les différentes box domotique sur lesquels nous avons pu tester, leurs compatibilitées avec le déclenchement de scène de cette télécommande et le paramètre à choisir.

 

Tests de compatibilité effectués le 11/09/15
Box domotique CENTRAL_SCENE SCENE_ACTIVATION
Zipabox OUI OUI
HomeCenter V3 NON NON
HomeCenter V4 NON OUI
Vera OUI OUI (via scipt LUUP)
Zibase NON OUI
eedomus OUI OUI
Orange Homelive OUI … mais bogué NON
BeNext iHome NON OUI
Jeedom OUI OUI

 

 

Et voici les numéros qui permettent de déclencher des scènes quand le mode est SCENE_ACTIVATION :

Appui / Bouton Bouton 1 Bouton 2 Bouton 3 Bouton 4
Simple appui 10 20 30 40
Double appui 13 23 33 43
Appui maintenu 12 22 32 42
Relâchement du bouton 11 21 31 41

Les scénarios Jeedom : La notion de temps

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 :

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

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

2Une 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é.

Lire
Editer la crontab du Raspberry pi pour planifier des actions

3Si 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

2Ou 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.

1Dans 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

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

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

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.

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

programmation-scenario-jeedom-mode

2En 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.

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

mode-scenario-jeedom-programme

2Puis 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.

1Ce 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

2Dans 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

2Dans 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

 

site original : domo-blog.fr

Jeedom : la programmation d’événements journaliers

Introduction

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

  • Allumer la cafetière à 7h en semaine.
  • Ouvrir les volets au lever du soleil.
  • Fermer les volets au coucher du soleil, si je ne suis pas là.
  • etc.

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 :

  • En mode déclenché, donc n’importe quand, sur une action. Cette action peu-être un bouton sur l’interface, le changement d’une valeur comme la détection d’une présence ou même d’une variable, le lancement par un autre scénario, etc.
  • En mode programmé, donc à des horaires fixes pré-définies.

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

  • Sur la page Outils → Scénarios, cliquez sur Ajouter en nommant votre scénario Prog du jour (Par exemple…).
  • Définissez son Mode sur programmé, ajoutez une programmation, puis entrez 20 4 * * *.

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.

  • Le bloc Si/Alors/Sinon : Il va nous permettre de gérer des conditions, par exemple si nous sommes Dimanche.
  • Le bloc Action : Il contient des actions à exécuter (Une action n’est pas forcément dans un bloc Action !).
  • Le bloc A : Celui-ci va programmer ce qu’on veux à une heure précise de la journée (intéressant :grin: ! )

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).

  • Plusieurs plugins permettent d’avoir cette info. Le plus simple est sans doute le plugin Weather. Une fois installé et configuré, vous aurez alors l’info #[Maison][Météo][Coucher du soleil]#.
  • Vous pouvez très simplement, sans aucun plugin, créer un bloc Code avec quelques lignes de php pour renseigner deux variables, que vous pourrez alors utiliser dans n’importe quel scénario.

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.

  • Au coucher du soleil : variable(sunset)
  • 20 mins avant le coucher du soleil : time_op(variable(sunset), -20)
  • Bien sur, çà marche avec une commande info : time_op(#[Maison][Météo][sunset]#, 60)

Volets automatique ou manuel

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

Pour çà, installez le plugin Mode

  • Créez un nouveau Mode « Volets ».
  • Créez alors deux modes, « Auto » et « Manuel ». Pas besoin d’action ou quoique ce soit d’autre dans notre cas.

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.

 

Article original : https://kiboost.github.io/