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

Sonoff mini DIY + Ikea tradfri : un combo gagnant

ça va faire maintenant quelques temps que je monte mon système de domotique en testant plusieurs produits et plus j'avance plus je me dis que je devrais partager ce que je découvre parce que les débuts n'ont pas été simples, même s'il y a beaucoup de forums / blogs qui en parlent. Il est donc venu l'heure d'apporter une pierre à l'édifice. Pour ce premier billet j'ai choisi de parler de l 'association de 2 produits pour contrôler une lumière:  - Ikea Tradfri : ampoule + télécommande  - Sonoff mini avec le mode DIY Vous allez me dire mais pourquoi 2 produits ? oui effectivement la solution la solution la plus simple serait d'acheter un module fibaro mais ça coûte 50 euros le module * le nombre d'interrupteurs dans la maison : aîe ça calme !!!!! en plus avec un fibaro vous n'avez pas la télécommande connectée qui est un vrai plus dans une chambre. Le besoin  Le besoin initial est tout simplement de pouvoir contrôler une lumière d'une chambr

Mise en oeuvre d'un équipement virtuel dans Jeedom

Cas du sonoff Mini + Ampoule et télécommande Tradfri Voici le 3ème article dans le cas d'utilisation de la combinaison de l'ampoule + télécommende Tradfri et le module sonoff mini DIY. Après avoir expliqué mon choix et un peu de théorie sur la mise en oeuvre de cette combinaison , nous voici dans l'implémentation de la solution sur Jeedom. On va commencer par installer le plugin "Virtuel".  Ensuite aller dans le menu plugin -> Programmation -> Virtuel Cliquer sur le + pour ajouter un nouvel équipement virtuel, donnez lui un petit nom et cliquez sur "OK" Cocher les cases "Visible" et "Actif", choisir la catégorie + objet parent. Aller ensuite dans l'onglet "Commandes", nous allons commencer par les infos. Cliquer sur le bouton "Ajouter une info virtuelle" Remplir les zones comme suit :  Nom : Etat Sous type : binaire Valeur : #[Chambre 1][Relais][Etat du relais]#  ET  #[Chambre 1][Ampoule][Etat 01]# Pour

Jeedom : Un widget pour mon équipment virtuel

 Après mes précédents articles qui expliquent le pourquoi du comment d'un équipement virtuel et sa mise en oeuvre dans jeedom, je viens aujourd'hui terminer cette série en finissant par un widget, pour rappel voici les articles qui ont précédé celui ci : Sonoff mini DIY + Ikea tradfri : un combo gagnant L'équipement virtuel : sonoff + ikea Mise en oeuvre d'un équipement virtuel dans Jeedom Le widget va donc nous permettre de visualiser et faire des actions sur notre équipement virtuel (ou changer le visuel de n'importe quel équipement) Pour créer un nouveau widget, aller dans le menu Outils -> Widgets et cliquer sur le "+" (Ajouter) Donner un nom à votre widget et cliquer sur OK Remplissez le formulaire comme ceci :  - Type : info - Sous-Type : binaire - Template : icon Dans remplacement : - On : Choisir l'image à afficher lorsque la lumière est allumée - Off : Choisir l'image à afficher lorsque la lumière est eteinte Il faut ensuite aller tout