Accéder au contenu principal

Sonoff mini pour domotiser les volets roulants : intégration dans jeedom

 Après avoir proposé une solution pour domotiser un volet roulant à moins de 15 euros, je vous propose aujourd'hui comment intégrer cette solution dans jeedom avec les scénarios qui vont bien, le virtuel et le widget pour l'afficher sur votre dashboard.

Petit rappel quand même : la solution proposée consiste à utiliser 2 sonoff mini pour commander un volet roulant : un sonoff pour la montée et un autre pour la déscente.

Voici notre cible d'affichage dans le dashboard : 

L'équipement virtuel dans jeedom

Commençons dèjà par l'équipement virtuel qui va représenter l'ensemble des deux modules qui nous permettent de commander notre volet roulant. Pour ceux qui ne savent pas ce que c'est, un équipement virtuel est un équipement que nous créons de toutes pièces pour représenter un ou plusieurs équipements, cet équipement aura un nom, des actions que nous pourrons programmer via des scénarios et des informations calculées à partir des informations et états d'autres équipements.

Installez le plugin Virtuel si ce n'est pas encore fait, puis Menu -> Plugin -> Programmation -> Virtuel

Cliquez sur le bouton Ajouter et donner un nom au virtuel, et cliquer sur OK. Lui affecter un objet parent et cocher les cases Activer et Visible. 

Aller maintenant dans le tab Commandes. Ici nous allons créer toutes les informations et les commandes qu'aura besoin l'équipement Virtuel. Nous aurons besoin principalement de 3 commandes : Ouvrir, Fermer et Arrêter. En ce qui concerne les informations, nous aurons besoin de la position du volet et pour déterminer cette position nous allons avoir besoin de la dernière date de déclanchement d'une commande d'ouverture ou de fermeture, j'ai choisi de la stocker au format timestamp (format numérique qui donne le nombre de secondes écoulées depuis le 01/01/1970 à l'instant T) je vous expliquerais plus tard comment nous allons utiliser cette information. Et enfin nous allons avoir besoin du sens de déplacement du volet (M = montée, D = déscente)




Les informations Ouvrir, Fermer et Arrêter ont été créées par Jeedom quand j'ai créé les actions correspondantes et que j'ai sauvegardé, donc il ne faut pas les créer à la main. L'information Etat je n'en ai pas parlé plus haut, parce qu'en fin de compte je ne l'utilise pas, c'est juste une information binaire qui dit oui ou non le volet est fermé à partir de l'information Position. Donc dans la case calcul de cette information j'ai mis : #[Chambre 1][Store][Position]# > 0.

Les scénarios 

Ouvrir le volet

Créer un scénario pour l'ouverture du volet, ajouter un déclancheur et mettez l'information Ouvrir de votre équipement virtuel (#[Chambre 1][Store][Ouvrir]#) . En fait, lorsque vous allez appeler l'action Ouvrir, jeedom va provoquer un changement dans l'information Ouvrir ce qui nous permettra de déclancher le scénario.

Pour ouvrir, on vérifie d'abord si le volet est entrain de descendre (module de descente à ON) auquel cas on le pass à Off. Puis on vérifie si le Volet n'est pas déjà en position Ouverte, si ce n'est pas le cas on met le module de montée à ON. ça donne ça : 

Fermer le volet 

Créer un scénario pour la fermeture, ajouter un déclancheur et mettez l'information Fermer de votre équipement virtuel (#[Chambre 1][Store][Fermer]#)
On fait les mêmes vérifications / actions mais dans l'autre sens.

Arrêter le volet 

Déclancheur : #[Chambre 1][Store][Arreter]#

Calcul de la position du volet

J'ai tout d'abord mesuré le temps que met mon volet pour faire une montée ou une déscente complète. Dans mon cas c'est 30 secondes. On définit la valeur d'ouverture du volet à 90 par souci de simplification (30 * 3) et la valeur de fermeture du volet à 0.

A chaque fois que le volet va commencer à se déplacer (monter ou déscendre) il faut mettre à jour l'information "DerniereCommande" dans le virtuel avec le timestamp en cours et l'information "Sens dernière commande" par M si on démarre une montée et D si on démarre une déscente.

Nous allons calculer la position du volet lorsque le volet a fini de monter ou de déscendre. Ceci se traduit chez nous par le passage à OFF de l'un des 2 modules sonoff. On peut donc calculer le nombre de secondes que le module est resté ON en faisant "Date courante" - "DerniereCommande". Le résultat va être un nombre de secondes <= 30, pour ramener cette valeur à 90 nous allons la multiplier par 3.

Dans le sens déscente la Position est égale à  : 
#[Chambre 1][Store][Position]# - 3 * (#timestamp#  - #[Chambre 1][Store][Derniere Commande]#)
Dans le sens montée la Position est égale à :
#[Chambre 1][Store][Position]# + 3 * (#timestamp#  - #[Chambre 1][Store][Derniere Commande]#)

Scénario lorsque le module de montée change d'état

Créer  un scénario dont le déclancheur est #[Chambre 1][StoreMontee][Etat du relais]#

- Cas où l'état devient 0 : ce qui nous intéresse ici c'est quand on passe à 0 et que nous étions en sens montée, cela veut dire que le volet était entrain de s'ouvrir et qu'il s'est arrêté, dans ce cas on doit mettre à jour la position de l'équipement.

- Cas où l'état devient 1 : Deux cas à gérer, 
    * si les 2 modules sont à 1 (ou ON si vous voulez) j'en déduis que le volet était entrain de déscendre et qu'une personne a appuyé sur le sens montée, dans ce cas là j'ai décidé d'arrêter le volet et donc de mettre les 2 modules à OFF (ou 0) et de sortir.
    * si le module de montée est à 1 mais que le module de déscente est à 0, j'en déduis que le volet commence à monter (à s'ouvrir), dans ce cas je mets à jour l'information "Derniere Commande" avec le timestamp de l'instant (la date en secondes) et l'information "Sens Derniere Commande" avec la valeur 'M'

Voilà à quoi ça ressemble :


Scénario lorsque le module de descente change d'état

Créer donc un scénario dont le déclancheur est #[Chambre 1][StoreDescente][Etat du relais]#

Même chose dans l'autre sens, je vous épargne les explications, voici à quoi ça ressemble:

Le Widget dans jeedom

Maintenant que nous avons un équipement virtuel, nous allons lui faire un widget pour l'afficher sur le dashboard.

Aller dans Menu -> Outils -> Widget, cliquer sur Ajouter, donner un nom à votre widget et cliquez sur OK.
Type : Info
Sous-Type : Numérique
Template : Multistate 

Nous avons choisi le template multistate pour pouvoir afficher l'état du volet par rapport à sa position.


 En haut à droite, cliquer sur "appliquer sur" cochez la case qui correspond à l'information "Position" 
 de l'équipement virtuel, cliquez sur valider puis sur Enregistrer. Il ne vous reste plus qu'à aller sur les commandes de l'équipement virtuel et de décocher la case afficher partout sauf dans les 3 commandes Up, Down et Stop et dans l'information Position. Choisissez les icônes pour les actions (une flèche vers le haut, une flèche vers le bas et un carreau pour le stop) . Activer et afficher l'équipement virtuel. Enregistrer tout.

Voilà ce que ça donne sur le dashboard.





Sympa non ? 

Bon bein, c'est fini, du coup je vous dis à la prochaine, portez vous bien et gonflez vos pneus pour prendre la route !

Commentaires

Posts les plus consultés de ce blog

Niveau de remplissage d'un puisard : capteurs d'innondation aqara xiomi

Je sais que cet article n'intéressera pas tout le monde mais ceux qui ont un besoin similaire au mien trouverons certainement l'idée intéressante.  Contexte Un puisard est une sorte de puit qui a des trous, on récolte les eaux de pluie dedans pour les diffuser tranquillement dans les sols. J'ai 2 puisards chez moi, et de temps en temps quand il pleut trop, je m'inquiète de leur niveau de remplissage, du coup je mets mes bottes, ma veste et je sors dans la pluie pour aller voir à quel niveau ils sont remplis. L'idée pour moi c'est donc de rester au chaud et d'avoir le niveau de remplissage dans mon dashboard sur jeedom. J'ai donc eu l'idée d'utiliser des détecteurs d'innondation pour me donner le niveau de remplissage du puisard. Mon puisard fait 4 mètres de profondeur, j'ai donc définit 4 paliers :  - 1 palier à 3m50 de profondeur pour dire que le niveau du puisard commence à monter. - 1 palier à 2m50 de profondeur - 1 palier à 1m50 de pr

Domotiser ses volets roulants pour moins de 15 euros

J'essaye de domotiser mes volets roulants avec le cahier de charges suivant :  Module qui fonctionne en CloudLess Module fiable en gardant le fonctionnement avec l'interrupteur physique Si possible pas très cher (j'en ai une dixaine à domotiser) et c'est prinicipalement sur ce point que je ne trouve pas mon compte Les solutions qui s'offrent à nous tout de suite :  Les modules Fibaro (zwave):  fonctionne très bien mais ça coûte minimum 50 euros. Les modules  Qubino (zwave): Tout pareil que Fibaro et ça coûte environ 40 euros. Les modules shelly (wifi) : ça rempli aussi le cahier de charges mais ceux ci sont à un peu plus de 30 euros. Je ne comprends pas le prix de ces modules , c'est pour ça que je me suis lancé à la recherche d'une solution alternative , je ne suis pas un pro du hardware pour refaire un module de zéro à partir de composants électroniques, et même si je l'étais je ne pense pas que c'est une bonne idée parce que entre un module qui ma