VMC temporisé avec Jeedom et Arduidom

Objectif du project : Domotiser ma VMC pour la piloter à distance et gérer son temps de mise en marche. Cette VMC aère deux pièces, WC et Salle de bain. Elle peut être mise en marche de depuis soit un inter Chacon DI-O placé dans la salle de bain soit depuis Jeedom. Jusqu’à maintenant elle était mise en marche 1 heure chaque matin via le plugins Agenda de Jeedom. Mai en cas de mise en marche manuelle elle est pouvait rester en marche toute la journée. J’avais ajouté un arrêt systématique tous les les soir à 23H59 via l’Agenda mais cela n’était pas satisfaisant.

  • Premier problème, avoir l’état dans Jeedom de la VMC car les modules Chacon DI-O non pas de retour. J’ai donc utilisé un montage maison de détection du 220V relié à un émetteur 433mhz, voir article sur le sujet: ici
  • Deuxième problème créer une tempo dans Jeedom pouvant être déclenchée par la mise en marche de la VMC et arrêtée soit en fin de tempo soit par un arrêt manuel de VMC. Pour cela je me suis beaucoup inspiré de plusieurs posts du le forum Jeedom c’est ici …merci à eux.

Donc le matériel :

  1. Jeedom sur Rpi B+
  2. Plugins ARDUIDOM  sur  Arduino nano USB avec émetteur/récepteur 433mhz
  3. Widgets Jeedom : CountdownSky-boutonVMC 3 positions
  4. Arduino (Maison ATmega328p) avec émetteur 433Mhz ici et ici
  5. Détecteur 220V maison ici
  6. Module Chacon DI-O 54755
  7. Poussoir Chacon DI-O 54501

La solution hardware est décrite dans les articles cités…maintenant dans Jeedom cela donne quoi ?

D’abord le pilotage et retour d’état de VMC dans un équipement ARDUIDOM

J’utilise plugins Arduidom pour toutes les communications RF433 avec mes module Chacon DI-O mais aussi pour la communication avec mes propres modules RF433. l’Arduino nano associé à Arduidom est relié en USB à la Rpi B+ qui héberge Jeedom

 

ArduiDomVMC

 

Deux actions On et Off pour envoyer les commandes radio (bulles vertes). Simple et standard tout le boulot est fait par Arduidom.

Le retour d’état de la VMC (bulle rouge) ici la partie compliquée est expliquée dans les articles cités plus haut. L’état arrive jusqu’à l’Arduino géré par Arduidom ensuite c’est du standard, une variable customValue pour remonter la valeur depuis l’Arduino vers Jeedom.

 

 

A quoi ressemble LE VIRTUEL coté Dashboard ?

 

SalleDeDoucheVMCOff

Ensuite pour l’affichage tout est dans un « Virtuel » bien sure … Il est composé de :

  • deux actions Marche / Arrêt  : Widget Sky-Button avec les paramètres name et  bgColor.
  • Image de l’état de la VMC Widget : VMC ( of course 😉 )
  • Info sur le décompte de la tempo (Arrêt dans:)  : Widget countdown ( génial )
  • Champ texte et boutons pour configurer la valeur par défaut de la tempo. Widget bricolé à partir d’un widget de gestion de consigne. Vous avez le code juste en dessous.

 

 

Note: Le Widget à coté affiche température de la salle de bain, la température fait le même chemin que l’état de VMC c’est aussi expliqué dans l’article ici. C’est le même module ATmega328P/Emetteur 433mhZ  qui envoi les températures et l’état de la VMC .

 

[pastacode lang= »javascript » manual= »%3Cdiv%20class%3D%22cmd%22%20data-type%3D%22action%22%20data-subtype%3D%22slider%22%20data-cmd_id%3D%22%23id%23%22%20data-cmd_uid%3D%22%23uid%23%22%20style%3D%22min-height%3A60px%3B%22%20%3E%0A%20%20%3Ccenter%3E%0A%20%20%20%20%20%3Cinput%20id%3D%22stateCabra%23id%23%22%20type%3D%22text%22%20class%3D%22value%20form-control%20input-sm%22%20value%3D%22%23state%23%20%23unite%23%22%20style%3D%22width%3A%2050px%3Bdisplay%3A%20inline-block%3B%20position%3A%20relative%3B%20top%20%3A%201px%3B%22%2F%3E%0A%20%20%20%20%3Cdiv%20class%3D%22btn-group%22%20style%3D%22position%20%3A%20relative%3Btop%3A-3px%3B%22%3E%0A%20%20%20%20%20%20%20%20%3Ca%20class%3D%22btn%20btn-default%20btn-sm%20bt_plus%22%20style%3D%22background-color%3A%23cmdColor%23%20!important%3Bborder-color%20%3A%20transparent%20!important%3B%22%3E%3Ci%20class%3D%22fa%20fa-plus%22%3E%3C%2Fi%3E%3C%2Fa%3E%20%0A%20%20%20%20%20%20%20%20%3Ca%20class%3D%22btn%20btn-default%20btn-sm%20bt_minus%22%20style%3D%22background-color%3A%23cmdColor%23%20!important%3Bborder-color%20%3A%20transparent%20!important%3B%22%3E%3Ci%20class%3D%22fa%20fa-minus%22%3E%3C%2Fi%3E%3C%2Fa%3E%0A%20%20%20%20%3C%2Fdiv%3E%0A%0A%20%20%3C%2Fcenter%3E%0A%20%20%20%20%3Cscript%3E%0A%20%20%20%20%20%20%20%20%20%20%24(‘.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.bt_plus’).on(‘click’%2C%20function%20()%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24(‘.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value’).val((parseFloat(%24(‘.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value’).val())%20%2B%200.5)%2B’%23unite%23′)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24(‘.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value’).trigger(‘change’)%3B%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%24(‘.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.bt_minus’).on(‘click’%2C%20function%20()%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24(‘.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value’).val((parseFloat(%24(‘.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value’).val())%20-%200.5)%2B’%23unite%23′)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24(‘.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value’).trigger(‘change’)%3B%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%24(‘.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value’).on(‘change’%2C%20function%20()%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20jeedom.cmd.execute(%7Bid%3A%20’%23id%23’%2C%20value%3A%20%7Bslider%3A%20%24(‘.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value’).val().replace(%22%23unite%23%22%2C%20%22%22)%7D%7D)%3B%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%3C%2Fscript%3E%0A%3C%2Fdiv%3E » message= »Widget pour saisir la valeur de tempo avec boutons + et -: » highlight= » » provider= »manual »/]

 

 

SalleDeBainVMCOn

Et voila le Virtuel lorsque la VMC et la tempo sont démarrées !!

 

 

 

 

 

 

 

 

LeVirtuelVMC

LE VIRTUEL coté configuration …

En bleu les boutons On et Off renommés Marche/Arrét dans par via Widget Sky-Button. Appel direct des actions ON/OFF de l’équipement Arduino VMC, c’est tout.

En vert valeur pour le décompte de la tempo, tout est fait par le Widget countdown. Le couple aTempoValue / tempoValue ne sert qu’a l’affichage du décompte sur le Virtuel, la vrai tempo est gérée ailleurs (voir la suite 😉 ).

Dans la bulle jaune  setTempo / defaultTempoValue servent à configurer depuis le dashboard (ou autre) la valeur par défaut de la tempo. C’est defaultTempoValue qui sera utilisé à chaque déclenchement pour initialiser la valeur de la tempo.

 

 

 

Et maintenant les scénarios …

Deux scénarios, un piloté par le retour d »état de la VMC , l’autre qui va géré la Tempo est piloté par le premier. Il faut lancer la Tempo lorsque la VMC démarre et arrête la VMC à la fin de la Tempo par contre si la VMC est arrêter avant la fin de la Tempo (depuis scénario / Agenda / Dashboard  ou depuis l’inter Chacon) il faut aussi arrêter la Tempo. C’est pour cette raison que les scénario son uniquement piloté par le retour d’état de la VMC. Je ne voulais pas bloqué mes scénario avec une pause, et j’ai vu dans le forum qu’il n’est pas simple d’arrêté un cron sans ajouter un peu de code ou figé les identifiants tache. J’ai donc choisi une autre solution qui me semble assez simple, j’ai une variable qui est initialisé avec le nombre de minute de la tempo et un scénario programmé toutes les minutes pour décrémenter cette Variable (cela peut être optimisé pour les tempo de plusieurs heures ).

 

Premier scénario

GestionVMCV2

Donc le premier scénario est piloté par l’état de la VMC (bulles vertes).

Si la VMC passe à ON ( >0 ) bulle verte, le scénario commence par initialiser une variable TEMPO_VMC qui servira de compteur de temp. C’est la valeur de configuration defaultTempoValue du virtuel qui sert de valeur initial. Ensuite il active le deuxième scénario qui sera en charge de décrémenter la variable et d’arrêter la VMC. Dernière chose faite par le scénario dans ce cas, c’est l’initialisation de la valeur du décompte pour l’affichage dans le Virtuel ( celui affiché avec le widget countdown )

Si la VMC passe à OFF c’est l’inverse le scénario va désactivé le deuxième scénario et remettre à zéro la variable et le décompte (tempoValue).

 

 

VMCTempo2

Deuxième scénario

Le deuxième scénario est donc activé uniquement lorsque la VMC est ON. Lorsqu’il est activé il démarre toutes les minute via une programmation cron (bulle jaune). Chaque minute il décrémente la variable TEMPO_VMC jusqu’a zéro.

Lorsque la variable est à zéro c’est la fin de la tempo, et scénario arrête la VMC (bulle vertes) il remet la tempo à zéro et s’auto-désactive. A noter que certaines actions sont également faite par le premier scénario cela permet de gérer le cas ou la Tempo ne va pas au bout dans le cas ou la VMC est arrétée avant la fin de tempo par exemple.

 

Pour la suite je vais essayer de programmer le démarrage de cette VMC depuis l’Agenda mais avec des valeurs de tempo différentes … à suivre donc !!

 

MAJ 7 Aout 2016

Détail sur le montage du widget countdown il faut deux champs dans le virtuel une commande de type curseur et une info de type numérique. Le scénario doit changer la valeur du curseur en attribuant une valeur en minute qui doit impérativement être supérieur à #timestamp#. Le countdown va automatiquement afficher la différence entre la valeur courante de #timestamp# et celle qu’il à reçu en au départ. 

CountDown

chevalir

15 commentaires

  1. Bonjour,
    J’ai lu avec attention votre tuto qui est d’ailleurs relativement bien explique. Cependant j’ai une question concernant le widget countdown. Comment faire que celui ci se rafraichisse et decremente les minutes jusqu’a 0 ?
    Cdlt pierrick

  2. Il n’y a rien a faire countdown démarre des que la valeur est supérieurs à #timestamp#.
    Donc il faut mettre qqc comme #timestamp# + NN dans l’info virtuelle affiché avec countdown ou NN est le temps en seconde du décompte.
    Regarde dans l’image du 1er scénario ce qui en entouré en jaune.

  3. excuse moi je n’ai pas pu te répondre avant par manque de temps, j’ai bien compris le #timestamp# + (NN*60) qui pour moi NN est la valeur d’un slider mais mon pb est que mon countdown ne bouge pas de 0 !!!
    la valeur de mon timestamp varie bien dans mes logs et je ne comprend pas d’où cela vient.

    • J’ai ajouté un peu de détail à la fin de l’article, pour moi si le « countdown ne bouge pas de 0 » c’est que la valeur d’initialisation n’est pas supérieure à #timestamp#. Est-ce que tu peu voir la valeur du countdown dans tes log ?

  4. Merci de votre aide car en suivant votre tuto cela fonctionne. Je ne comprend pas pourquoi, avec #timestamp#+(commande curseur)*60, cela ne fonctionnait pas comme dans certains article sur le forum Jeedom.
    As tu une solution pour afficher le countdown sur version mobile ?
    En tout cas tu fais du bon travail !! J’ai lu egalement ton article, par curiosité, sur le retour détat sur les récepteurs DIO.
    tu utilises Jeedom depuis combien de temps ?

    • Heureux que cela marche…Je n’ai pas creusé le sujet plus que cela, j’ai également suivie des indications trouvées sur le forum Jeedom jusqu’a ce que cela marche. Pour la version mobile elle existe dans les widget donc il faut juste la configuré dans les paramètre/affichage avancé … je n’ai pas essayé 🙂
      Sinon j’ai découvert les RPI / Arduino / Jeedom et autres en début d’été 2015. Mon 1er besoin était de « domotiser » mon chauffage …

  5. Bonjour,

    Comment faites vous pour ajouter  » arret dans :  » et  » config. tempo (min) : « .
    Merci beaucoup pour ce tuto. Il m’a beaucoup aidé pour automatiser mon arrosage.

    Bonne journée

  6. C’est le widget « countdown » qui fait le job. L’utilisation est décrite dans le tuto il faut regarder tempoValue et aTempoValue et le premier scénario. L’explication est résumée dans le dernier chapitre « MAJ 7 Aout 2016 ».

  7. Bonjour,
    Je m’excuse par avance si vous trouvez que ma question n’a rien à faire ici mais je cherche à domotiser ma VMC et je voit que vous avez réussi à le faire avec uniquement un module chacon (ce qui tombe bien car j’ai un module on/off 1000w qui traîne ).
    Du coup, est-ce que vous pourriez m’expliquer comment vous avez pu domotiser la votre avec votre module car j’ai essayer en me branchant sur les cable initialement reliés à l’interrupteur mais rien ne fonctionne. Pourriez vous m’expliquer vos branchement ?

    • Bonjour,

      Si vous avez uniquement branché les câble de l’inter sur le module Chacon non cela ne marche pas. Ces module ont besoin d’être alimenté Phase/Neutre. En générale l’inter coupe la phase donc coté inter vous avez un câble qui est relié à la phase ça c’est bon, un qui va à la VMC c’est ok mais avez vous un neutre en entrée? Sur le module Chacon il faut au minimum 3 fils les entrées Phase/Neutre et sortie Phase vers VMC.

  8. Ah bin c’est sa alors car sur l’interrupteur il y a trois fil, 1 petite vitesse, 1 grande vitesse et 1 qui apporte le neutre ou la phase (je m’y connais pas trop). Du coup, si je met en contact petite vitesse et neutre la vmc ce lance en vitesse normale. Si je met en contact grande vitesse et neutre la vmc ce lance en grande vitesse. Du coup, j’avais branché dans les IN du module petite vitesse et neutre et en OUT (icône avec les vagues) uniquement grande vitesse mais même juste avec petite vitesse et neutre de branché en IN la VMC ne se lance pas.

    • Note : icône avec les vagues c’est la phase. Le plus simple pour détecter phase neutre est le tournevis détecteur de phase à 3€ :).

      Non vous ne pouvez pas brancher votre VMC avec un module Chacon de cette façon.
      Il y a des solutions mais dans tous les cas vous ne pourrez pas gérer les deux vitesses avec ce type de module.

      Donc :
      1 – vous devez choisir la vitesse que vous voulez garder.
      2 – il y a au moins 3 ou 4 solutions dans votre cas .
      a) soit vous trouver un moyen d’avoir phase et neutre jusqu’a l’emplacement de l’inter ( voir mon PS en bas ) pour le moment vous avez que l’un des deux,
      b) soit vous mettez le module au niveau de votre tableau électrique.
      c) soit vous mettez le module au niveau de la VMC.

      La solution b : Dans cette solution il faut au niveau de l’inter relié la phase au fil de la grande ou petite vitesse en fT° de votre choix. Au niveau du tableau repérer le disjoncteur de la VMC, débranché les deux fils de sortie du disjoncteur et les brancher coté OUT du module Chacon, relier les sorties phases et neutre du disjoncteur aux bornes Ph et N IN du module.

      La solution c, c’est la plus simple, c’est idem que la b au niveau de l’inter. Une fois que vous avez connecter la phase au niveau de l’inter vous avez coté VMC une phase qui arrive par le fil grande ou petite vitesse, le neutre qui doit être directement branché au neutre de la VMC, vous débranché les deux que vous reliez aux bornes IN du module, et vous reliez les bornes OUT du module à la VMC. Cette solution vous permet même de gérer les deux vitesse en ajoutant un deuxième module.

      Bien sure je décline toute responsabilité, tous les solutions nécessitent un des connaissance en électricité ou à faire faire par un électricien. !!!!

      PS: une solution pour ramener le neutre au niveau de l’inter est d’utiliser le fil grande ou petite vitesse que vous n’utiliserez plus. Il part de la VMC vers l’inter vous pouvez donc le brancher au neutre qui lui est présent coté VMC. Comme cela vous avez coté inter une phase un neutre et un fils grande ou petite vitesse. Reste à branché Ph/Neutre sur les bornes IN du module et le fils vitesse sur le OUT Phase.

      Voila voila, encore une fois la plomberie sa mouille mais l’électricité peut tuer ou mettre le feu.

      • Merci beaucoup pour ce retour. Cela va s’avérer plus compliquer que ce que je penser mais grâce à vos conseils je devrai m’en sortir Encore merci

  9. Bonjour, super tuto…
    J’ai juste pas saisie comment se fait la saisie de setTempo, qui est un curseur, y a t’il besoin d’un widget pour permettre la saisie du nombre de minute ou l’action + et – ?
    Merci d’avance

    • Oui il faut un widget de type slider. J’ai récupéré le code d’un widget pour les vannes Danfos il me semble. J’ai ajouté ce code dans l’article dans la section « A quoi ressemble LE VIRTUEL coté Dashboard ».
      « hope to help »

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *