Une des forces de Jeedom réside dans l'utilisation de scénarios permettant d'automatiser, lancer, arrêter des actions selon l'état des capteurs, les horaires, ... Bref, il n'y a quasiment pas de limites, si ce n'est notre imagination.
Voici donc un exemple permettant de piloter l'ouverture et la fermeture d'un volet roulant en fonction des heures de lever et de coucher du soleil. Pour rappel, j'utilise un module Sonoff Dual R2 pour piloter un volet roulant (voir https://lofurol.fr/joomla/electronique/domotique/156-sonoff-module-sonoff-dual-r2-et-volet-roulant).
I- Récupération des heures de lever et de coucher de soleil
Préalable : j'ai renoncé à utiliser des plugins comme "Héliotrope" ou "Météo" car je n'ai pas réussi à avoir un fonctionnement correct et de plus ça évite que notre système soit dépendant d'un outil externe qui risque de ne plus être maintenu... Du coup, j'ai repris la solution proposée par Asi77 (merci à lui) sur le forum Jeedom https://www.jeedom.com/forum/viewtopic.php?f=30&t=19537 qui a le gros mérite de simplifier les choses.
Tout d'abord, il faut récupérer les latitude et longitude de votre domicile. On peut par exemple utiliser la cartographie libre OpenStreetMap https://openstreetmap.org, puis saisir, dans la barre de recherche, sa localisation (ville, adresse,...). Une fois que la carte affiche la région demandée, il faut placer la souris à l'endroit précis où se trouve votre maison et faire un clic droit pour afficher le menu contextuel et choisir "Afficher l'adresse". Vous obtiendrez dans la colonne de gauche les latitude et longitude qu'il ne vous restera plus qu'à copier pour les utiliser par la suite.
Dans Jeedom, il faut maintenant utiliser le plugin "Virtual" et ajouter un nouvel équipement (je l'ai appelé "Jour-Nuit").
Tant qu'on est sur la page "Équipement", on en profite pour régler l'auto-actualisation (cron) pour qu'elle ait lieu tous les jours à 3h du matin : ceci est indispensable pour que les heures de lever et de coucher du soleil soient recalculées tous les jours car elles dépendent de la date.
Ensuite on va dans l'onglet "Commandes" et on va ajouter 4 infos virtuelles (voir les détails dans la capture ci-dessous) :
- "Lever du Soleil" -> Valeur : date_sunrise(#timestamp#,1,votre_latitude,votre_longitude,90+35/60, date("Z",#timestamp#)/3600)
- "Lever_Soleil" (pour obtenir un format horaire utilisable par Jeedom) -> Valeur : str_replace(":","",#[Maison][Jour-Nuit][Lever du Soleil]#)
- "Coucher du Soleil" -> Valeur : date_sunset(#timestamp#,1,votre_latitude,votre_longitude,90+35/60, date("Z",#timestamp#)/3600)
- "Coucher_Soleil" (pour obtenir un format horaire utilisable par Jeedom) -> Valeur : str_replace(":","",#[Maison][Jour-Nuit][Coucher du Soleil]#)
II- Scénario
Maintenant, il ne reste plus qu'à créer un scénario qui se lancera au (re)démarrage de Jeedom. Dans l'onglet "Général", il faut donc choisir "Provoqué" dans le mode de scénario et ajouter 2 déclencheurs "Évènement" correspondant aux heures de lever et coucher du soleil :
- #[Maison][Jour-Nuit][Lever_Soleil]#
- #[Maison][Jour-Nuit][Coucher_Soleil]#
Dans l'onglet "Scénario", on rajoute 2 commandes "A" (utilisant les infos sur les heures de lever et coucher créées au 1er paragraphe) qui déclencheront des actions à un horaire précis :
- #[Maison][Jour-Nuit][Lever_Soleil]# -> Action pour ouvrir les volets du bureau : #[Bureau][Volet][Ouvrir]#
- #[Maison][Jour-Nuit][Coucher_Soleil]# -> Action pour fermer les volets du bureau : #[Bureau][Volet][Fermer]#
Variante : ouvrir ou fermer les volets avec un temps de décalage
Source : https://www.jeedom.com/forum/viewtopic.php?p=619173#p619155
Pour cela, il faut utiliser la commande "time_op" avec comme 1er paramètre l'heure de coucher du soleil et en 2e paramètre le temps de décalage (ici un nombre aléatoire entre 12 et 34) :
- time_op(#[Maison][Jour-Nuit][Coucher_Soleil]#, rand(12, 34))
Remarques :
- J'ai rajouté aussi un message m'indiquant que le scénario a bien été enclenché.
- On peut améliorer le scénario pour qu'il ne s'active que dans des tranches horaires précises pour "soulager" Jeedom (à voir par la suite).