{"id":2176,"date":"2013-05-27T23:06:40","date_gmt":"2013-05-27T22:06:40","guid":{"rendered":"http:\/\/play.with.free.fr\/?p=2176"},"modified":"2016-11-03T21:42:29","modified_gmt":"2016-11-03T20:42:29","slug":"regulation-de-chaudiere-avec-fhem","status":"publish","type":"post","link":"http:\/\/play.with.free.fr\/index.php\/regulation-de-chaudiere-avec-fhem\/","title":{"rendered":"R\u00e9gulation de chaudi\u00e8re avec FHEM &#8211; part 1"},"content":{"rendered":"<p>Petit aide-m\u00e9moire sur la configuration <a title=\"Domotique avec FHEM sur Dockstar\" href=\"http:\/\/play.with.free.fr\/index.php\/domotique-avec-fhem-sur-dockstar\/\">FHEM<\/a> qui pilote ma chaudi\u00e8re murale (chauffage central), en lieu et place d&rsquo;un b\u00eate thermostat radio.<\/p>\n<p>Les fonctionnalit\u00e9s de base de l&rsquo;installation d\u00e9crite :<\/p>\n<ul>\n<li>Programme hebdomadaire<\/li>\n<li>Dispositif d\u00e9brayable : en cas de dysfonctionnement, il est possible de forcer la chaudi\u00e8re \u00e0 ON ou OFF de mani\u00e8re m\u00e9canique<\/li>\n<\/ul>\n<p>L&rsquo;int\u00e9r\u00eat d&rsquo;utiliser un tel dispositif plut\u00f4t qu&rsquo;un thermostat du commerce est qu&rsquo;on peut ensuite sophistiquer un peu l&rsquo;utilisation :<\/p>\n<ul>\n<li>arr\u00eat chauffage en cas d&rsquo;ouverture des portes et fen\u00eatres,<\/li>\n<li>d\u00e9clenchement \u00e0 distance via Internet ou SMS<\/li>\n<li>arr\u00eat\/marche sur calendrier, en fonction de la m\u00e9t\u00e9o, des pr\u00e9sences (GPS) &#8230;<\/li>\n<\/ul>\n<p><a href=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/freezin_penguin.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignright size-medium wp-image-4641\" src=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/freezin_penguin-248x300.png\" alt=\"freezin penguin\" width=\"248\" height=\"300\" srcset=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/freezin_penguin-248x300.png 248w, http:\/\/play.with.free.fr\/wp-content\/uploads\/freezin_penguin-145x175.png 145w, http:\/\/play.with.free.fr\/wp-content\/uploads\/freezin_penguin.png 413w\" sizes=\"(max-width: 248px) 100vw, 248px\" \/><\/a>Voir <a title=\"R\u00e9gulation de chaudi\u00e8re avec FHEM \u2013 part 2\" href=\"http:\/\/play.with.free.fr\/index.php\/regulation-de-chaudiere-avec-fhem-part-2\/\">R\u00e9gulation de chaudi\u00e8re avec FHEM &#8211; part 2<\/a> pour les \u00e9volutions de ma configuration qui se rapproche maintenant des thermostats des box domotiques en terme de fonctionnalit\u00e9s.<\/p>\n<h2>Installation<\/h2>\n<h3>Mat\u00e9riel :<\/h3>\n<div id=\"attachment_2180\" style=\"width: 85px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/www.planete-domotique.com\/module-contact-sec-avec-minuterie-compatible-chacon.html\"><img aria-describedby=\"caption-attachment-2180\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-2180 \" style=\"border: 0px none;\" title=\"Module contact sec ITL-1000\" src=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/ITL-1000.jpg\" alt=\"Module contact sec ITL-1000\" width=\"75\" height=\"75\" srcset=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/ITL-1000.jpg 75w, http:\/\/play.with.free.fr\/wp-content\/uploads\/ITL-1000-50x50.jpg 50w\" sizes=\"(max-width: 75px) 100vw, 75px\" \/><\/a><p id=\"caption-attachment-2180\" class=\"wp-caption-text\">Module contact sec ITL-1000<\/p><\/div>\n<div id=\"attachment_2053\" style=\"width: 64px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/www.rfxcom.com\/transceivers.htm\"><img aria-describedby=\"caption-attachment-2053\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-2053 \" title=\"RFXtrx433\" src=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/RFXtrx433-150x150.jpg\" alt=\"RFXtrx433\" width=\"54\" height=\"54\" srcset=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/RFXtrx433-150x150.jpg 150w, http:\/\/play.with.free.fr\/wp-content\/uploads\/RFXtrx433-50x50.jpg 50w\" sizes=\"(max-width: 54px) 100vw, 54px\" \/><\/a><p id=\"caption-attachment-2053\" class=\"wp-caption-text\">Transceiver USB RFXtrx433<\/p><\/div>\n<div id=\"attachment_2051\" style=\"width: 70px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/THGR122NX.jpg\"><img aria-describedby=\"caption-attachment-2051\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-2051 \" title=\"Sonde Oregon Scientific THGR122NX\" src=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/THGR122NX.jpg\" alt=\"Sonde Oregon Scientific THGR122NX\" width=\"60\" height=\"60\" srcset=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/THGR122NX.jpg 100w, http:\/\/play.with.free.fr\/wp-content\/uploads\/THGR122NX-50x50.jpg 50w\" sizes=\"(max-width: 60px) 100vw, 60px\" \/><\/a><p id=\"caption-attachment-2051\" class=\"wp-caption-text\">Sonde Oregon THGR122NX<\/p><\/div>\n<div id=\"attachment_2053\" style=\"width: 85px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/interrupteur-en-saillie-legrand.jpg\"><img aria-describedby=\"caption-attachment-2053\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-2182 \" title=\"interrupteur\" src=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/interrupteur-en-saillie-legrand-150x150.jpg\" alt=\"interrupteur\" width=\"75\" height=\"75\" srcset=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/interrupteur-en-saillie-legrand-150x150.jpg 150w, http:\/\/play.with.free.fr\/wp-content\/uploads\/interrupteur-en-saillie-legrand-50x50.jpg 50w\" sizes=\"(max-width: 75px) 100vw, 75px\" \/><\/a><p id=\"caption-attachment-2053\" class=\"wp-caption-text\">Interrupteur<\/p><\/div>\n<h3>Branchements<\/h3>\n<p>Ne pas oublier de couper le jus avant de brancher ! <a href=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/ITL-1000-contact-sec.png\"><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-2187 alignright\" title=\"ITL-1000-contact-sec\" src=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/ITL-1000-contact-sec.png\" alt=\"Branchements Module ITL-1000\" width=\"294\" height=\"261\" srcset=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/ITL-1000-contact-sec.png 294w, http:\/\/play.with.free.fr\/wp-content\/uploads\/ITL-1000-contact-sec-197x175.png 197w\" sizes=\"(max-width: 294px) 100vw, 294px\" \/><\/a><\/p>\n<p>Interrupteur et entr\u00e9e contact sec de la chaudi\u00e8re sont branch\u00e9s en parall\u00e8le sur les deux bornes du milieu. Ainsi on aura un interrupteur m\u00e9canique qui permettra\u00a0 de forcer la mise en route du chauffage, par exemple en cas de panne du module contact sec :<\/p>\n<ul>\n<li>inter ferm\u00e9 : ON<\/li>\n<li>inter ouvert : AUTO (contr\u00f4le par FHEM)<\/li>\n<\/ul>\n<p>Pour arr\u00eater compl\u00e8tement le chauffage j&rsquo;utilise les boutons de la chaudi\u00e8re.<\/p>\n<p>Phase et neutre du secteur sont \u00e0 brancher respectivement sur L et N, et on met tout dans une boite pour \u00e9viter les accidents &#8230;<\/p>\n<h3>Configuration FHEM de base<\/h3>\n<ul>\n<li>D\u00e9finir le RFXtrx comme indiqu\u00e9 dans le tutorial <a title=\"Domotique avec FHEM sur Dockstar\" href=\"http:\/\/play.with.free.fr\/index.php\/domotique-avec-fhem-sur-dockstar\/\">\u00ab\u00a0Domotique avec FHEM sur Dockstar\u00a0\u00bb<\/a><\/li>\n<li>D\u00e9finir la sonde de temp\u00e9rature<\/li>\n<\/ul>\n<pre style=\"padding-left: 30px;\">define temp_hum_etage TRX_WEATHER THGR228N_94_4<\/pre>\n<ul>\n<li>D\u00e9finir le d\u00e9clencheur du br\u00fbleur de la chaudi\u00e8re (le module ITL-1000), avec un code AC bidon<\/li>\n<\/ul>\n<pre style=\"padding-left: 30px;\">define chaudiere TRX_LIGHT AC 000000010a light\r\nattr chaudiere devStateIcon on:Heizung_Hauptschalter.on off:Heizung_Hauptschalter.off\r\nattr chaudiere event-on-update-reading state<\/pre>\n<ul>\n<li>D\u00e9finir le thermostat (utilisation de la commande <a href=\"http:\/\/fhem.de\/commandref.html#THRESHOLD\">THRESHOLD<\/a>)<\/li>\n<\/ul>\n<pre style=\"padding-left: 30px;\">define thermostat THRESHOLD temp_hum_etage:temperature chaudiere<\/pre>\n<ul>\n<li>D\u00e9finir le calendrier hebdomadaire en indiquant les temp\u00e9ratures d\u00e9sir\u00e9es en fonction du jour de la semaine et de l&rsquo;heure (utilisation de la commande <a href=\"http:\/\/fhem.de\/commandref.html#Heating_Control\">Heating_Control<\/a>). Par exemple :\n<ul>\n<li>le week-end (jours 6 et 0) \u00e0 7h : 19,5 \u00b0C<\/li>\n<li>la semaine (jours 1 \u00e0 5) \u00e0 6h15 : 19\u00b0C et \u00e0 8h15 : 18\u00b0C, puis 19\u00b0C \u00e0 nouveau \u00e0 17h30 sauf le mercredi (jours 1245) et 12h le mercredi<\/li>\n<li>dodo \u00e0 23h tous les jours : 17,5\u00b0C<\/li>\n<\/ul>\n<p><code>define programme_thermostat Heating_Control thermostat 60|07:00|19.5 12345|06:15|19 12345|08:15|18 1245|17:30|19 3|12:00|19 23:00|17.5 { fhem (\"set @ desired %\")\u00a0 }<\/code><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<div id=\"attachment_2190\" style=\"width: 192px\" class=\"wp-caption alignright\"><a href=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/ITL-1000-contact-sec-mode-emploi.png\"><img aria-describedby=\"caption-attachment-2190\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-2190\" title=\"ITL-1000-contact-sec-mode-emploi\" src=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/ITL-1000-contact-sec-mode-emploi-182x300.png\" alt=\"Mode d'emploi ITL-1000\" width=\"182\" height=\"300\" srcset=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/ITL-1000-contact-sec-mode-emploi-182x300.png 182w, http:\/\/play.with.free.fr\/wp-content\/uploads\/ITL-1000-contact-sec-mode-emploi-106x175.png 106w, http:\/\/play.with.free.fr\/wp-content\/uploads\/ITL-1000-contact-sec-mode-emploi.png 314w\" sizes=\"(max-width: 182px) 100vw, 182px\" \/><\/a><p id=\"caption-attachment-2190\" class=\"wp-caption-text\">Mode d&#8217;emploi ITL-1000<\/p><\/div>\n<h3>Param\u00e9trage du module ITL-1000<\/h3>\n<p>On a d\u00e9fini un d\u00e9clencheur dans FHEM. Pour qu&rsquo;il puisse contr\u00f4ler le module contact sec il faut le faire reconna\u00eetre par celui-\u00e7i :<\/p>\n<ol>\n<li>appuyer sur le bouton L d&rsquo;apprentissage. La LED clignote<\/li>\n<li>d\u00e9clencher la chaudi\u00e8re dans FHEM (avec l&rsquo;interface graphique ou la commande \u00ab\u00a0set chaudiere on\u00a0\u00bb)<\/li>\n<li>V\u00e9rifier que \u00e7a marche en \u00e9teignant et rallumant la chaudi\u00e8re de cette mani\u00e8re !<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h2>Utilisation<\/h2>\n<p>Avec l&rsquo;interrupteur m\u00e9canique sur AUTO et la chaudi\u00e8re r\u00e9gl\u00e9e sur une temp\u00e9rature de sortie suffisante, on peut contr\u00f4ler sa chaudi\u00e8re depuis FHEM :<\/p>\n<ul>\n<li>arr\u00eater\u00a0 le thermostat :<\/li>\n<\/ul>\n<pre style=\"padding-left: 30px;\">set thermostat deactivated<\/pre>\n<ul>\n<li>r\u00e9activer le thermostat :<\/li>\n<\/ul>\n<pre style=\"padding-left: 30px;\">set thermostat active<\/pre>\n<ul>\n<li>changer la temperature souhait\u00e9e (elle sera modifi\u00e9e au prochain \u00e9v\u00e9nement du calendrier hebdomadaire)<\/li>\n<\/ul>\n<pre style=\"padding-left: 30px;\">set thermostat desired 20<\/pre>\n<p><a href=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/Thema-ecran.png\"><img decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-2202 alignright\" title=\"Chaudi\u00e8re Thema\" src=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/Thema-ecran-300x115.png\" alt=\"Ecran chaudi\u00e8re Thema\" width=\"300\" height=\"115\" srcset=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/Thema-ecran-300x115.png 300w, http:\/\/play.with.free.fr\/wp-content\/uploads\/Thema-ecran-270x104.png 270w, http:\/\/play.with.free.fr\/wp-content\/uploads\/Thema-ecran.png 485w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>Avec l&rsquo;interrupteur m\u00e9canique sur ON, la chaudi\u00e8re reste allum\u00e9e avec son param\u00e9trage standard (mode hors gel, ou r\u00e9glage de la temp\u00e9rature de sortie d&rsquo;eau), ce qui est la solution de secours si rien ne va plus dans l&rsquo;installation domotique !<\/p>\n<p>&nbsp;<\/p>\n<h2>Un peu plus &#8230;<\/h2>\n<p>Rajoutons un petit graphe \u00e0 partir de l&rsquo;interface graphique pour afficher temp\u00e9rature de consigne,\u00a0 temp\u00e9rature r\u00e9elle et \u00e9tat du br\u00fbleur\u00a0 (si on a laiss\u00e9 l&rsquo;interrupteur sur \u00ab\u00a0AUTO\u00a0\u00bb)<\/p>\n<div>\n<dl id=\"attachment_2224\">\n<dt><a href=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/log-chauffage.png\"><img decoding=\"async\" loading=\"lazy\" title=\"log chauffage\" src=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/log-chauffage.png\" alt=\"Graphe de suivi de chauffage\" width=\"816\" height=\"183\" \/><\/a><\/dt>\n<dd>Suivi du chauffage<\/dd>\n<\/dl>\n<\/div>\n<p>1\/ Tout d&rsquo;abord il faut d\u00e9finir un fichier log qui prendra les \u00e9v\u00e9nements \u00e0 grapher :<\/p>\n<pre>define chauffage_log FileLog .\/log\/chauffage-%Y-%m.log (thermostat:desired_value.*)|(thermostat:sensor_value.*)|(chaudiere.*)<\/pre>\n<p>2\/ Chercher cette log dans l&rsquo;interface graphique et cliquer dessus pour l&rsquo;\u00e9diter<\/p>\n<p>3\/ Cliquer sur \u00ab\u00a0Write .gplot file\u00a0\u00bb. Cel\u00e0 g\u00e9n\u00e8re la commande suivante et un fichier gplot dans \/opt\/fhem\/www\/gplot, que l&rsquo;interface graphique permet de modifier.<\/p>\n<pre title=\"log chauffage\" width=\"816\">define wl_chauffage_log_1 weblink fileplot chauffage_log:wl_chauffage_log_1:CURRENT)<\/pre>\n<p>En s&rsquo;inspirant d&rsquo;autres graphes, on peut rendre celui-\u00e7i assez lisible :<br \/>\n<a href=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/Definition-graphe-chauffage.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone\" title=\"Definition graphe chauffage\" src=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/Definition-graphe-chauffage.png\" alt=\"\" width=\"479\" height=\"419\" \/><\/a><\/p>\n<p>Voici le fichier wl_chauffage_log_1.gplot g\u00e9n\u00e9r\u00e9 :<\/p>\n<pre># Created by FHEMWEB, 2013-06-03 23:00:00\r\nset terminal png transparent size &lt;SIZE&gt; crop\r\nset output '&lt;OUT&gt;.png'\r\nset xdata time\r\nset timefmt \"%Y-%m-%d_%H:%M:%S\"\r\nset xlabel \" \"\r\nset title 'Chauffage : &lt;L1&gt;'\r\nset ytics (\"on\" 1,\"off\" 0)\r\nset y2tics\r\nset grid\r\nset ylabel \"chaudi\u00e8re\"\r\nset y2label \"Temp\u00e9rature\"\r\nset yrange [-0.1:1.1]\r\n\r\n#FileLog 4:thermostat.desired_value\\x3a::\r\n#FileLog 4:thermostat.sensor_value\\x3a::\r\n#FileLog 3:chaudiere.*::$fld[2]=~\"on\"?1:0\r\n\r\nplot \"&lt;IN&gt;\" using 1:2 axes x1y2 title 'T\u00b0 de consigne' ls l0 lw 1 with steps,\\\r\n\u00a0\u00a0\u00a0\u00a0 \"&lt;IN&gt;\" using 1:2 axes x1y2 title 'T\u00b0 mesur\u00e9e' ls l3 lw 1 with lines,\\\r\n\u00a0\u00a0\u00a0\u00a0 \"&lt;IN&gt;\" using 1:2 axes x1y1 title 'br\u00fbleur' ls l5 lw 1 with steps<\/pre>\n<h2>A voir \/ \u00e0 faire<\/h2>\n<p>Quelques id\u00e9es pour la suite :<\/p>\n<ul>\n<li><a href=\"http:\/\/connectingstuff.net\/blog\/regulation-chauffage-loi-eau\/\" target=\"_blank\">R\u00e9gulation de chauffage par loi d\u2019eau\u00a0<\/a> (ce n&rsquo;est pas ce que j&rsquo;ai fait l\u00e0), qui permet de r\u00e9guler non pas la circulation d&rsquo;eau mais la temp\u00e9rature de sortie de l&rsquo;eau de la chaudi\u00e8re.<\/li>\n<li>Mettre un interrupteur radio en parall\u00e8le sur le contact sec pour avoir l&rsquo;\u00e9tat r\u00e9el de la chaudi\u00e8re (y compris quand l&rsquo;interrupteur m\u00e9canique est sur ON)<\/li>\n<li>Eteindre le chauffage en cas d&rsquo;absence, si les fen\u00eatres sont ouvertes &#8230;<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" loading=\"lazy\" class=\"alignleft  wp-image-2042\" style=\"border: 0px currentColor; margin-right: 5px; margin-left: 5px;\" title=\"fhem\" src=\"http:\/\/play.with.free.fr\/wp-content\/uploads\/fhem.png\" alt=\"\" height=\"66\" width=\"60\"> Petit aide-m\u00e9moire sur ma configuration FHEM permettant de piloter ma chaudi\u00e8re avec un RFXtrx433, un module contact sec et une sonde de temp\u00e9rature Oregon<\/p>\n","protected":false},"author":2,"featured_media":4641,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","_vp_format_video_url":"","_vp_image_focal_point":[]},"categories":[110],"tags":[128,121,123],"_links":{"self":[{"href":"http:\/\/play.with.free.fr\/index.php\/wp-json\/wp\/v2\/posts\/2176"}],"collection":[{"href":"http:\/\/play.with.free.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/play.with.free.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/play.with.free.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/play.with.free.fr\/index.php\/wp-json\/wp\/v2\/comments?post=2176"}],"version-history":[{"count":0,"href":"http:\/\/play.with.free.fr\/index.php\/wp-json\/wp\/v2\/posts\/2176\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/play.with.free.fr\/index.php\/wp-json\/wp\/v2\/media\/4641"}],"wp:attachment":[{"href":"http:\/\/play.with.free.fr\/index.php\/wp-json\/wp\/v2\/media?parent=2176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/play.with.free.fr\/index.php\/wp-json\/wp\/v2\/categories?post=2176"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/play.with.free.fr\/index.php\/wp-json\/wp\/v2\/tags?post=2176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}