Cahier des charges

Le but était, pour moi, d'automatiser l'ouverture et la fermeture des volets le matin et le soir.

Il fallait également permettre une ouverture et fermeture "manuelle" de l'ensemble des volets.

Enfin, il fallait que l'ordre des actions et le temps entre chaque action soit relativement aléatoire.

 

Types de motorisations

Bien sûr, pour faire simple, je n'ai pas le même système partout !

Les volets des chambres sont des SomFy radio-pilotés et ceux du salon et de la cuisine des filocommandés, de marque inconnue.

 

Equipements

Les volets radio-pilotés SomFy sont commandables directement avec un module RFXCom et le plugin "Somfy RTS Velux default". Un article sur le site "maison et domotique" explique très bien comment les faire reconnaitre par Jeedom.

rfxcom rfxtrx433e interface usb emetteur recepteur 43392mhz evolution du rfxtrx433
Le module RFXCom USB

 

Pour les volets filocommandés, j'ai utilisé un module volet roulant ZWave+ (ZMNHCDx Flush Shutter) que j'ai connecté à un ensemble de boutons poussoir pour volets roulants, de chez Legrand.

qubino micromodule pour volet roulant et consometre z wave zmnhcd1 bouton poussoir legrand celiane pour module volet roulant ou variateur compatible fibaro fgr 222 ou fgd 212 et qubino zmnhcd1
Le module ZWave volets roulants L'interrupteur Legrand

 

J'ai aussi du prendre un mini-dongle USB pour piloter mes périphériques ZWave (et installer le plugin correspondant sur Jeedom).

zme uzb1 dongle z wave plus usb equivalent sigma designs uzb
Le mini-dongle USB

 

Mise en place dans Jeedom

Rien de bien compliqué !

Il suffit de suivre la documentation fournie dans les emballages, mais également dans la documentation en ligne du revendeur pour inclure les modules.

Ne pas oublier de "placer" les différents matériels dans les bonnes pièces (object).

 

Les scénarios

C'est là le coeur de ce que je voulais faire.

Pour obtenir ce que je voulais, il m'a fallu créer 4 scénarios :

  • Ouvre volets
  • Ferme volets
  • Entrouvre volets
  • Orchestre volets

 

Entrouvre volets

Avec les modules ZWave, pas trop de problème : on peut définir un pourcentage d'ouverture. En revanche, avec le matériel piloté en RFXCom, pas de retour d'état donc, pas de pourcentage d'ouverture. Pour résoudre cela, j'ai juste utilisé le bouton "stop" qui permet, quand le volet n'est pas en mouvement, de positionner le volet à une ouverture programmée (en maintenant le bouton "stop" appuyé quand le volet est bien positionné).

Donc, le scénario peut se limiter à ceci :

#[Chambre 1][Volet Ch 1][Stop]#
#[Chambre 2][Volet Ch 2][Stop]#
#[Chambre 3][Volet Ch 3][Stop]#
#[Chambre 4][Volet Ch 4][Stop]#
#[Salon][Volet Salon][Positionnement]# 40
#[Cuisine][Volet Cuisine][Positionnement]# 60

Mais on ne gère pas les différents aléas...

Pour temporiser aléatoirement entre les différentes actions, il suffit de faire une pause d'un temps aléatoire.
Pour rendre l'ordre des actions aléatoire, cela m'a posé problème. J'ai finalement trouvé une solution utilisant un bloc "Dans". En effet, dans un temps aléatoire, lance telle ou telle action permet de rendre l'ordre de lancement de ces actions aléatoire.

Ce qui nous donne un scénario un peu plus complexe :

 

Dans RAND(0,5) Pause RAND(7,120)

ATTENTION : "Dans" prend des minutes en paramètre et "Pause" des secondes.

 

On a donc l'entrouverture du volet de la chambre 1 qui se lance dans 0 à 5 minutes et qui doit attendre de 7 à 120 secondes avant d'être lancé.

 

A la fin du bloc, vu qu'une entrée dans la table CRON va être créée, il vaut mieux ajouter un "Stop" pour arrêter l'exécution.

 

On recommence pour chacun des volets !

#[Chambre 1][Volet Ch 1][Stop]#
Stop
Dans RAND(0,5) Pause RAND(7,120)
#[Chambre 2][Volet Ch 2][Stop]#
Stop
Dans RAND(0,5) Pause RAND(7,120)
#[Chambre 3][Volet Ch 3][Stop]#
Stop
Dans RAND(0,5) Pause RAND(7,120)
#[Chambre 4][Volet Ch 4][Stop]#
Stop
Dans RAND(0,5) Pause RAND(7,120)
#[Salon][Volet Salon][Positionnement]# 40
Stop
Dans RAND(0,5) Pause RAND(7,120)
#[Cuisine][Volet Cuisine][Positionnement]# 60
Stop

 

Ouvre volets

Le principe est exactement le même :

Dans RAND(0,5) Pause RAND(7,120)

ATTENTION : "Dans" prend des minutes en paramètre et "Pause" des secondes.

 

On a donc l'entrouverture du volet de la chambre 1 qui se lance dans 0 à 5 minutes et qui doit attendre de 7 à 120 secondes avant d'être lancé.

 

A la fin du bloc, vu qu'une entrée dans la table CRON va être créée, il vaut mieux ajouter un "Stop" pour arrêter l'exécution.

 

On recommence pour chacun des volets !

#[Chambre 1][Volet Ch 1][Monter]#
Stop
Dans RAND(0,5) Pause RAND(7,120)
#[Chambre 2][Volet Ch 2][Monter]#
Stop
Dans RAND(0,5) Pause RAND(7,120)
#[Chambre 3][Volet Ch 3][Monter]#
Stop
Dans RAND(0,5) Pause RAND(7,120)
#[Chambre 4][Volet Ch 4][Monter]#
Stop
Dans RAND(0,5) Pause RAND(7,120)
#[Salon][Volet Salon][Monter]#
Stop
Dans RAND(0,5) Pause RAND(7,120)
#[Cuisine][Volet Cuisine][Monter]#
Stop

 

Ferme volets

Et pareil pour la fermeture :

 

Dans RAND(0,5) Pause RAND(7,120)

ATTENTION : "Dans" prend des minutes en paramètre et "Pause" des secondes.

 

On a donc l'entrouverture du volet de la chambre 1 qui se lance dans 0 à 5 minutes et qui doit attendre de 7 à 120 secondes avant d'être lancé.

 

A la fin du bloc, vu qu'une entrée dans la table CRON va être créée, il vaut mieux ajouter un "Stop" pour arrêter l'exécution.

 

On recommence pour chacun des volets !

#[Chambre 1][Volet Ch 1][Descendre]#
Stop
Dans RAND(0,5) Pause RAND(7,120)
#[Chambre 2][Volet Ch 2][Descendre]#
Stop
Dans RAND(0,5) Pause RAND(7,120)
#[Chambre 3][Volet Ch 3][Descendre]#
Stop
Dans RAND(0,5) Pause RAND(7,120)
#[Chambre 4][Volet Ch 4][Descendre]#
Stop
Dans RAND(0,5) Pause RAND(7,120)
#[Salon][Volet Salon][Descendre]#
Stop
Dans RAND(0,5) Pause RAND(7,120)
#[Cuisine][Volet Cuisine][Descendre]#
Stop

 

Orchestre volets

C'est ce scénario qui va créer l'automatisme d'action.

Pour compléter le cahier des charges, il faut préciser que je souhaitais que les volets s'entrouvrent à 7h15 les journées travaillées et à 10h00 les autres jours ; et qu'ils s'ouvrent complètement à respectivement 7h30 et 10h30. Pour ce qui concerne la fermeture, je souhaitais qu'ils se ferment le plus tôt entre le coucher du soleil et 20h30.

Il est donc nécessaire de récupérer certaines informations offertes heureusement par des plugins existants.
Pour savoir si le jour est travaillé, j'ai utilisé le plugin "infos du jour" qui permet de récupérer les dates de vacances scolaires, de jours fériés et de week-end.
Pour connaitre l'heure de coucher du soleil, j'ai utilisé le plugin "Heliothrope".

C'est ce scénario qui va lancer tous les autres :

Si #[Maison][Mon Héliotrope][Coucher du Soleil]# > 2030
 
A 2030 Scénario [Maison][Base Volets][Ferme volets]
Stop
Si #[Maison][Mon Héliotrope][Coucher du Soleil]# <= 2030 A #[Maison][Mon Héliotrope][Coucher du Soleil]# Scénario [Maison][Base Volets][Ferme volets]
Stop
Si
   
#[Maison][Infos du jour][Férié]# == 1 OU #[Maison][Infos du jour][Vacances]# == 1 OU #[Maison][Infos du jour][Weekend]# == 1     A 1000 Scénario [Maison][Base Volets][Entrouvre volets]
Stop
A 1030 Scénario [Maison][Base Volets][Ouvre volets]
Stop
Si not( #[Maison][Infos du jour][Férié]# == 1 OU #[Maison][Infos du jour][Vacances]# == 1 OU #[Maison][Infos du jour][Weekend]# == 1    ) A 0715 Scénario [Maison][Base Volets][Entrouvre volets]
Stop
A 0730 Scénario [Maison][Base Volets][Ouvre volets]
Stop
   
© Le Farfadet fou !!!