Bonjour, c’est Pierre-Yves. aujourd’hui nous allons parler de la gestion des volets en fonction de la position du soleil par rapport aux fenêtres et de la température extérieure/intérieure. C’est un de mes premiers scénarios de mes débuts dans Jeedom. Il n’est certainement pas parfait, mais il fonctionne bien.
Je vous laisse libre de l’améliorer en fonction de vos besoins.

Gestion des volets – Pourquoi faire

J’ai crée ce scénario à l’époque car je déteste avoir chaud, je n’ai aucun soucis avec le froid, mais le chaud c’est une vraie galère pour moi. Je suis plutôt du genre à terminer comme ça quand il fait chaud : Gestion des volets

Je me suis donc lancé dans l’idée de faire un scénario en utilisant différent plugin jeedom à ma disposition. Le but étant de fermer les volets des fenêtres qui sont exposées au soleil à un moment donné.

Scénario de gestion des volets – La partie déclencheur

Voici la partie déclencheur de mon scénario :Gestion des volets

Ici c’est assez simple, mais on va détailler la partie déclencheur pour vous rassurer sur ce point : */10 8-21 * 5-9 *

  • */10 permet de faire tourner toutes les 10 minutes le script
  • 8-21 -> permet de définir les heures ou ça doit tourner, donc toutes les heures de 8 à 21h et donc toutes les 10 minutes sur ces heures
  • 5-9 -> permet de faire tourner le script du mois de mai au mois de septembre sur les créneaux indiqués au dessus

Pour résumer, ça tournera de 8 à 21h50 tous les jours de début Mai à Fin Septembre
Un site à garder sous le coude si vous avez besoin de faire une programmation crontab différente (en anglais) : https://crontab.guru/#*/10_8-21_*_5-9_*

Scénario de gestion des volets – Survol du scénario

On va faire un survol visuel, pour que vous ayez toutes les briques du scénario en tête. Je les détaillerais point par point par la suite :Gestion des voletsGestion des voletsGestion des volets

Gestion des volets

Scénario de gestion des volets – Prerequis

Afin de pouvoir faire fonctionner correctement ce scénario, il y a quelques prérequis, qui sont peut-être adaptable avec d’autres plugin.

  • HELIOTROPE de Lunarok qui permet d’avoir l’information sur la position actuelle du soleil
  • Weather qui permet d’avoir une information sur la température extérieure et la présence de nuage ou non
  • Xiaomi et Z-Wave pour les informations sur l’état des portes fenêtres et portes
  • Tahoma pour la gestion des volets
  • Angle d’exposition de la maison (Azimut)
    • On va en faire un paragraphe dédié juste après

Scénario de gestion des volets – Déterminer les azimuts en théorie

Afin de déterminer les azimuts de votre maison et donc savoir quand vous devez fermer les volets parce que le soleil est dans vos fenêtres il existe plusieurs solutions :

Az = 180-(ACOS((SIN(H) * SIN(L) – SIN(δ)) / (COS(H) * COS(L))))
Az = 180+(ACOS((SIN(H) * SIN(L) – SIN(δ)) / (COS(H) * COS(L))))

H = Hauteur du soleil = ASIN(SIN(δ)*SIN(L)+COS(δ)*COS( L)*COS(Ah)) [Avec Ah = angle horaire = 180* (Heure vrai / 12 – 1) ]
L = Latitude
δ = déclinaison
Pour le début de la journée c’est le première formule qu’il faut utilisé et a partir du midi solaire (quand on voit que le résultat recommence a augmenté) il faut utilisé la deuxième formule.

Exemple :
à 7h00:
180 – 112 = 68°

à 17h00
180 + 77 = 257°

Sincèrement, je n’y comprend absolument rien :D, mais s’il y a des fans des calculs, faites vous plaisir. Mais ne me demandez surtout aucune aide, je serai incapable de vous aider.

Scénario de gestion des volets – Déterminer les azimuts en pratique

Nous allons nous attarder sur le site qui me semble le plus simple à utiliser http://www.solartopo.com/orbite-solaire.htm

Vous vous rendez sur le site, ensuite vous obtenez ceci :Gestion des volets

Vous pouvez saisir votre adresse tout en haut ou bien zoomer sur la carte jusqu’à chez vous. Une fois que vous êtes sur votre logement, vous cliquez sur la carte, afin de mettre un point qui permettra au site de définir l’azimut, par défaut il se cale sur 12h00. On va maintenant aborder les options et information disponible sur le site :

Gestion des volets

  1. On sélectionne donc un point sur la carte (je n’habite pas au musée du Louvre, c’est un exemple.
    1. Cela nous donne un trait de couleur noir qui va bouger selon les réglages choisit dans la partie 5
    2. Correspond aux valeurs des azimuts entre 00:00 et 23:59.
    3. Affiche la valeur de la hauteur du soleil au cours de la journée
    4. Affiche la hauteur du soleil par rapport aux azimuts
    5. Permet d’indiquer :
      1. la date souhaitée
      2. L’heure souhaitée, à affiner au besoin selon votre situation, un arbre qui bloque le soleil le matin, ou un bâtiment qui bloque le soir etc
      3. Heure d’été ou non
    6. Donnes les informations suivantes
      1. Hauteur du soleil (Zénith) à l’heure sélectionnée au point 5
      2. Azimut du soleil (toujours par rapport au Nord) à l’heure sélectionnée au point 5

Dans notre exemple avec le musée du Louvre, nous avons donc un soleil le 17/04/2018 à 07h15 en heure d’été qui se situe à 2.51° pour la hauteur et est à 76,51° par rapport au Nord.

Voici l’état du soleil sur le musée du Louvre à 14h41

Gestion des volets

On peut voir que le soleil viendrait du bas du trait (la Seine) vers le point rouge, donc du bas de l’image vers le haut de l’image.
A ce moment la les fenêtres sur la droite du musée du Louvre, ne sont plus du tout exposées au soleil.
Ce sont les fenêtres du bas sur la photo qui seraient exposées directement au soleil.

L’azimut est à 199,67° et le Zénith à 50,17°.
Maintenant que l’on a ses informations, pour ce qui concerne la partie EST de la maison (oui ça n’est plein EST, je suis d’accord, mais on va se faciliter la vie en disant EST, on va pouvoir travailler sur jeedom.)

Je rappelle à tout hasard que le soleil se lève à l’EST, passe par le SUD et se couche à l’OUEST.
C’est à vous de savoir par rapport au plan, comment mettre votre curseur en fonction de la position des fenêtres.

Exposition de ma maison

Je vous ai fais un superbe schéma de principe qui permettra de comprendre les variables qui sont définies dans le prochain paragraphes. Le voici, il parlera de lui-même au fur et à mesure de la lecture.

Gestion des volets

Explication du comment – Définition des variables

Dans mon scénario, je définie plusieurs variables qui vont m’être utiles pour ma maison. Je rappelle que ces variables sont assez différentes selon le positionnement de votre maison, sa configuration au niveau des ouvrants et la configuration du terrain (bâtiment, arbres, etc.

Reprenons le bloc sur les variables : Gestion des volets

Gestion des volets

  • Bloc ACTION
    • On fait un refresh de la météo (1)
    • On fait un SLEEP de 20 secondes (2)
  • Bloc CODE
    • Je déclare dans la variable $TemperatureExterieureMinimum la valeur 28 ( $TemperatureExterieureMinimum=28; )
    • Je déclare dans une variable du scénario nommée $TemperatureExterieureMinimum, le contenu de la variable TemperatureExterieureMinimum déclarée juste au dessus ( $scenario->setData(‘TemperatureExterieureMinimum’,$TemperatureExterieureMinimum); )

Vous avez la logique de fonctionnement d’une déclaration d’une variable dans un bloc PHP.
Pour que l’on soit bien d’accord c’est l’équivalent à ceci : Gestion des volets

Voici le contenu complet du bloc code PHP

// Déclaration de la température extérieure minimum actuelle du plugin metéo pour mettre en route ce scénario
$TemperatureExterieureMinimum=28;
$scenario->setData(‘TemperatureExterieureMinimum’,$TemperatureExterieureMinimum);

// Déclaration de la température extérieure maximum annoncée pour faire le OR avec les conditions Météo annoncées
$TemperatureExterieureMaximum=26;
$scenario->setData(‘TemperatureExterieureMaximum’,$TemperatureExterieureMaximum);

// Déclaration de l’angle de pénétration du soleil pour mettre en route ce scénario
$AngleSoleil=14;
$scenario->setData(‘AngleSoleil’,$AngleSoleil);

// Déclaration des azimuths pour la maison
$AzimuthEstDroit=75;
$AzimuthEstGauche=159;
$AzimuthOuestDroit=172;
$AzimuthOuestGauche=278;
//$AzimuthOuestGauche=303; (Azimuth d’été, à voir si on l’affine)
$scenario->setData(‘AzimuthEstDroit’,$AzimuthEstDroit);
$scenario->setData(‘AzimuthEstGauche’,$AzimuthEstGauche);
$scenario->setData(‘AzimuthOuestDroit’,$AzimuthOuestDroit);
$scenario->setData(‘AzimuthOuestGauche’,$AzimuthOuestGauche);

// Réinitialisation de la variable Porte_Fenetre_To_Close
$Porte_Fenetre_To_Close=””;
$scenario->setData(‘Porte_Fenetre_To_Close’,$Porte_Fenetre_To_Close);

Explication du comment – Bloc SI pour le coté EST de la maison (Ouverture)

Je n’ai aucune fenêtre au SUD ou au NORD, donc c’est assez simple pour les SI. On va regarder le cas du matin (coté EST), puis on regardera le coté OUEST pour l’après-midi.Gestion des volets

  1. SI l’azimuth du soleil dans héliotrope est supérieur à la variable AzimuthEstDroit (75) ET l’azimuth du soleil dans héliotrope est inférieur à la variable AzimuthEstGauche (159) ET la température actuelle est supérieure à la variable TemperatureExterieureMinimum (28) ET l’altitude du soleil est supérieur à la variable AngleSoleil (14) ET ( les conditions météo annonce un Ciel dégagé ou un ciel partiellement ensolleilé ) ET la température maximum annoncée est supérieure à la variable TemperatureExterieureMaximum (26) ALORS
  2. SI la porte fenêtre du salon est considérée comme ouverte (le capteur haut et bas de la PF) sont à 1 ALORS
  3. J’appelle le scénario qui va me demander via un ASK sur télégram si on ferme la porte fenêtre du salon en y passant des Tags. Voir cet excellent article de Ludovic pour plus d’information.
  4. SINON, je ferme le volet à 90%, histoire de voir encore un peu de lumière naturelle, un tout petit peu
  5. Fenêtre du salon fermée à 90%
  6. Pareil pour le volet de la chambre d’amis
  7. Je ferme complètement le volet d’un de mes fils
  8. Idem pour la mezzanine

C’est donc assez simple une fois que les variables sont connues et la mécanique maîtrisée.

Quelques détails supplémentaires

Bien entendu, le IF pourrait ressemble à ceci :

#[MAISON][Heliotrope_Maison][Azimuth 360 du Soleil]# > 75 ET #[MAISON][Heliotrope_Maison][Azimuth 360 du Soleil]# < 159 ET #[MAISON][Meteo-VJ][Température]# >28 ET #[MAISON][Heliotrope_Maison][Altitude du Soleil]# > 14 ET (#[MAISON][Meteo-VJ][Condition]# == “Ciel dégagé” OR #[MAISON][Meteo-VJ][Condition]# == “Partiellement ensoleillé”) AND #[MAISON][Meteo-VJ][Température Max]# > 26

Oui vous vous dites surement, pourquoi est-ce qu’il compare une valeur maximum annoncée à 26°C en se disant qu’il faut que la température actuelle soit au dessus de 28°C. C’est complètement contradictoire, je vous l’accorde. C’est juste que le scénario est prêt pour la comparaison avec des capteurs physiques en remplacement des informations de la météo. j’aborderai ce point plus bas. Je vous laisse adapter à votre besoin les variables.

Explication du comment – Bloc SI pour le coté EST de la maison (Fermeture)

C’est super, on a fermé notre volet le matin car le soleil était de ce coté de la  maison et chauffait la maison. Mais on veut un peu de lumière maintenant que le soleil est partit voir ailleurs. Voici mes critères pour la réouvertureGestion des volets

  1. SI l’azimuth du soleil est supérieur à la variable AzimuthOuestDroit (172) ET la témpérature du point cental de la maison (le couloir du RDC) est inférieure à 26°C ALORS
  2. Le volet de la fenêtre du salon s’ouvre
  3. SI la porte fenêtre du salon est fermée ALORS
  4. On ouvrre le volet associé
  5. Je me suis fait une note à l’époque pour voir ce que je faisais en cas de porte fenêtre ouverte, mais je n’ai jamais rien fait de plus, je préfère laisser fermer
  6. SI la maison est en mode Présent
  7. J’ouvre le volet de la chambre d’amis

Je n’ouvre pas les volets de l’étage par choix, il y a fait plus chaud qu’en bas, je préfère que ça reste complètement fermé, ça gagne toujours un peu de chaleur.

Explication du comment – Bloc SI pour le coté OUEST de la maison (Fermeture)

La partie Ouest est en gros identique à la partie EST, je ne vais m’attarder que sur deux points spécifiques dans le bloc de fermeture :Gestion des volets

  1. Si la porte du cellier est ouverte (je n’ai pas de volet sur cette porte) ET la variable CellierOpen n’est pas égale à 1 ALORS
  2. J’envoi un message sur mon telegram pour m’en informer
  3. Je change la valeur de la variable CellierOpen à 1 pour éviter une répétition en boucle du message
  4. SINON je repasse la variable CellierOpen à 0
  5. Je vérifie que le volet est déjà presque fermé pour le fermer complétement, sinon c’est qu’un de mes petits est surement en train de jouer et je ne vais pas les mettre dans le noir.
  6. Je ferme le volet

Explication du comment – Bloc SI pour le coté OUEST de la maison (Ouverture)

C’est presque pareil que le coté Ouest mais avec une légère modification dans le SI.

Gestion des volets

  1. SI ( l’azimut du soleil heliotrope a dépassé la valeur de l’AimuthOuestGauche (278) OU que la température actuelle est sous la barre des 25°C ) ET que l’heure actuelle est inférieure à l’heure de couché du soleil donnée par héliotrope ET que la maison est en mode présent ALORS
  2. on ouvre le volet de la fenêtre de la cuisine
  3. idem sur le volet de notre chambre
  4. SI la porte fenêtre de la cuisine est fermée ALORS
  5. On ouvre le volet associé
  6. SINON, je n’y ai rien fait, je préfère laisser fermer

Axe d’amélioration pour la gestion des volets

Afin d’améliorer tout ça, il me faudrait idéalement un capteur UV ou de luminosité, mais quelque chose de fiable, je ne me suis pas encore penché sur le sujet. Ceci afin de ne pas me fier aux informations météo qui ne sont pas forcément toujours correctes. LE but étant de vraiment considéré qu’il y a du soleil et pas un gros nuage qui traîne par là.

J’ai installé des capteurs de température humidité Xiaomi dehors comme source d’information. Ils sont mis à l’ombre et à l’abris de la pluie. L’étude et comparaison avec les informations obtenues de la météo est en cours pour voir à quoi me fier. Et surtout m’assurer que les capteurs ne sont pas mal placés et me donne de mauvaises informations.

Conclusion

J’espère que cet article pourra vous être utile. J’ai essayé d’être complet. J’imagine que ça ne correspond pas à toutes les situations, mais ça peut en couvrir quelques une.
Si vous avez des questions, vous savez ou les poser. Je vous rappelle à tout hasard que le channel telegram est disponible si vous aimer les interactions en direct via la page de contact située ici : http://sarakha63-domotique.fr/contact/



Partager sur :

Infos de l'auteur

Je m'appelle Pierre-Yves,Je suis dans l'informatique de profession, dans la domotique par hasard pour voir un peu si je pouvais relever le défis de piloter deux trois trucs chez moi. Je crois maintenant que j'ai réussi à me faire attraper par la domotique vu tout ce que j'ai à la maison. Je fais également un peu de VTT, de moto quand le temps le permet.

29 commentaires

  1. Salut,
    Mais du coup ton scénario ne gère pas les azimuth selon le mois?
    Car selon qu’on soit au mois de mai ou au mois de septembre par exemple l’azimuth sera différent à une même heure sur une fenêtre (ça peut varier à +20°)
    Je m’en suis rendu compte l’année dernière que le scénario que j’avais fait en mai était totallement foireux en septembre, du coup je cherche à le refaire.
    Au alors faire plusieurs scénarios selon le mois et adapter les valeurs, je ne vois pas d’autres solutions…

      • Hello,

        j’ai mis un zenith (hauteur du soleil) uniquement pour qu’il soit utile en cas de fermeture très tôt et que par hasard je dormirai plus tard que 7h30 (oui j’ai des enfants en bas âge, je ne connais plus les grasses mat depuis 5 ans 😀 ).
        ça me fait une sécurité en plus.
        J’aurais pu ne pas m’en servir et retarder le déclencheur (cron) pour que ça soit à partir de 09h par exemple.

        Concernant le décalage de mon azimuth par rapport au mois, je n’ai pas ressenti de soucis l’année dernière, il a bien fait le job.
        Mais je ferme très largement, je ne cherche pas à fermer que s’il y a par exemple 80 % de soleil dans la fenêtre, je ferme peu importe la quantité de soleil du coté est ou ouest de la maison.
        Et la partie réouverture pour le coté EST, j’attends que le soleil soit à l’ouest, donc j’ai une marge très grande pour le coup, pour mon besoin ça me va.
        Je ne cherche pas à rouvrir juste au moment ou le soleil est plein sud et que je n’ai plus de soleil sur la facade.

        Je déteste vraiment la chaleur, je me dis que ça laisse un peu de temps à la facade pour “refroidir”

  2. ça marche, je viens de me remettre dedans, bon j’ai un peu exagéré pour le +20°, mais effectivement j’essayais de trouver la bonne valeur, car quand mes volets exposés ouest sont fermés de 13h à 20h, c’est légèrement frustrant (C’est là où il y a mon balcon…)

    Sinon pour les grasses mat, je connais ça aussi, 8h c’est devenu une grasse mat!

  3. TaG - Pierre-Yves le

    Tout est possible pour l’heure de fin et donc de remontee des volets ;)!

    Tu peux programmer un bloc À pour forcer l’ouverture à une certaine heure. Et tu ajuste la programmation pour que la dernière exécution du scénario soit avant le bloc À.

  4. Pour un capteur de luminosité rapide et optimal, un Wemos D1 Mini avec un BH1750 (I2C) et la luminosité sera mesuré comme s’il s’agissait d’un doctorant en luminaire, lol… et pour pousser la chose un peu plus loin tu peux rajouter un ou deux autres capteurs supplémentaire (humidité, température, pression atmo) et tu obtiens ta mini station météo en ESPEASY raccordé à Jeedom.

  5. TaG - Pierre-Yves le

    Merci pour l’info,

    Je ne suis pas tres fort avec tous ces modules.
    Je cherche plitop un capteur intégrables simplement à l’IPX

  6. Moi qui habite dans le sud je commençais à me pauser la question comment gérer ça, ba voilà tu nous guide ! Merci ! Je vais relire tout ça à tête reposée pour tenter de le mettre en pratique sur un des volets déjà.

  7. Je suis admiratif de tout ce code. Pour ma part j’ai fait plus simple. Les pièces de vie se trouvant plein ouest, le soleil “cogne” sur la façade à partir de 14h en général en plein été. J’ai donc un scénario déclenché par les relevé de température d’un thermostat xiaomi. J’utilise également un plugin météo et j’ai configuré pour la règle suivante : A partir de 14h tous les jours, si la température salon > 20° et température extérieure >20° : fermer les volets devant en position intermédiaire (Somfy RTS : My). Bon ok c’est vachement plus simple… bravo à toi pour ce sujet et cette programmation.

    • Effectivement, c’est plus simple, mais c’est fonctionnel pour ton besoin. Si tu peux le faire évoluer avec l’article, c’est super ;).

      N’hésite pas à poser des questions si tu rencontres des soucis avec l’article ;).

  8. Pourquoi ne pas utiliser le Plugin Jeedom “volet”…
    Tu lui indique les angles de visibilité de tes fenêtres et il gère l’ouverture et la fermeture… de meme que l’heure d’ouverture et de fermeture des volets…
    Et il est relativement paramétrable et tres bien soutenu…

    • Bonjour,

      Je l’avais testé, mais je n’étais pas satisfait du fonctionnement.
      J’ai mis ce scénario qui répond à mes besoins sans aucun problème constaté. vu que c’est un scénario, je ne suis limité sur aucun des choix de paramétrages que je peux avoir à faire.

      Et j’essaye d’avoir très peu de plugins, que du plugins officiels ou conseillés. mon jeedom est stable, avec des temps de réponses très satisfaisant. j’évite donc de m’aventurer en dehors de ces règles que je me suis fixé au maximum. J’ai 41 plugins et seulement 4 ne sont pas des officiels ou conseillés.

  9. moi j’ai un détecteur de luminosité par pièce (fibaro), un scénario par pièce (déclencheur: un changement de luminosité dans la pièce concernée) et si la luminosité atteint un seuil il met le volet à une certaine hauteur puis désactive son propre scénario. Chaque matin ces scénarios sont réactivés.
    J’avais combiné cela à un détecteur d’ouverture (fibaro), pour que si la porte fenêtre est ouverte alors le volet de cette porte fenêtre n’est pas baissé. Mais j’ai retiré cette dernière fonction: l’été on peut vouloir laisser ses fenêtres ouvertes en journée, et pour autant vouloir protéger l’intérieur du soleil quand il arrive.

    En tout cas ça marche très bien et c’est trés simple.

  10. Pingback: Bilan de la Semaine 18 - La Domotique de Sarakha63

  11. Bonjour, je vais regarder tout ça de plus près , je pensais utiliser le plugin volet mais peut être que finalement ta solution sera mieux . je vais installer très prochainement un store banne donc il va falloir que je l’intègre aussi .

  12. thbault provenat le

    Bonjour,

    Je me permets de partager un autre très bon site pour calculer la position du soleil : il fait apparaitre sur la carte la position d oleil (azimuth et hauteur). Très facil ainsi de voir où se situe le soleil par rapport aux fenêtres, et de déterminer, soit l’heure, soit l’azimuth pour fermer les volets. (de préférence, ne pas utiliser l’heure car cela bouge chaque jour 🙂 )

    https://www.sunearthtools.com/dp/tools/pos_sun.php?lang=fr

    • Bonjour,

      Oui tout à fait ;). J’ai juste expliqué les méthodes possibles, du moins celle que j’ai en tête au moment de l’article pour déterminer les angles de nos logements ;).

  13. salut, je comptais faire quelque chose comme toi avec les detecteur fibaro.
    Mais j’ai l’impression que mes niveau de luminosite sont incorect.
    je monte jamais au dessus de 500 lux alors que c’est une piece plein sud bien eclaire.

    Cette donné est elle cohérente a ton avis.

    merci

    • Salut,

      Je ne me sers absolument pas de la partie Lux des différents détecteurs dont je dispose.
      Je ne sais pas du tout te répondre sur la partie Lux malheureusement. 🙁
      Désolé

  14. En fait je voulais metre ma question a une personne qui a fait un commentaire au dessus ^^. je vais surement trouver plus facilement ma reponse sur le forum jeedom. merci en tout cas

  15. Bonjour,

    Je vais pouvoir gérer enfin mes volets comme je le souhaite car le plugin “gestion volet” ne fait pas ce que je veux exactement, j’ai tout de même une question (surement bête) mais je n’ai pas vu comment tu déclenchais ton scénario.

    Merci en tout cas pour les partage que tu fais

Laisser un commentaire