Le journal de Violey 1

Bonjour,

Je vais faire « le journal de Violey », parce que parfois, je suis un peu à cours d’idée d’article. Je sais que je n’ai pas des sujets de grand malade mais bon. Même si je n’ai pas de nouveauté toutes les semaines ça sera le moyen de me motiver à faire bouger les choses. Et puis ça permettra de vous faire voir l’évolution.

Modifications logiciel de la semaine

  • Amélioration du scénario de contrôle des modes, qui ne basculaient pas les mode Jour et Nuit convenablement:
    • Passage des Jour ou Nuit à l’heure du couché du soleil et dans les 20 minutes qui suivent. Parfois les scénarios ne s’exécutent pas tout de suite et la condition si(heure levé du soleil = #time#) ne fonctionne pas (au passage, a noter que les scénarios ne sont plus trop réactif)
    • Passage en Mode jour si luminosité supérieur à 100 lux et en mode nuis si la luminosité inférieure à 100 lux
    • Séparation des scénarios de gestions des modes pour ne pas consommer trop de ressources
      • Un scénario pour les modes jour/nuit qui se base en partie sur la luminosité (donc consommateur de ressources) et que je désactive quand je suis en mode « Sommeil » ou encore « Absent »
      • Un scénario pour les modes absent / présent pour le retour automatique en mode Présent quand le système est en mode Absent et que le capteur de l’entrée détecte une présence

=> En résumé trois scénarios en rapport avec les modes qui sont:

Extract des scénarios de mode.
- Nom du scénario : Mode Master A/P
- Objet parent : Commandes
- Mode du scénario : provoke
    - Evènement : #[Commandes][Sommeil][Sommeil]#
    - Evènement : #[Entrée][ENTREE SALON][Présence]#
    - Evènement : #[Salon][Motion Sensor SALON][Présence]#    
    SI #[Commandes][Sommeil][Sommeil]# == "ON"  
    ALORS
     #[Commandes][ModePA][Présent]# - Options : Array
    (
        [enable] => 1
    )
    
    SINON
    SI #[Commandes][ModePA][ModePA]# == "Absent"  
    ALORS
        SI #[Entrée][ENTREE SALON][Présence]# == 1 ET #[Salon][Motion Sensor SALON][Présence]# == 1  
        ALORS
         #[Commandes][ModePA][Présent]# - Options : Array
        (
            [enable] => 1
        )
        SINON
    SINON
- Nom du scénario : Mode Master J/N
- Objet parent : Commandes
- Mode du scénario : provoke
    - Evènement : #[Appartement][Angers][Lever du soleil]#
    - Evènement : #[Appartement][Angers][Coucher du soleil]#
    - Evènement : #[Salon][Motion Sensor SALON][Luminosité]#
    SI #[Appartement][Angers][Lever du soleil]# == #time# || (#[Appartement][Angers][Lever du soleil]# > #time# && #[Appartement][Angers][Lever du soleil]# < time_op(#time#,20)) || #[Salon][Motion Sensor SALON][Luminosité]# > 100  
    ALORS
     #[Commandes][Modes][Jour]# - Options : Array
    (
        [enable] => 1
    )    
    SINON    
    SI #[Appartement][Angers][Coucher du soleil]# == #time# || (#[Appartement][Angers][Coucher du soleil]# > #time# && #[Appartement][Angers][Coucher du soleil]# < time_op(#time#,20)) || #[Salon][Motion Sensor SALON][Luminosité]# < 100 #[Appartement][Angers][Coucher du soleil]# == #time# || (#[Appartement][Angers][Coucher du soleil]# > #time# && #[Appartement][Angers][Coucher du soleil]# < time_op(#time#,20)) || #[Salon][Motion Sensor SALON][Luminosité]# < 100 #[Appartement][Angers][Coucher du soleil]# == #time# || (#[Appartement][Angers][Coucher du soleil]# > #time# && #[Appartement][Angers][Coucher du soleil]# < time_op(#time#,20)) || #[Salon][Motion Sensor SALON][Luminosité]# < 100 ALORS #[Commandes][Modes][Nuit]# - Options : Array ( [enable] => 1
    )
    SINON
- Nom du scénario : Modes_Master_D
- Objet parent : Commandes
- Mode du scénario : provoke
    - Evènement : #[Commandes][Modes][Mode]#
    - Evènement : #[Commandes][ModePA][ModePA]#
    - Evènement : #[Commandes][Sommeil][Sommeil]#
	
    SI #[Commandes][Sommeil][Sommeil]# == "ON"  
    ALORS         
        SI #[Commandes][ModePA][ModePA]# == "Présent" 
        ALORS
         log - Options : Array
        (
            [enable] => 1
            [message] => Tout éteint
        )        
         log - Options : Array
        (
            [enable] => 1
            [message] => Réseau de capteurs pour partie commune
        )        
         (scenario) deactivate de [Salon][Salon][toujours a 1]
         (sleep) Pause de  : 1
         (scenario) start de [Appartement][Appartement][Extinction]
         #[Salon][Chauffage Salon][Eco]# - Options : Array
        (
            [enable] => 1
        )        
         #[Cuisine][Chauffage Cuisine][Eco]# - Options : Array
        (
            [enable] => 1
        )        
         #[Cuisine][Chauffage Cuisine][Eco]# - Options : Array
        (
            [enable] => 1
        )        
         #[Chambre Thomas][Chauffage Chambre][Eco]# - Options : Array
        (
            [enable] => 1
        )        
         (scenario) deactivate de [Commandes][Appartement][Mode Master J/N]
        SINON
         log - Options : Array
        (
            [enable] => 1
            [message] => Tout éteint
        )
    SINON         
        SI #[Commandes][ModePA][ModePA]# == "Absent" 
        ALORS             
            SI #[Commandes][Modes][Mode]# == "Jour"  
            ALORS
             log - Options : Array
            (
                [enable] => 1
                [message] => Tout éteint
            )            
             (scenario) deactivate de [Salon][Salon][Master lumière SALON]
            SINON
             log - Options : Array
            (
                [enable] => 1
                [message] => Tout éteint
            )            
             (scenario) deactivate de [Salon][Salon][Master lumière SALON]
         (variable) Affectation de la variable : h_absent à #time#
         #[Salon][Chauffage Salon][Absent]# - Options : Array
        (
            [enable] => 1
        )        
         #[Cuisine][Chauffage Cuisine][Absent]# - Options : Array
        (
            [enable] => 1
        )        
         #[Entrée][Chauffage Entrée][Absent]# - Options : Array
        (
            [enable] => 1
        )        
         #[Chambre Thomas][Chauffage Chambre][Absent]# - Options : Array
        (
            [enable] => 1
        )        
         (scenario) start de [Appartement][Appartement][Extinction]
         (scenario) deactivate de [Commandes][Appartement][Mode Master J/N]
        SINON             
            SI #[Commandes][Modes][Mode]# == "Jour"  
            ALORS
             log - Options : Array
            (
                [enable] => 1
                [message] => Tout éteint
            )            
             #[Salon][Chauffage Salon][Confort]# - Options : Array
            (
                [enable] => 1
            )            
            SINON
             log - Options : Array
            (
                [enable] => 1
                [message] => Réseau de capteurs
            )
         (variable) Affectation de la variable : h_absent à -16
         #[Salon][Chauffage Salon][Confort]# - Options : Array
        (
            [enable] => 1
        )        
         #[Chambre Thomas][Chauffage Chambre][Confort]# - Options : Array
        (
            [enable] => 1
        )        
         #[Cuisine][Chauffage Cuisine][Confort]# - Options : Array
        (
            [enable] => 1
        )        
         #[Entrée][Chauffage Entrée][Confort]# - Options : Array
        (
            [enable] => 1
        )
  • Amélioration du scénario de gestion de la lumière du salon, je me suis rendu compte qu’il n’éteignait pas les lumières au bout d’un temps d’absence prolongé:
    • Je me suis inspiré de l’article de geekland avec une variable « heure_extionction » à « #time#+15 » à #time#+30
    • J’y ai aussi ajouté cette condition « variable(heure_extinction) < #time# || variable(heure_extinction) > 2359 » qui permet de réinitialiser la variable si jamais elle passe à plus de 2359
    • Timer d’extinction diminué a 5 minutes en mode sommeil
Extract des scénarios de lumière.
- Nom du scénario : Master lumière SALON 2
- Objet parent : Salon
- Mode du scénario : provoke
    - Evènement : #[Salon][Motion Sensor SALON][Présence]#
    - Evènement : #[Commandes][Modes][Mode]#
    - Evènement : #[Cuisine][CUISINE SALON][Présence]#
    - Evènement : #[Entrée][ENTREE SALON][Présence]#
    
    SI #[Commandes][Sommeil][Sommeil]# == "ON"  
    ALORS         
        SI #[Entrée][ENTREE SALON][Présence]# == 1 || #[Cuisine][CUISINE SALON][Présence]# == 1 OU #[Salon][Motion Sensor SALON][Présence]# == 1  
        ALORS             
            SI #[Commandes][ModePA][ModePA]# == "Présent"
            ALORS                 
                SI #[Salon][Vidéoprojecteur][Etat]# == 0  && #[Salon][Motion Sensor SALON][Présence]# == 1 
                ALORS
                 #[Salon][Lumière Salon FGD 211][On]# - Options : Array
                (
                    [enable] => 1
                )                
                 (variable) Affectation de la variable : heure_extinction à #time#+5
                SINON                     
                    SI #[Cuisine][CUISINE SALON][Présence]# == 1 && #[Cuisine][CUISINE SALON][Ouverture]# == 1  && #[Salon][Vidéoprojecteur][Etat]# == 0 
                    ALORS
                     #[Salon][Lumière Salon FGD 211][On]# - Options : Array
                    (
                        [enable] => 1
                    )                    
                     (variable) Affectation de la variable : heure_extinction à #time#+5
                    SINON                         
                        SI #[Entrée][ENTREE SALON][Présence]# == 1 && #[Entrée][ENTREE SALON][Ouverture]# == 1  && #[Salon][Vidéoprojecteur][Etat]# == 0 
                        ALORS
                         #[Salon][Lumière Salon FGD 211][On]# - Options : Array
                        (
                            [enable] => 1
                        )                        
                         (variable) Affectation de la variable : heure_extinction à #time#+5
                        SINON
            SINON
             #[Salon][Lumière Salon FGD 211][Off]# - Options : Array
            (
                [enable] => 1
            )
        SINON             
            SI variable(heure_extinction) < #time# || variable(heure_extinction) > 2359
            ALORS                 
                SI  variable(heure_extinction) > 2359 && (#time# < 2359 || #time# > 2355) && #[Commandes][Sommeil][Sommeil]# == "OFF"  
                ALORS                     
                    SI [Salon][Vidéoprojecteur][Etat]# == 0  
                    ALORS
                     #[Salon][Lumière Salon FGD 211][On]# - Options : Array
                    (
                        [enable] => 1
                    )                    
                     (variable) Affectation de la variable : heure_extinction à #time#+5
                    SINON
                SINON
                 #[Salon][Lumière Salon FGD 211][Off]# - Options : Array
                (
                    [enable] => 1
                )                
                 (variable) Affectation de la variable : heure_extinction à 0
            SINON
    SINON         
        SI #[Entrée][ENTREE SALON][Présence]# == 1 || #[Cuisine][CUISINE SALON][Présence]# == 1 OU #[Salon][Motion Sensor SALON][Présence]# == 1  
        ALORS             
            SI #[Commandes][ModePA][ModePA]# == "Présent"
            ALORS                 
                SI #[Salon][Vidéoprojecteur][Etat]# == 0  && #[Salon][Motion Sensor SALON][Présence]# == 1 
                ALORS
                 #[Salon][Lumière Salon FGD 211][On]# - Options : Array
                (
                    [enable] => 1
                )                
                 (variable) Affectation de la variable : heure_extinction à #time#+30
                SINON                     
                    SI #[Cuisine][CUISINE SALON][Présence]# == 1 && #[Cuisine][CUISINE SALON][Ouverture]# == 1  && #[Salon][Vidéoprojecteur][Etat]# == 0 
                    ALORS
                     #[Salon][Lumière Salon FGD 211][On]# - Options : Array
                    (
                        [enable] => 1
                    )                    
                     (variable) Affectation de la variable : heure_extinction à #time#+30
                    SINON                         
                        SI #[Entrée][ENTREE SALON][Présence]# == 1 && #[Entrée][ENTREE SALON][Ouverture]# == 1  && #[Salon][Vidéoprojecteur][Etat]# == 0 
                        ALORS
                         #[Salon][Lumière Salon FGD 211][On]# - Options : Array
                        (
                            [enable] => 1
                        )                        
                         (variable) Affectation de la variable : heure_extinction à #time#+30
                        SINON
            SINON
             #[Salon][Lumière Salon FGD 211][Off]# - Options : Array
            (
                [enable] => 1
            )
        SINON             
            SI variable(heure_extinction) < #time# || variable(heure_extinction) > 2359
            ALORS                 
                SI  variable(heure_extinction) > 2359 && (#time# < 2359 || #time# > 2345) && #[Commandes][Sommeil][Sommeil]# == "OFF"  
                ALORS                     
                    SI #[Salon][Vidéoprojecteur][Etat]# == 0  
                    ALORS
                     #[Salon][Lumière Salon FGD 211][On]# - Options : Array
                    (
                        [enable] => 1
                    )                    
                     (variable) Affectation de la variable : heure_extinction à #time#+30
                    SINON
                SINON
                 #[Salon][Lumière Salon FGD 211][Off]# - Options : Array
                (
                    [enable] => 1
                )                
                 (variable) Affectation de la variable : heure_extinction à 0
            SINON
  • J’ai commencé à créer des scénarios pour toutes les pièces avec comme actions « log = allumer telle pièce » pour appréhender le moment ou j’aurai les modules

Matériel

+1 Module de gestion de chauffage, plus que 4.

TypeNombreObjectif
FGS 2121 45
FGD 21117 ou 8
PSM0 v226
Motion sensor1 22 ou 3

Prévisions

Il me manque un module de chauffage, celui pour la salle de bain. Mais bon, je ne trouve pas vraiment important de chauffer la salle de bain: c’est la pièce qui se trouve au centre pour prendre la douche… ba je la prend chaude donc j’ai pas froid et ensuite ça me permet d’aller plus vite pour m’habiller et me préparer le matin xD

Je pense donc switcher sur des modules de lumières. J’ai des capteurs de présence et d’ouverture dans l’entrée, le salon, la cuisine et la chambre. Je pense donc que ce seront les prochaine pièce sur lesquels me concentrer. En gros toujours tout sauf la salle de bain.

Je sens aussi le système un peu lent depuis quelques temps. Je commence à réfléchir à soit:

  • acheter un serveur qui me permettra d’héberger d’autres choses
  • acheter un deuxième raspberry pi 2 et déporter le zwave dessus en mode esclave ou encore utiliser mon raspberry pi 1 mais il faut que je la reconfigure (et que j’achète un lecteur de carte parce que l’ancien est resté che zles parents)

Bon, je pense que c’est déjà pas mal on va arrêter avec les précisions.

A+ =)