{"id":99,"date":"2016-04-13T23:21:43","date_gmt":"2016-04-13T21:21:43","guid":{"rendered":"http:\/\/les3zam.info\/cabrablog\/?p=99"},"modified":"2018-01-16T21:49:57","modified_gmt":"2018-01-16T19:49:57","slug":"vmc-temporise","status":"publish","type":"post","link":"http:\/\/cabrastudio.eu\/cabrablog\/?p=99","title":{"rendered":"VMC temporis\u00e9 avec Jeedom et Arduidom"},"content":{"rendered":"<p>Objectif du project : Domotiser ma VMC pour la piloter \u00e0 distance et g\u00e9rer son temps de mise en marche. Cette VMC a\u00e8re deux pi\u00e8ces, WC et Salle de bain. Elle peut \u00eatre mise en marche de depuis soit un inter <em>Chacon\u00a0DI-O\u00a0<\/em>plac\u00e9 dans la salle de bain soit\u00a0depuis <em>Jeedom<\/em>. Jusqu&rsquo;\u00e0 maintenant elle \u00e9tait mise en marche 1 heure chaque matin via le plugins <em>Agenda<\/em> de <em>Jeedom<\/em>. Mai en cas de mise en marche manuelle elle est pouvait rester en marche toute la journ\u00e9e.\u00a0J&rsquo;avais ajout\u00e9\u00a0un arr\u00eat syst\u00e9matique tous les les soir \u00e0 23H59 via l&rsquo;<em>Agenda <\/em>mais cela n&rsquo;\u00e9tait pas satisfaisant.<\/p>\n<ul>\n<li>Premier probl\u00e8me, avoir l&rsquo;\u00e9tat dans Jeedom de la VMC car les modules Chacon DI-O non pas de retour. J&rsquo;ai donc utilis\u00e9 un montage maison de d\u00e9tection du 220V reli\u00e9 \u00e0 un \u00e9metteur 433mhz, voir article sur le sujet: <a href=\"http:\/\/cabrastudio.eu\/cabrablog\/?p=83\">ici<\/a><\/li>\n<li>Deuxi\u00e8me probl\u00e8me cr\u00e9er une tempo dans Jeedom pouvant \u00eatre d\u00e9clench\u00e9e par la mise en marche de la\u00a0VMC et arr\u00eat\u00e9e soit en fin de tempo soit par un arr\u00eat manuel de VMC. Pour cela je me suis beaucoup\u00a0inspir\u00e9 de plusieurs posts du\u00a0le forum <em>Jeedom<\/em> c&rsquo;est <a href=\"https:\/\/www.jeedom.com\/forum\/viewtopic.php?f=32&amp;t=14099&amp;hilit=Tempo#p257635\">ici<\/a> &#8230;merci \u00e0 eux.<\/li>\n<\/ul>\n<p>Donc le mat\u00e9riel\u00a0:<\/p>\n<ol>\n<li><a href=\"https:\/\/www.jeedom.com\/site\/fr\/\">Jeedom<\/a> sur <a href=\"https:\/\/www.raspberrypi.org\/products\/model-b-plus\/\">Rpi B+<\/a><\/li>\n<li>Plugins <a href=\"https:\/\/market.jeedom.fr\/index.php?v=d&amp;p=market&amp;type=plugin&amp;&amp;name=arduidom\">ARDUIDOM<\/a> \u00a0sur \u00a0<a href=\"https:\/\/www.arduino.cc\/en\/Main\/ArduinoBoardNano\">Arduino nano<\/a> USB avec \u00e9metteur\/r\u00e9cepteur 433mhz<\/li>\n<li>Widgets Jeedom :\u00a0<a href=\"https:\/\/market.jeedom.fr\/index.php?v=d&amp;p=market&amp;type=widget&amp;&amp;name=countdown\">Countdown<\/a>,\u00a0<a href=\"https:\/\/market.jeedom.fr\/index.php?v=d&amp;p=market&amp;type=widget&amp;&amp;name=Sky-bouton\">Sky-bouton<\/a>,\u00a0<a href=\"https:\/\/market.jeedom.fr\/index.php?v=d&amp;p=market&amp;type=widget&amp;&amp;name=VMC%203%20positions\">VMC 3 positions<\/a><\/li>\n<li>Arduino (Maison ATmega328p) avec \u00e9metteur 433Mhz <a href=\"http:\/\/cabrastudio.eu\/cabrablog\/?p=1\">ici<\/a>\u00a0et <a href=\"http:\/\/cabrastudio.eu\/cabrablog\/?p=37\">ici<\/a><\/li>\n<li>D\u00e9tecteur 220V maison <a href=\"http:\/\/cabrastudio.eu\/cabrablog\/?p=60\">ici<\/a><\/li>\n<li>Module Chacon DI-O\u00a054755<\/li>\n<li>Poussoir Chacon DI-O 54501<\/li>\n<\/ol>\n<p>La solution hardware est d\u00e9crite dans les articles cit\u00e9s&#8230;maintenant dans Jeedom cela donne quoi ?<\/p>\n<h2>D&rsquo;abord le pilotage et retour d&rsquo;\u00e9tat de VMC dans un \u00e9quipement <a href=\"https:\/\/market.jeedom.fr\/index.php?v=d&amp;p=market&amp;type=plugin&amp;&amp;name=arduidom\">ARDUIDOM<\/a><\/h2>\n<p>J&rsquo;utilise plugins <em>Arduidom<\/em> pour toutes les\u00a0communications RF433 avec mes module Chacon DI-O mais aussi pour la communication avec mes propres modules RF433. <em>l&rsquo;Arduino nano<\/em> associ\u00e9 \u00e0 <em>Arduidom<\/em> est reli\u00e9 en USB \u00e0 la <em>Rpi B+<\/em>\u00a0qui h\u00e9berge <em>Jeedom <\/em><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/ArduiDomVMC.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-103 alignright\" src=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/ArduiDomVMC-1024x421.png\" alt=\"ArduiDomVMC\" width=\"750\" height=\"308\" srcset=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/ArduiDomVMC-1024x421.png 1024w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/ArduiDomVMC-300x123.png 300w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/ArduiDomVMC-768x316.png 768w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/ArduiDomVMC-200x82.png 200w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/ArduiDomVMC.png 1029w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Deux actions On et Off pour envoyer les <span style=\"color: #339966;\">commandes radio <\/span>(bulles vertes). Simple et standard tout le boulot est fait par <em>Arduidom<\/em>.<\/p>\n<p>Le<span style=\"color: #ff0000;\"> retour<\/span>\u00a0d&rsquo;\u00e9tat de la VMC (bulle rouge) ici la partie compliqu\u00e9e est expliqu\u00e9e dans les articles cit\u00e9s plus haut. L&rsquo;\u00e9tat arrive jusqu&rsquo;\u00e0 l&rsquo;Arduino g\u00e9r\u00e9 par <em>Arduidom<\/em> ensuite c&rsquo;est du standard<strong>,<\/strong> une variable <em>customValue<\/em>\u00a0pour\u00a0remonter la valeur depuis <em>l&rsquo;Arduino<\/em> vers <em>Jeedom<\/em>.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><\/h2>\n<h2>A quoi ressemble LE VIRTUEL cot\u00e9 Dashboard ?<\/h2>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/SalleDeDoucheVMCOff.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-121 alignleft\" src=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/SalleDeDoucheVMCOff.png\" alt=\"SalleDeDoucheVMCOff\" width=\"433\" height=\"380\" srcset=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/SalleDeDoucheVMCOff.png 433w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/SalleDeDoucheVMCOff-300x263.png 300w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/SalleDeDoucheVMCOff-200x176.png 200w\" sizes=\"(max-width: 433px) 100vw, 433px\" \/><\/a><\/p>\n<p>Ensuite pour l&rsquo;affichage tout est dans un \u00ab\u00a0Virtuel\u00a0\u00bb bien sure &#8230; Il est compos\u00e9 de :<\/p>\n<ul>\n<li>deux actions Marche \/ Arr\u00eat\u00a0 : Widget <em>Sky-Button<\/em> avec les param\u00e8tres <em>name<\/em> et \u00a0<em>bgColor<\/em>.<\/li>\n<li>Image de l&rsquo;\u00e9tat de la VMC Widget : <em>VMC<\/em> ( of course \ud83d\ude09 )<\/li>\n<li>Info sur le d\u00e9compte de la tempo (Arr\u00eat dans:) \u00a0: Widget <em>countdown<\/em> ( g\u00e9nial )<\/li>\n<li>Champ texte et boutons pour configurer\u00a0la valeur par d\u00e9faut de la tempo. Widget bricol\u00e9 \u00e0 partir d&rsquo;un widget de gestion de consigne. Vous avez le code juste en dessous.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em>Note: Le Widget \u00e0 cot\u00e9 affiche\u00a0temp\u00e9rature de la salle de bain, la temp\u00e9rature fait le m\u00eame chemin que l&rsquo;\u00e9tat de VMC c&rsquo;est aussi expliqu\u00e9 dans l&rsquo;article <a href=\"http:\/\/cabrastudio.eu\/cabrablog\/?p=1\">ici<\/a>.\u00a0C&rsquo;est le m\u00eame module ATmega328P\/Emetteur 433mhZ \u00a0qui envoi les temp\u00e9ratures et l&rsquo;\u00e9tat de la VMC<\/em>\u00a0.<\/p>\n<p>&nbsp;<\/p>\n<p>[pastacode lang=\u00a0\u00bbjavascript\u00a0\u00bb manual=\u00a0\u00bb%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(&lsquo;.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.bt_plus&rsquo;).on(&lsquo;click&rsquo;%2C%20function%20()%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24(&lsquo;.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value&rsquo;).val((parseFloat(%24(&lsquo;.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value&rsquo;).val())%20%2B%200.5)%2B&rsquo;%23unite%23&prime;)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24(&lsquo;.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value&rsquo;).trigger(&lsquo;change&rsquo;)%3B%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%24(&lsquo;.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.bt_minus&rsquo;).on(&lsquo;click&rsquo;%2C%20function%20()%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24(&lsquo;.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value&rsquo;).val((parseFloat(%24(&lsquo;.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value&rsquo;).val())%20-%200.5)%2B&rsquo;%23unite%23&prime;)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24(&lsquo;.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value&rsquo;).trigger(&lsquo;change&rsquo;)%3B%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%24(&lsquo;.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value&rsquo;).on(&lsquo;change&rsquo;%2C%20function%20()%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20jeedom.cmd.execute(%7Bid%3A%20&rsquo;%23id%23&rsquo;%2C%20value%3A%20%7Bslider%3A%20%24(&lsquo;.cmd%5Bdata-cmd_uid%3D%23uid%23%5D%20.value&rsquo;).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\u00a0\u00bb message=\u00a0\u00bbWidget pour saisir la valeur de tempo avec boutons + et -:\u00a0\u00bb highlight=\u00a0\u00bb\u00a0\u00bb provider=\u00a0\u00bbmanual\u00a0\u00bb\/]<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/SalleDeBainVMCOn.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-120 alignleft\" src=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/SalleDeBainVMCOn.png\" alt=\"SalleDeBainVMCOn\" width=\"273\" height=\"393\" srcset=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/SalleDeBainVMCOn.png 273w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/SalleDeBainVMCOn-208x300.png 208w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/SalleDeBainVMCOn-139x200.png 139w\" sizes=\"(max-width: 273px) 100vw, 273px\" \/><\/a><\/p>\n<p>Et voila le Virtuel lorsque la VMC et la tempo sont\u00a0d\u00e9marr\u00e9es !!<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/LeVirtuelVMC.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-106 alignright\" src=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/LeVirtuelVMC-1024x518.png\" alt=\"LeVirtuelVMC\" width=\"640\" height=\"324\" srcset=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/LeVirtuelVMC-1024x518.png 1024w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/LeVirtuelVMC-300x152.png 300w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/LeVirtuelVMC-768x388.png 768w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/LeVirtuelVMC-200x101.png 200w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/LeVirtuelVMC.png 1486w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<h2>LE VIRTUEL cot\u00e9 configuration &#8230;<\/h2>\n<p>En bleu <span style=\"color: #3366ff;\">les boutons On et\u00a0Off<\/span> renomm\u00e9s Marche\/Arr\u00e9t dans par via\u00a0Widget <em>Sky-Button<\/em>. Appel direct des actions ON\/OFF de l&rsquo;\u00e9quipement Arduino VMC, c&rsquo;est tout.<\/p>\n<p>En vert <span style=\"color: #339966;\">valeur pour le d\u00e9compte<\/span> de la tempo, tout est fait par le Widget\u00a0<em>countdown<\/em>. Le couple\u00a0<em>aTempoValue \/ tempoValue<\/em>\u00a0ne sert qu&rsquo;a l&rsquo;affichage du d\u00e9compte sur le Virtuel, la vrai tempo est g\u00e9r\u00e9e ailleurs (voir la suite \ud83d\ude09 ).<\/p>\n<p>Dans la bulle <span style=\"color: #ffff00;\">jaune<\/span>\u00a0\u00a0<em>setTempo \/ defaultTempoValue<\/em>\u00a0servent\u00a0\u00e0 configurer depuis le dashboard (ou autre) la valeur par d\u00e9faut de la tempo. C&rsquo;est <em>defaultTempoValue<\/em> qui sera utilis\u00e9 \u00e0 chaque d\u00e9clenchement pour initialiser la valeur de la tempo.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>Et maintenant les sc\u00e9narios &#8230;<\/h2>\n<p>Deux sc\u00e9narios, un pilot\u00e9 par le retour d\u00a0\u00bb\u00e9tat de la VMC , l&rsquo;autre qui va g\u00e9r\u00e9 la <em>Tempo<\/em> est pilot\u00e9 par le premier. Il faut lancer la <em>Tempo<\/em>\u00a0lorsque\u00a0la VMC d\u00e9marre et arr\u00eate la VMC \u00e0 la fin de la <em>Tempo<\/em>\u00a0par contre si la VMC est arr\u00eater avant la fin de la Tempo (depuis sc\u00e9nario \/ Agenda \/ Dashboard \u00a0ou depuis l&rsquo;inter Chacon) il faut aussi arr\u00eater la Tempo. C&rsquo;est pour cette raison que les sc\u00e9nario son uniquement pilot\u00e9 par le retour d&rsquo;\u00e9tat de la VMC. Je ne voulais pas bloqu\u00e9 mes sc\u00e9nario avec une pause, et j&rsquo;ai vu dans le forum qu&rsquo;il n&rsquo;est pas simple d&rsquo;arr\u00eat\u00e9 un cron sans ajouter un peu de code ou fig\u00e9 les identifiants tache. J&rsquo;ai donc choisi une autre solution qui me semble assez simple, j&rsquo;ai une variable qui est initialis\u00e9 avec le nombre de minute de la tempo et un sc\u00e9nario programm\u00e9 toutes les minutes pour d\u00e9cr\u00e9menter cette Variable (cela peut \u00eatre optimis\u00e9 pour les tempo de\u00a0plusieurs heures ).<\/p>\n<p>&nbsp;<\/p>\n<h3>Premier sc\u00e9nario<\/h3>\n<p><a href=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/GestionVMCV2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-105 alignleft\" src=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/GestionVMCV2-1024x458.png\" alt=\"GestionVMCV2\" width=\"640\" height=\"286\" srcset=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/GestionVMCV2-1024x458.png 1024w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/GestionVMCV2-300x134.png 300w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/GestionVMCV2-768x343.png 768w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/GestionVMCV2-200x89.png 200w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/GestionVMCV2.png 1034w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Donc le premier sc\u00e9nario est pilot\u00e9 par l&rsquo;\u00e9tat de la VMC (bulles vertes).<\/p>\n<p>Si la VMC passe \u00e0 ON ( &gt;0 ) bulle verte, le sc\u00e9nario commence par initialiser une variable <em>TEMPO_VMC<\/em> qui servira de compteur de temp. C&rsquo;est la valeur de configuration <em>defaultTempoValue<\/em> du virtuel qui sert de valeur initial. Ensuite il active le deuxi\u00e8me sc\u00e9nario qui sera en charge de d\u00e9cr\u00e9menter la variable\u00a0et d&rsquo;arr\u00eater la VMC. Derni\u00e8re chose faite par le sc\u00e9nario dans ce cas, c&rsquo;est l&rsquo;initialisation\u00a0de la valeur du <em>d\u00e9compte<\/em> pour l&rsquo;affichage dans le Virtuel ( celui affich\u00e9 avec le widget <strong>countdown<\/strong> )<\/p>\n<p>Si la VMC passe \u00e0 OFF c&rsquo;est l&rsquo;inverse le sc\u00e9nario va d\u00e9sactiv\u00e9 le deuxi\u00e8me sc\u00e9nario et remettre \u00e0 z\u00e9ro la variable\u00a0et le d\u00e9compte (<em>tempoValue<\/em>).<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><a href=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/VMCTempo2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-110 alignright\" src=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/VMCTempo2-1024x470.png\" alt=\"VMCTempo2\" width=\"640\" height=\"294\" srcset=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/VMCTempo2-1024x470.png 1024w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/VMCTempo2-300x138.png 300w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/VMCTempo2-768x353.png 768w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/VMCTempo2-200x92.png 200w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/VMCTempo2.png 1110w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/h3>\n<h3>Deuxi\u00e8me sc\u00e9nario<\/h3>\n<p>Le deuxi\u00e8me sc\u00e9nario est donc <strong>activ\u00e9<\/strong> uniquement lorsque la VMC est ON. Lorsqu&rsquo;il est activ\u00e9 il d\u00e9marre toutes les minute via une programmation\u00a0cron (bulle jaune). Chaque minute il d\u00e9cr\u00e9mente la variable TEMPO_VMC jusqu&rsquo;a z\u00e9ro.<\/p>\n<p>Lorsque la variable est \u00e0 z\u00e9ro c&rsquo;est la fin de la tempo, et\u00a0sc\u00e9nario arr\u00eate la VMC (bulle vertes) il remet la tempo \u00e0 z\u00e9ro et s&rsquo;<strong>auto-d\u00e9sactive<\/strong>. A noter que certaines actions\u00a0sont \u00e9galement faite par le premier sc\u00e9nario cela permet de\u00a0g\u00e9rer le cas ou la Tempo ne va pas au bout dans le cas ou\u00a0la VMC est arr\u00e9t\u00e9e avant la fin de tempo par exemple.<\/p>\n<p>&nbsp;<\/p>\n<p>Pour la suite je vais essayer de programmer le d\u00e9marrage de cette VMC depuis l&rsquo;Agenda mais avec des valeurs de tempo diff\u00e9rentes &#8230; \u00e0 suivre donc !!<\/p>\n<p>&nbsp;<\/p>\n<h6>MAJ 7 Aout 2016<\/h6>\n<p>D\u00e9tail sur le montage du widget <em>countdown <\/em>il faut<em>\u00a0<\/em>deux champs dans le virtuel une commande de type\u00a0curseur et une info de type\u00a0num\u00e9rique. Le sc\u00e9nario doit changer la valeur du curseur en attribuant une valeur en minute qui doit imp\u00e9rativement \u00eatre sup\u00e9rieur \u00e0 #timestamp#. Le\u00a0<em>countdown <\/em>va automatiquement afficher la diff\u00e9rence entre la valeur courante de\u00a0#timestamp# et celle qu&rsquo;il \u00e0\u00a0re\u00e7u en au\u00a0d\u00e9part.<em>\u00a0<\/em><\/p>\n<p><a href=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/CountDown.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-141 size-large\" src=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/CountDown-1024x272.png\" alt=\"CountDown\" width=\"640\" height=\"170\" srcset=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/CountDown-1024x272.png 1024w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/CountDown-300x80.png 300w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/CountDown-768x204.png 768w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/CountDown-200x53.png 200w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2016\/04\/CountDown.png 1515w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Objectif du project : Domotiser ma VMC pour la piloter \u00e0 distance et g\u00e9rer son temps de mise en marche. Cette VMC a\u00e8re deux pi\u00e8ces, WC et Salle de bain. Elle peut \u00eatre mise en marche de depuis soit un&hellip; <a href=\"http:\/\/cabrastudio.eu\/cabrablog\/?p=99\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,11,13],"tags":[],"_links":{"self":[{"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=\/wp\/v2\/posts\/99"}],"collection":[{"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=99"}],"version-history":[{"count":18,"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=\/wp\/v2\/posts\/99\/revisions"}],"predecessor-version":[{"id":260,"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=\/wp\/v2\/posts\/99\/revisions\/260"}],"wp:attachment":[{"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=99"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=99"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=99"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}