Gérer les jours fériés sous Homeseer

Stephane
1 février 2011

Ayant automatisé les volets de ma maison, j’ai aussitôt créé des « events » sous Homeseer pour les ouvrir et les fermer automatiquement. Cependant, les volets ayant

le défaut de faire un peu de bruit lors de l’ouverture, j’ai cherché pour décaler l’heure d’ouverture le samedi, dimanche et les jours fériés.

Gérer les samedis et dimanches, c’est possible sous Homeseer, mais pas les jours fériés. J’ai donc fait quelques recherches sur les forums, voici la solution que j’ai récupérée du forum Touteladomotique.

 

I. Installation

 

La 1re étape consiste à créer un device qui va recueillir les informations sur le calcul du jour en cours.

 

image1

1 – On commence par cliquer sur le bouton « Add Device » dans le menu « Status». Mettez « Jour férié » dans Device Name et « Status Only » dans Device Type.

Donnez lui un lettercode/Unitcode (u33 dans mon exemple).

Cliquez sur le bouton « Save » pour enregistrer votre device.

image2

2 – Puis, dans le menu « Events », cliquez sur le bouton « Add Event ». Dans la partie Name mettez « Calcul jour ferie ». Décochez la case « Disable Automatic Event

Triggering » afin de pouvoir mettre l’événement en mode déclenchement automatique.

 

image3

3 – Cliquez ensuite en haut sur l’onglet « Trigger ». Mettez « Absolute Time » dans Current Trigger Type puis 0 :01 dans Hour et Minute, afin que l’évènement se

déclenche tous les jours à 0h01.

 

image4

4 – Dans l’étape suivante, sélectionner « Run Script » dans la liste de choix « Add action » et nommez « ferie.txt » dans la case « Existing or new script name ».

A lire également:
Comment utiliser ChatGPT avec Home Assistant pour automatiser votre maison : Guide pour débutants !

Cliquez ensuite sur le bouton « Open Script Window » et copiez/collez le script suivant :

 

sub main()

‘ 2= Férie, 3= Jour Normal

codelu= « VOTRECODELETTREUNITE« ,

thisYear = Year(Date)

thisDay = Day(Date) & « / » & Month(Date)

jourdelasemaine = Weekday(Date)

if jourdelasemaine = 1 then

hs.SetDeviceStatus codelu ,2

HS.WriteLog « ****** », « Nous sommes le  » & Date & « .  » & « Nous sommes un Dimanche. »

hs.SetDeviceString codelu, »<table border= » »0″ » width= » »100% » » bgcolor= » »#FFFF00″ » cellspacing= » »0″ » cellpadding= » »0″ »><tr><td width= » »100% » »><font face= » »Verdana » » color= » »#800000″ »><b>Dimanche</b></font></td></tr></table> »

exit sub

end if

jFixes = « 1/1,1/5,8/5,14/7,15/8,1/11,11/11,25/12 »

G = thisYear Mod 19

c = thisYear \ 100

H = (c – (c \ 4) – ((8 * c + 13) \ 25) + (19 * G) + 15) Mod 30

I = H – (H \ 28) * ((1 – (H \ 28) * (29 \ (H + 1)) * (21 – G) \ 11))

J = (thisYear + (thisYear \ 4) + I + 2 – c + (c \ 4)) Mod 7

L=I-J

mois = 3 + ((L + 40) \ 44)

jour = L + 28 – 31 * (mois \ 4)

jPaques = jour & « / » & mois & « / » & thisYear

jLundiPaques = DateSerial(Year(jPaques), Month(jPaques), Day(jPaques) + 1)

jAscension = DateSerial(Year(jPaques), Month(jPaques), Day(jPaques) + 39)

jPentecote = DateSerial(Year(jPaques), Month(jPaques), Day(jPaques) + 50)

jFeries = jFixes & « , » & Day(jPaques) & « / » & Month(jPaques) & « , » & Day(jLundiPaques) & « / » & Month(jLundiPaques) & « , » & Day(jAscension) & « / » & Month(jAscension) & « , » & Day(jPentecote) & « / » & Month(jPentecote)

tabFeries = Split(jFeries, « , »)

Text = « Ce n’est pas »

hs.SetDeviceStatus codelu,3

hs.setDeviceString codelu, »Jour normal »

For Each Jo In tabFeries

If Jo = thisDay Then

Text = « C’est »

hs.SetDeviceStatus codelu,2

hs.SetDeviceString codelu, »<table border= » »0″ » width= » »100% » » bgcolor= » »#FFFF00″ » cellspacing= » »0″ » cellpadding= » »0″ »><tr><td width= » »100% » »><font face= » »Verdana » » color= » »#800000″ »><b>Jour Ferie</b></font></td></tr></table> »

End If

Next

HS.WriteLog « ****** », « Nous sommes le  » & Date & « .  » & Text &  » un jour férié. »

end sub

5 – Ne pas oublier de remplacer la ligne VOTRECODELETTREUNITE par votre propre code Lettre/unité (u33 dans mon exemple). Cliquez enfin sur le bouton « Save Script » puis « Update» et enfin « Save », l’évènement est prêt pour utilisation.

II. Test

image5

Dans la liste des évènements, si vous cliquez sur le bouton « Run » devant le script « Calcul jour ferie », vous devez retrouver dans votre device le résultat du calcul.

A lire également:
Maison hantée 2.0 : Utilisez Home Assistant pour une expérience d'Halloween connectée et terrifiante !

image6

En cliquant sur ce device et en allant dans l’onglet « Additionnal Information », vous trouverez les résultats suivants :

  • Status = 3 = OFF : Jour normal
  • Status = 2 = ON : Jour férie
  • String : Nom du jour férié ou le texte « Jour normal »

III. Programmation des volets

Le calcul du jour férié aura lieu maintenant tous les jours à 0h01. Il ne reste plus qu’à appliquer une condition pour l’ouverture des volets. Pour cela, j’ai créé deux

évènements :

image7

Le 1er ouvre les volets suivant l’heure de lever du soleil si on n’est pas un jour férié

image8

Le 2éme ouvre les volets à heure fixe les jours fériés.

IV. Conclusion

Je trouve un peu compliqué la gestion des jours fériés sous Homeseer. Tout bon système d’information se doit de pouvoir gérer ce type d’évènement avec un calendrier fixe et mobile (dans une base de données). J’espère que la prochaine version de Homeseer sera capable d’évoluer et d’intégrer en natif cette problématique.

share Partager

Ces articles pourraient aussi vous intéresser:

Onduleur sous tension : décuplez sa puissance avec Home Assistant et devenez le maître de votre domotique

Découvrez comment intégrer votre onduleur à Home Assistant pour une gestion optimale de votre installation domotique. Guide complet, astuces et exemples concrets pour une maison connectée plus fiable que jamais !

Automatisez Noël avec Home Assistant et ChatGPT: Créez une maison festive et connectée en quelques clics !

Découvrez comment automatiser votre maison pour Noël avec Home Assistant ! Ce guide complet vous montre comment synchroniser lumières, musique, et effets festifs pour créer une ambiance magique et connectée. Transformez chaque recoin de votre maison en un véritable décor de Noël grâce à des scénarios simples et interactifs.

Maison hantée 2.0 : Utilisez Home Assistant pour une expérience d'Halloween connectée et terrifiante !

Découvrez comment transformer votre maison en maison hantée 2.0 avec Home Assistant ! Suivez nos scénarios d'automatisation pour Halloween et créez une expérience interactive et terrifiante à l'aide de lumières intelligentes, de sons effrayants, et bien plus encore. Surprenez vos invités avec une maison connectée qui prend vie la nuit !

0 réaction

Votre réaction
Nom
Adresse de messagerie
Site internet