Après avoir installé les capteurs d’ouvertures sur les baies vitrées coulissantes de l’appartement je continue à mettre en place les fonctionnalités souhaitées par les résidents. L’une d’entre elles est le besoin de savoir quelles sont les fenêtres fermées ou bien laissées à tort ouvertes dans la maison lorsque l’on quitte le logement. Bien sûr cette vérification peut être faite en se déplaçant dans chaque pièce. Ce n’est pas la taille de l’appartement qui justifie l’automatisation de la vérification des issues, mais lorsqu’il est l’heure d’accompagner les enfants à l’école et que l’on est déjà un peu juste en temps, la domotique peut nous apporter son aide.
La première étape a consisté à mettre un module de détection d’ouvertures sur chaque fenêtre ou baie vitrée. Pour ces dernières je vous conseille de relire si ce n’est pas déjà fait, la petite astuce qui m’a permis de n’acheter qu’un seul détecteur pour surveiller en même temps les 2 panneaux coulissants.
Il existe plusieurs manières de prendre le sujet. Pour faire simple considérons que l’on veuille être alerté par un message nous indiquant si l’une des fenêtres est restée ouverte ou bien si toutes les issues sont fermées dès que l’on ouvre la porte d’entrée.
Solution 1 :
A l’ouverture de la porte d’entrée on regarde l’état de chaque fenêtre et on envoie un message par ouverture. C’est la solution la plus simple mais pas forcément la plus adaptée car plus on a de fenêtre plus on recevra de messages qu’il faudra étudier 1 par 1 afin d’identifier une éventuelle fenêtre à fermer. Le gain de temps est… discutable.
Solution 2 :
A l’ouverture de la porte d’entrée on regarde l’état de chaque fenêtre et on envoie un message par ouverture laissée ouverte uniquement. C’est une variante de la solution précédente. Elle reste simple mais il faudra toujours étudier 1 par 1 ces messages afin de prendre connaissance de la fenêtre à fermer. Normalement il ne devrait pas y avoir trop de fenêtres ouvertes mais ce n’est pas parfait.
Solution 3 :
A l’ouverture de la porte d’entrée on regarde l’état de chaque fenêtre et on envoie un seul message pour toutes les ouvertures. Cette solution reste simple. Elle n’envoie qu’un seul message à lire ou à écouter. Ce n’est pas forcément non plus la meilleure car plus on a de fenêtre plus le message sera long et plus il faudra étudier les message afin d’en extraire l’information utile.
Solution 4 :
A l’ouverture de la porte d’entrée on regarde l’état de chaque fenêtre et on envoie un seul message pour toutes les ouvertures laissées ouvertes uniquement. C’est la solution idéale en ce qui nous concerne car elle n’envoie qu’un seul message à lire ou à écouter. Dans le contenu du message il n’y a que de l’information utile.
La solution qui nous convient est donc la 4. Voici comment y arriver sans faire appel à autre chose que ce qui est proposé par la box eedomus
Mise en oeuvre
- Créer un état virtuel “Vérif Ouvertures” qui sera le déclencheur de la vérification des fenêtres:
- lui affecter les valeurs suivantes:
- Ensuite, pour chaque ouverture créer un état virtuel qui sera utilisé pour y recopier son statut
- Chacun de ces états virtuels aura des valeurs qui suivent les statuts des ouvrants. La 1ère astuce réside dans le fait de ne rien indiquer pour la valeur correspondante à “Fermé”. Pour cela il faut saisir un espace en tant que “Description”. La 2nde astuce consiste à renseigner comme “Description” du statut correspondant à “Ouvert” le nom de la fenêtre suivi d’une virgule (utilise pour la lisibilité du message final).
Voici l’exemple pour la cuisine:
- Pour chacun de ces états, créer 2 règles afin de faire en sorte que le capteur placé sur une fenêtre donnée agisse sur son état virtuel correspondant. On crée une règle pour la fermeture et une autre pour l’ouverture.
L’utilisation des états virtuels pour dupliquer les statuts du détecteur d’ouvertures n’est dicté que par notre envie de voir des libellés “normaux” lorsque l’on consulte l’appli qui nous permet de piloter et contrôler la maison. Si pour vous cela n’est pas important, vous pouvez modifier directement les “Descriptifs” des valeurs de votre détecteur d’ouverture et utiliser par la suite le détecteur en direct plutôt que le périphérique créé ci-dessus dupliquant son statut.
A ce stade chaque détecteur a un état virtuel correspondant qui le suit. Le fait d’ouvrir une fenêtre agit sur le statut du détecteur et grâce aux règle ci-dessus, répercute l’information sur l’état virtuel correspondant.
Il nous faut maintenant créer les règles afin de gérer la vérification de toutes les ouvertures lorsqu’elles sont toutes fermées et lorsqu’au moins l’une d’entre elles est ouvertes. Pour l’exemple j’utilise une alerte par Twitter sur les smartphones.
- Créer la règle de détection de fermeture de toutes les portes et fenêtres:
- Créer la règle de détection de’ouverture d’au moins une porte ou fenêtre:
Cette règle, si elle est vérifiée, appelle un composant HTTP qui communique avec le service PushingBox car le message à envoyer ne tenait tout simplement pas dans la zone prévue pour les messages standard Twitter. Il permet d’illustrer également le fait d’utiliser un composant HTTP pour envoyer ce message à un système de synthèse vocale comme par exemple le lapin Karotz ou l’application PAW.
Mon composant PushingBox est construit de la manière suivante avec un périphérique “HTTP-Actionneur”.
Ses valeurs sont :
La donnée utile à communiquer à PushingBox est la suivante:
Le texte qui sera envoyé à Twitter via les bons services de Pushingbox est de la forme:
&texte=Vérifier : [LAST_VALUE PERIPH_ID=11111][LAST_VALUE PERIPH_ID=22222][LAST_VALUE PERIPH_ID=33333]
11111, 22222, 33333 sont les identifiants des différents états virtuels créés précédemment pour chaque ouverture. Avant de contacter PushingBox, eedomus replacera tous les “LAST_VALUE PERIPH_ID=11111” par le descriptif de la valeur de l’état.
Pour reprendre l’exemple de la cuisine on aura donc:
- en cas de fenêtre ouverte : “Fenêtre de la Cuisine,”
- en cas de fenêtre fermée : ” “
On y est presque! Il faut maintenant brancher le déclenchement de la vérification en fonction d’un événement. Si l’on souhaite vérifier les ouvertures à chaque fois que l’on ouvre la porte d’entrée il faudra utiliser la règle suivante:
Tout cette mise en place est utile pour obtenir un seul message indiquant proprement quelles sont les portes et fenêtres ouvertes dès lors que l’on part de la maison. Au final on reçoit un message tout beau du style: