Il est fort agréable de pouvoir programmer une action en fonction de si nous sommes le jour ou la nuit, le cas typique étant l'allumage des lumières du jardin par exemple.
Dans ce cas, nous avons deux possibilités:
C'est ce deuxième cas que nous allons voir ici.
Dans notre exemple, nous allons allumer des lumières de jardin dés lors que le portail s'ouvre. Pour cela nous avons:
Et pour la programmation nous allons créer une variable horaire “Timer” avec le Calaos Installer, en utilisant les valeurs prédéfinies “Sunrise” (levé du soleil) et “Sunset” (couché du soleil).
Généralement on se dit qu'il faut allumer les lumières la nuit donc du couché du soleil au levé du soleil. Sauf que pour des raisons techniques une programmation horaire “Timer” ne peut pas déborder d'un jour à l'autre. Donc il faudrait créer deux plages horaires, du couché du soleil à minuit, puis de minuit au levé du soleil. Pas pratique.
Donc autant faire l'inverse. Programmer l'allumage des lumières si l'on N'EST PAS le jour. Donc pas dans la tranche levé au couché du soleil. Simple, pratique et surtout efficace !
Donc partons sur ça !
Pour que Calaos puisse calculer automatiquement les heures de levé et couché du soleil il faut commencer par lui indiquer les coordonnées de sa maison, c'est à dire sa longitude et latitude. Récupérer les valeurs via ce site par exemple (il en existe de nombreux sur Internet): http://www.coordonnees-gps.fr/
Pour Toulouse, nous avons donc en degrés décimaux:
Ces valeurs sont a indiquer dans votre fichier de configuration /etc/calaos/local_config.xml:
Le contacteur de portail est “contact sec” qui sert de déclencheur d'action, rien de particulier, en voici les propriétés:
Puis créer une variable de type Timer via le menu:
Indiquer le nom de votre variable. Nous utiliserons la fonction “Time Range” après avoir créé la variable.
Une fois la variable horaire créée, faire clic droit dessus “Edit the time ranges…”: Puis la fenêtre apparait. Là, faire:
Il est possible de réaliser des ajustements sur les horaires du soleil via les deux “Time offset”.
Vous pouvez ensuite définir la règle d'action:
Et voilà ! Cela fonctionne bien.