{"id":2502,"date":"2023-02-18T15:37:42","date_gmt":"2023-02-18T14:37:42","guid":{"rendered":"https:\/\/www.espthings.io\/?p=2502"},"modified":"2023-03-26T22:21:26","modified_gmt":"2023-03-26T20:21:26","slug":"esphome-underflooor-heating-pump-switch-et-ps01","status":"publish","type":"post","link":"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/","title":{"rendered":"ESPHome Underflooor heating Pump Switch &#8211; ET-PS01"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69e080f1135a2\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69e080f1135a2\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#Introduction\" >Introduction<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#Design_parameters\" >Design parameters<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#Practical_design\" >Practical design<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#Circuit_diagram\" >Circuit diagram<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#Build_it\" >Build it!<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#Bill_of_materials\" >Bill of materials<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#Putting_it_together\" >Putting it together<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#Software_configuration\" >Software configuration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#Home_Assistant\" >Home Assistant<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#Final_thoughts\" >Final thoughts<\/a><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"Introduction\"><\/span>Introduction<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>As electricity is so damn expensive in Europe now and my (2) underfloor heating pumps are constantly consuming more than 40 Watt each, I wanted to find a smarter solution for that. While browsing the internet of course it turned out there are existing solutions to the problem that will simply switch of electricity to the pump when the measured temperature of the heating <span class=\"Y2IQFc\" lang=\"en\">supply pipe falls below a certain temperature. The cost of such devices varies between \u20ac25,00 and \u20ac55,00 and these things have some serious disadvantages. For instance you won&#8217;t be able to connect them to Home Assistant. Well, that did it for me&#8230; I needed to come up with a smarter solution. \ud83d\ude09<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Design_parameters\"><\/span>Design parameters<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>My requirements were:<\/p>\n<ul>\n<li>Wemos D1 mini ESP8266 controlled (due to smaller size)<\/li>\n<li>Operating at 230V AC, so I can install it in-line with the pump.<\/li>\n<li>Temperature measurement and historic graphs.<\/li>\n<li>Must fit in a custom 3D-printable enclosure.<\/li>\n<li>Parts should be available at AliExpress or Amazon for affordable prices, making it as cheap as possible to build<\/li>\n<li>Firmware should be ESPhome (for use with Home Assistant)<\/li>\n<\/ul>\n<h1><span class=\"ez-toc-section\" id=\"Practical_design\"><\/span>Practical design<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>I talked to Paul and we agreed the design should be reliable but simple and cheap to build. After some measuring and testing he came up with this PCB design:<\/p>\n<div id=\"attachment_2512\" style=\"width: 643px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2512\" class=\"wp-image-2512\" src=\"https:\/\/www.espthings.io\/wp-content\/uploads\/2023\/02\/ET-PS01_PCB_TOP-3D-948x1024.png\" alt=\"\" width=\"633\" height=\"684\" srcset=\"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01_PCB_TOP-3D-948x1024.png?v=1676729576 948w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01_PCB_TOP-3D-278x300.png?v=1676729576 278w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01_PCB_TOP-3D-768x829.png?v=1676729576 768w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01_PCB_TOP-3D-720x777.png?v=1676729576 720w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01_PCB_TOP-3D-520x562.png?v=1676729576 520w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01_PCB_TOP-3D-320x346.png?v=1676729576 320w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01_PCB_TOP-3D.png?v=1676729576 1077w\" sizes=\"auto, (max-width: 633px) 100vw, 633px\" \/><p id=\"caption-attachment-2512\" class=\"wp-caption-text\">ET-PS01 PCB<\/p><\/div>\n<p>It&#8217;s all fairly simple: You cut the power-supply cable of your underfloor heating pump in half. One end of the cable goes to &#8216;AC-in&#8217;, the other and to &#8216;Pump-out&#8217;. The PCB is powered by a small 230V AC to 5V DC power supply.<\/p>\n<p>The internal Dallas temperature sensor on the bottom of the PCB will measure the heating <span class=\"Y2IQFc\" lang=\"en\">supply pipe temperature and switch on\/off the power to your underfloor heating pump using the on-board 10A relay. <\/span><\/p>\n<div id=\"attachment_2507\" style=\"width: 980px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2507\" class=\"wp-image-2507 size-large\" src=\"https:\/\/www.espthings.io\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_bottom_assembled-970x1024.png\" alt=\"\" width=\"970\" height=\"1024\" srcset=\"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_bottom_assembled-970x1024.png?v=1676729543 970w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_bottom_assembled-284x300.png?v=1676729543 284w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_bottom_assembled-768x811.png?v=1676729543 768w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_bottom_assembled-720x760.png?v=1676729543 720w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_bottom_assembled-520x549.png?v=1676729543 520w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_bottom_assembled-320x338.png?v=1676729543 320w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_bottom_assembled.png?v=1676729543 1187w\" sizes=\"auto, (max-width: 970px) 100vw, 970px\" \/><p id=\"caption-attachment-2507\" class=\"wp-caption-text\">Dallas temperature sensor<\/p><\/div>\n<p><span class=\"Y2IQFc\" lang=\"en\">There is also an option to connect a (primary or secondary) external Dallas temperature sensor at JP2. For safety reasons we added a fuse. That&#8217;s about it.<\/span><\/p>\n<p>We did not even bother building a prototype but ordered the PCB&#8217;s at PCBway. Waiting for the postman Paul designed a 3d-printable enclosure to go with the PCB. The Dallas temperature sensor sticks out the back, you simply fold it in the cavity and your done.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-2555\" src=\"https:\/\/www.espthings.io\/wp-content\/uploads\/2023\/02\/3dprint_on_platter-1024x563.png\" alt=\"\" width=\"1024\" height=\"563\" srcset=\"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/3dprint_on_platter-1024x563.png?v=1676807768 1024w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/3dprint_on_platter-300x165.png?v=1676807768 300w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/3dprint_on_platter-768x423.png?v=1676807768 768w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/3dprint_on_platter-1536x845.png?v=1676807768 1536w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/3dprint_on_platter-720x396.png?v=1676807768 720w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/3dprint_on_platter-520x286.png?v=1676807768 520w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/3dprint_on_platter-320x176.png?v=1676807768 320w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/3dprint_on_platter.png?v=1676807768 1583w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<div id=\"attachment_2553\" style=\"width: 671px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2553\" class=\"wp-image-2553\" src=\"https:\/\/www.espthings.io\/wp-content\/uploads\/2023\/02\/3d-printable_enclosure_bottom.png\" alt=\"\" width=\"661\" height=\"669\" srcset=\"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/3d-printable_enclosure_bottom.png?v=1676807620 868w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/3d-printable_enclosure_bottom-297x300.png?v=1676807620 297w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/3d-printable_enclosure_bottom-768x777.png?v=1676807620 768w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/3d-printable_enclosure_bottom-80x80.png?v=1676807620 80w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/3d-printable_enclosure_bottom-720x728.png?v=1676807620 720w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/3d-printable_enclosure_bottom-520x526.png?v=1676807620 520w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/3d-printable_enclosure_bottom-320x324.png?v=1676807620 320w\" sizes=\"auto, (max-width: 661px) 100vw, 661px\" \/><p id=\"caption-attachment-2553\" class=\"wp-caption-text\">3d-printable case &#8211; Dallas sensor cavity<\/p><\/div>\n<p>Finally we threw the ESPHome firmware on it. and the thing worked right away \ud83d\ude42<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-2509\" src=\"https:\/\/www.espthings.io\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_on_heating_pipe-1024x768.jpg\" alt=\"\" width=\"1024\" height=\"768\" srcset=\"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_on_heating_pipe-1024x768.jpg?v=1676729559 1024w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_on_heating_pipe-300x225.jpg?v=1676729559 300w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_on_heating_pipe-768x576.jpg?v=1676729559 768w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_on_heating_pipe-1536x1152.jpg?v=1676729559 1536w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_on_heating_pipe-2048x1536.jpg?v=1676729559 2048w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_on_heating_pipe-720x540.jpg?v=1676729559 720w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_on_heating_pipe-520x390.jpg?v=1676729559 520w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_on_heating_pipe-320x240.jpg?v=1676729559 320w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h1><span class=\"ez-toc-section\" id=\"Circuit_diagram\"><\/span>Circuit diagram<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-2514\" src=\"https:\/\/www.espthings.io\/wp-content\/uploads\/2023\/02\/ET-PS01_schematic-1024x744.png\" alt=\"\" width=\"1024\" height=\"744\" srcset=\"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01_schematic-1024x744.png 1024w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01_schematic-300x218.png 300w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01_schematic-768x558.png 768w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01_schematic-720x523.png 720w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01_schematic-520x378.png 520w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01_schematic-320x233.png 320w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01_schematic.png 1249w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h1><span class=\"ez-toc-section\" id=\"Build_it\"><\/span>Build it!<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<h2><span class=\"ez-toc-section\" id=\"Bill_of_materials\"><\/span>Bill of materials<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>See below the list with the components you will need to build the ET-PS01 controller. A number of these items will not be sold in smaller quantities at AliExpress. We will try to use the same components as much as possible in future projects.<\/p>\n<p>We would really appreciate it if you will use the links below to buy the components, since it will give a little bit of commission to us without any additional cost for yourself. These commissions will be used to cover some of the costs involved in the development of the design.<\/p>\n<table dir=\"ltr\" style=\"width: 93.0417%; height: 395px;\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<colgroup>\n<col width=\"153\" \/>\n<col width=\"94\" \/>\n<col width=\"384\" \/>\n<col width=\"464\" \/>\n<col width=\"572\" \/><\/colgroup>\n<tbody>\n<tr style=\"height: 24px;\">\n<td style=\"width: 11.9287%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Reference&quot;}\">Reference<\/td>\n<td style=\"width: 7.02341%; height: 24px; text-align: center;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Quantity&quot;}\">Qty<\/td>\n<td style=\"width: 34.6711%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Description&quot;}\">Description<\/td>\n<td style=\"width: 46.1538%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Link&quot;}\">Link<\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 11.9287%; height: 28px; text-align: left;\">WEMOS1<\/td>\n<td style=\"width: 7.02341%; text-align: center; height: 28px;\">1<\/td>\n<td style=\"width: 34.6711%; height: 28px; text-align: left;\">Wemos Mini D1 ESP8266*<\/td>\n<td style=\"width: 46.1538%; height: 28px; text-align: left;\"><a class=\"thirstylink\" target=\"_blank\" title=\"ALI - Wemos D1 mini ESP8266\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/recommends\/ali-wemos-d1-mini-esp8266\/\" data-shortcode=\"true\"><span class=\"ta-editor-shortcode\" data-shortcode=\"%5Bthirstylink%20ids%3D%22823%22%5D%3Cspan%20class%3D%22ta-editor-shortcode%22%20data-shortcode%3D%22%255Bthirstylink%2520ids%253D%2522820%2522%255DAliExpress%255B%252Fthirstylink%255D%22%3EAliExpress%3C%2Fspan%3E%5B%2Fthirstylink%5D\">AliExpress\ufeff<\/span><\/a><\/span><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 11.9287%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;D1&quot;}\">D1<\/td>\n<td style=\"width: 7.02341%; height: 24px; text-align: center;\" data-sheets-value=\"{&quot;1&quot;:3,&quot;3&quot;:1}\">1<\/td>\n<td style=\"width: 34.6711%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;1N4001&quot;}\">1N4148<\/td>\n<td style=\"width: 46.1538%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;https:\/\/www.aliexpress.com\/item\/4001038837801.html&quot;}\" data-sheets-hyperlink=\"https:\/\/www.aliexpress.com\/item\/4001038837801.html\"><a class=\"thirstylink\" target=\"_blank\" title=\"ALI - 1N4148 diode\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/recommends\/ali-1n4148-diode\/\" data-shortcode=\"true\"><span class=\"ta-editor-shortcode\" data-shortcode=\"%5Bthirstylink%20ids%3D%22828%22%5DAliExpress%5B%2Fthirstylink%5D\"><span class=\"ta-editor-shortcode\" data-shortcode=\"%5Bthirstylink%20ids%3D%22828%22%5D%3Cspan%20class%3D%22ta-editor-shortcode%22%20data-shortcode%3D%22%255Bthirstylink%2520ids%253D%2522828%2522%255DAliExpress%255B%252Fthirstylink%255D%22%3EAliExpress%3C%2Fspan%3E%5B%2Fthirstylink%5D\"><span class=\"ta-editor-shortcode\" data-shortcode=\"%5Bthirstylink%20ids%3D%22828%22%5DAliExpress%5B%2Fthirstylink%5D\">AliExpress<\/span><\/span><\/span><\/a><\/span><\/span><\/span><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 11.9287%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;C1&quot;}\">C1<\/td>\n<td style=\"width: 7.02341%; height: 24px; text-align: center;\" data-sheets-value=\"{&quot;1&quot;:3,&quot;3&quot;:1}\">1<\/td>\n<td style=\"width: 34.6711%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;470\u00b5F \/ 16V 6mm diameter, 2.54mm pitch&quot;}\">470\u00b5F \/ 16V 6mm diameter, 2.54mm pitch<\/td>\n<td style=\"width: 46.1538%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;https:\/\/www.aliexpress.com\/item\/32365752326.html&quot;}\" data-sheets-hyperlink=\"https:\/\/www.aliexpress.com\/item\/32365752326.html\"><a class=\"thirstylink\" target=\"_blank\" title=\"ALI - 470\u00b5F \/ 16V  6mm diameter, 2.54mm pitch\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/recommends\/ali-470f-16v-6mm-diameter-2-54mm-pitch\/\" data-shortcode=\"true\">AliExpress<\/a><\/td>\n<\/tr>\n<tr style=\"height: 424x;\">\n<td style=\"width: 11.9287%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;C2&quot;}\">T1<\/td>\n<td style=\"width: 7.02341%; height: 24px; text-align: center;\" data-sheets-value=\"{&quot;1&quot;:3,&quot;3&quot;:1}\">1<\/td>\n<td style=\"width: 34.6711%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;0.1\u00b5F - pitch 5.08mm&quot;}\">S8050 TO-92 Triode Transistor<\/td>\n<td style=\"width: 46.1538%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;https:\/\/www.aliexpress.com\/item\/32429917283.html&quot;}\" data-sheets-hyperlink=\"https:\/\/www.aliexpress.com\/item\/32429917283.html\"><a class=\"thirstylink\" target=\"_blank\" title=\"ALI - S8050 TO92 Triode Transistor\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/recommends\/ali-s8050-to92-triode-transistor\/\" data-shortcode=\"true\">Aliexpress<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 11.9287%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;R1, R2, R3, R4&quot;}\">R1<\/td>\n<td style=\"width: 7.02341%; height: 24px; text-align: center;\" data-sheets-value=\"{&quot;1&quot;:3,&quot;3&quot;:4}\">1<\/td>\n<td style=\"width: 34.6711%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Resistor 1k&quot;}\"><a class=\"thirstylink\" target=\"_blank\" title=\"ALI - 100pcs 1\/4W Metal Film Resistor\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/recommends\/ali-100pcs-1-4w-metal-film-resistor\/\" data-shortcode=\"true\">Resistor 220 ohm<\/a><\/td>\n<td style=\"width: 46.1538%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;https:\/\/www.aliexpress.com\/item\/32815391267.html&quot;}\" data-sheets-hyperlink=\"https:\/\/www.aliexpress.com\/item\/32815391267.html\"><a class=\"thirstylink\" target=\"_blank\" title=\"ALI - Resistor 1k\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/recommends\/ali-resistor-1k\/\" data-shortcode=\"true\">AliExpress<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 11.9287%; text-align: left; height: 24px;\">R2<\/td>\n<td style=\"width: 7.02341%; text-align: center; height: 24px;\">1<\/td>\n<td style=\"width: 34.6711%; text-align: left; height: 24px;\">Resistor 3k3<\/td>\n<td style=\"width: 46.1538%; text-align: left; height: 24px;\"><a class=\"thirstylink\" target=\"_blank\" title=\"ALI - Resistor 1k\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/recommends\/ali-resistor-1k\/\" data-shortcode=\"true\">AliExpress<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 11.9287%; text-align: left; height: 24px;\">R3<\/td>\n<td style=\"width: 7.02341%; text-align: center; height: 24px;\">1<\/td>\n<td style=\"width: 34.6711%; text-align: left; height: 24px;\">Resistor 4k7<\/td>\n<td style=\"width: 46.1538%; text-align: left; height: 24px;\"><a class=\"thirstylink\" target=\"_blank\" title=\"ALI - 100pcs 1\/4W Metal Film Resistor\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/recommends\/ali-100pcs-1-4w-metal-film-resistor\/\" data-shortcode=\"true\"><span class=\"ta-editor-shortcode\" data-shortcode=\"%5Bthirstylink%20ids%3D%22832%22%5DAliExpress%5B%2Fthirstylink%5D\"><span class=\"ta-editor-shortcode\" data-shortcode=\"%5Bthirstylink%20ids%3D%22926%22%5D%3Cspan%20class%3D%22ta-editor-shortcode%20shortcode-selected%22%20data-shortcode%3D%22%255Bthirstylink%2520ids%253D%2522832%2522%255DAliExpress%255B%252Fthirstylink%255D%22%3EAliExpress%3C%2Fspan%3E%5B%2Fthirstylink%5D\"><span class=\"ta-editor-shortcode\" data-shortcode=\"%5Bthirstylink%20ids%3D%22832%22%5DAliExpress%5B%2Fthirstylink%5D\">Aliexpress<\/span><\/span><\/span><\/a><\/span><\/span><\/span><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 11.9287%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;X1&quot;}\">X1, X2<\/td>\n<td style=\"width: 7.02341%; height: 24px; text-align: center;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;8 poles&quot;}\">2<\/td>\n<td style=\"width: 34.6711%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;8 pole screw terminal, or 4x 2 pole. 5.00mm pitch&quot;}\">9 pole terminal, or 3x 2 pole + 1x 3 pole. 5.00mm pitch<\/td>\n<td style=\"width: 46.1538%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;https:\/\/www.aliexpress.com\/item\/1005001341135808.html&quot;}\" data-sheets-hyperlink=\"https:\/\/www.aliexpress.com\/item\/1005001341135808.html\"><a class=\"thirstylink\" target=\"_blank\" title=\"ALI - 8 pole screw terminal, or 4x 2 pole. 5.00mm pitch\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/recommends\/ali-8-pole-screw-terminal-or-4x-2-pole-5-00mm-pitch\/\" data-shortcode=\"true\">Aliexpress<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 11.9287%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;JP1, JP2, JP3&quot;}\">SENSOR<\/td>\n<td style=\"width: 7.02341%; height: 24px; text-align: center;\">1<\/td>\n<td style=\"width: 34.6711%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Male pin headers. 2.54mm pitch&quot;}\">DS18b20 Dallas temperature sensor<\/td>\n<td style=\"width: 46.1538%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;https:\/\/www.aliexpress.com\/item\/4000096249321.html&quot;}\" data-sheets-hyperlink=\"https:\/\/www.aliexpress.com\/item\/4000096249321.html\"><a class=\"thirstylink\" target=\"_blank\" title=\"ALI - DS18B20 To-92 Temperature sensor\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/recommends\/ali-ds18b20-to-92-temperature-sensor\/\" data-shortcode=\"true\">Aliexpress<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 11.9287%; text-align: left; height: 24px;\">F1<\/td>\n<td style=\"width: 7.02341%; text-align: center; height: 24px;\">1<\/td>\n<td style=\"width: 34.6711%; text-align: left; height: 24px;\">0,2-0,5A self resetting fuse 230V<\/td>\n<td style=\"width: 46.1538%; text-align: left; height: 24px;\"><a class=\"thirstylink\" target=\"_blank\" title=\"TRF250-200 250V 0.2A self resetting fuse\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/recommends\/trf250-200-250v-0-2a-self-resetting-fuse\/\" data-shortcode=\"true\">Aliexpress<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 11.9287%; text-align: left; height: 24px;\">K1<\/td>\n<td style=\"width: 7.02341%; text-align: center; height: 24px;\"><\/td>\n<td style=\"width: 34.6711%; text-align: left; height: 24px;\">5V relay 230V\/10A (5VDC SRD-05VDC-SL-C)<\/td>\n<td style=\"width: 46.1538%; text-align: left; height: 24px;\"><a class=\"thirstylink\" target=\"_blank\" title=\"ALI - SRD-05VDC-SL-C Relay\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/recommends\/ali-srd-05vdc-sl-c-relay\/\" data-shortcode=\"true\">Aliexpress<\/a><\/td>\n<\/tr>\n<tr style=\"height: 31px;\">\n<td style=\"width: 11.9287%; text-align: left; height: 31px;\">X3<\/td>\n<td style=\"width: 7.02341%; text-align: center; height: 31px;\">1<\/td>\n<td style=\"width: 34.6711%; text-align: left; height: 31px;\">AC-DC 5V 700mA power supply (Vertical-5V 700MA)<\/td>\n<td style=\"width: 46.1538%; text-align: left; height: 31px;\"><a class=\"thirstylink\" target=\"_blank\" title=\"ALI - AC-DC 5V 700mA 12V 450mA 9V 500mA 3.5W Precisie Buck Converter\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/recommends\/ali-ac-dc-5v-700ma-12v-450ma-9v-500ma-3-5w-precisie-buck-converter\/\" data-shortcode=\"true\">Aliexpress<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 11.9287%; text-align: left; height: 24px;\">LED<\/td>\n<td style=\"width: 7.02341%; text-align: center; height: 24px;\">1<\/td>\n<td style=\"width: 34.6711%; text-align: left; height: 24px;\"><span class=\"sku-title-value\">5mm Red LED<\/span><\/td>\n<td style=\"width: 46.1538%; text-align: left; height: 24px;\"><a class=\"thirstylink\" target=\"_blank\" title=\"ALI LED 3mm and 5mm round\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/recommends\/ali-led-3mm-and-5mm-round\/\" data-shortcode=\"true\">Aliexpress<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 11.9287%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Enclosure&quot;}\">Enclosure<\/td>\n<td style=\"width: 7.02341%; height: 24px; text-align: center;\" data-sheets-value=\"{&quot;1&quot;:3,&quot;3&quot;:1}\">1<\/td>\n<td style=\"width: 34.6711%; height: 24px; text-align: left;\">3d-print<\/td>\n<td style=\"width: 46.1538%; height: 24px; text-align: left;\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;https:\/\/www.aliexpress.com\/item\/1005001849791044.html&quot;}\" data-sheets-hyperlink=\"https:\/\/www.aliexpress.com\/item\/1005001849791044.html\"><a href=\"https:\/\/www.thingiverse.com\/thing:5862525\" target=\"_blank\" rel=\"noopener\">Thingiverse<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 11.9287%; height: 24px; text-align: left;\">PCB<\/td>\n<td style=\"width: 7.02341%; text-align: center; height: 24px;\">1<\/td>\n<td style=\"width: 34.6711%; text-align: left; height: 24px;\">A 5-pack is the smallest order at PCBway, enough for you and your friends \ud83d\ude09<\/td>\n<td style=\"width: 46.1538%; height: 24px; text-align: left;\"><a href=\"https:\/\/www.pcbway.com\/project\/shareproject\/espthings_io_ET_PS01_A_underfloor_Heating_Pump_Switch_for_ESPHome_e6a79751.html\" target=\"_blank\" rel=\"noopener\">PCBway<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><span class=\"ez-toc-section\" id=\"Putting_it_together\"><\/span>Putting it together<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Like with all other projects,\u00a0it is the easiest to start with identifying the components purchased as discussed in the <a href=\"https:\/\/www.espthings.io\/index.php\/2021\/02\/16\/soldering\/\">blog post<\/a>. After sorting the components and cleaning the PCB, start with the lowest components first. For this project, we advise to work in this order:<\/p>\n<ul>\n<li>Resistors<\/li>\n<li>Transistor<\/li>\n<li>Fuse<\/li>\n<li>Screw terminals<\/li>\n<li>ESP module headers (Use the hints in the soldering blog post!)<\/li>\n<li>Electrolytic capacitor<\/li>\n<li>Relay<\/li>\n<li>Power supply<\/li>\n<li>Dallas sensor<\/li>\n<li>Led<\/li>\n<\/ul>\n<p>Once all components are soldered in place, perform a good visual check of all joints, and pay particular attention to possible solder bridges (unwanted solder connections between pins). Do not forget to clean the excess solder flux from the PCB using alcohol!<\/p>\n<h1><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2557\" src=\"https:\/\/www.espthings.io\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_top_assembled_2-1024x932.png\" alt=\"\" width=\"821\" height=\"747\" srcset=\"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_top_assembled_2-1024x932.png?v=1676807882 1024w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_top_assembled_2-300x273.png?v=1676807882 300w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_top_assembled_2-768x699.png?v=1676807882 768w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_top_assembled_2-1536x1399.png?v=1676807882 1536w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_top_assembled_2-2048x1865.png?v=1676807882 2048w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_top_assembled_2-720x656.png?v=1676807882 720w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_top_assembled_2-520x473.png?v=1676807882 520w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_top_assembled_2-320x291.png?v=1676807882 320w\" sizes=\"auto, (max-width: 821px) 100vw, 821px\" \/><\/h1>\n<h1><span class=\"ez-toc-section\" id=\"Software_configuration\"><\/span>Software configuration<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\"># Underfloor Heating Pump Controller\r\n# ESPHome - with Dallas temperature sensor\r\n#\r\n# Controls a underfloor heating-pump. When warm water is received from the\r\n# central heater, warm water is entering the pump via its pipes. This is\r\n# detected by the temperature sensor and the pump will be switched on.\r\n# When the heater stops (requested temperature is reached) the flow of water\r\n# will cool down. The temperature sensor will detect this and will shut\r\n# down the pump.\r\n#\r\n# The RED LED light indicates the mode. In automatic mode (default) flashes\r\n# slowly.\r\n#\r\n# In case the controller is unable to connect with Home Assistant for 5 minutes,\r\n# the controller switches over to automatic mode.\r\n#\r\n# Manny thanks to Martin for the initial configuration!\r\n# https:\/\/github.com\/Martinvdm\/underfloor_heating_pump_controller\r\n\r\nsubstitutions:\r\n  devicename: \"espthings-et-ps01-002\"\r\n  upper_devicename: \"Vloerverwarming boven\"\r\n\r\nesphome:\r\n  name: \"$devicename\"\r\n  platform: ESP8266\r\n  board: d1_mini\r\n  esp8266_restore_from_flash: yes\r\n  comment: \"$upper_devicename\"\r\n  on_boot:\r\n    then:\r\n      - script.execute: led_signaling\r\n      - script.execute: controller\r\n\r\nwifi:\r\n  ssid: !secret esphome_wifi_ssid\r\n  password: !secret esphome_wifi_password\r\n  ap:\r\n    ssid: \"$devicename\"\r\n    password: \"qwe12345\"\r\n\r\nlogger:\r\n\r\nweb_server:\r\n  port: 80\r\n\r\nota:\r\n  password: !secret esphome_ota_password\r\n\r\napi:\r\n  encryption:\r\n    key: !secret esphome_api_key\r\n  services:\r\n    - service: threshold_off\r\n      variables:\r\n        value: float\r\n      then:\r\n        - lambda: |-\r\n            if (value &lt; 0.0f){\r\n              return;\r\n            }\r\n            if (value &gt; 48.0f){\r\n              value = 48.0;\r\n            }\r\n            id(g_threshold_temp_off) = value;\r\n            auto d = id(g_threshold_temp_on) - id(g_threshold_temp_off);\r\n            if (d &lt; 2.0){\r\n              id(g_threshold_temp_on) = value + 2.0;  \r\n            }\r\n        - script.execute: controller\r\n\r\n    - service: threshold_on\r\n      variables:\r\n        value: float\r\n      then:\r\n        - lambda: |-\r\n            if (value &gt; 50.0f){\r\n              return;\r\n            }\r\n            if (value &lt; 2.0) {\r\n              value = 2.0;\r\n            }\r\n            id(g_threshold_temp_on) = value;\r\n            auto d = id(g_threshold_temp_on) - id(g_threshold_temp_off);\r\n            if (d &lt; 2.0){\r\n              id(g_threshold_temp_off) = value - 2.0;  \r\n            }\r\n        - script.execute: controller\r\n\r\nglobals:\r\n  # true when in automatic mode\r\n  # false when in manual mode\r\n  - id: g_automatic_mode\r\n    type: bool\r\n    restore_value: no\r\n    initial_value: \"true\"\r\n\r\n  # if water temperature below this threshold\r\n  # pump demand automatic will be 'off' (false)\r\n  - id: g_threshold_temp_off\r\n    type: float\r\n    restore_value: no\r\n    initial_value: \"34.0\"\r\n\r\n  # if water temperature above this threshold\r\n  # pump demand automatic will be 'on' (true)\r\n  - id: g_threshold_temp_on\r\n    type: float\r\n    restore_value: no\r\n    initial_value: \"36.0\"\r\n\r\n  # manual demand pump\r\n  - id: g_pump_demand_manual\r\n    type: bool\r\n    restore_value: no\r\n    initial_value: \"false\"\r\n\r\n  # demand based on water temperature\r\n  - id: g_pump_demand_automatic\r\n    type: boolean\r\n    restore_value: no\r\n    initial_value: \"false\"\r\n\r\ndallas:\r\n  - pin: D5\r\n    update_interval: 60s\r\n\r\nsensor:\r\n  - platform: dallas\r\n    id: sensor_water_temperature\r\n    name: \"$upper_devicename temperature\"\r\n    address: 0x803c01d075271728\r\n    unit_of_measurement: \"\u00b0C\"\r\n    device_class: temperature\r\n    accuracy_decimals: 1\r\n    filters:\r\n      - delta: 0.1\r\n    on_value:\r\n      then:\r\n        # the controller is notified when the water temperature crosses\r\n        # one of the thresholds\r\n        - lambda: |-\r\n            \/* only useful when in automatic mode *\/\r\n            if(!id(g_automatic_mode)){\r\n              return;\r\n            }\r\n\r\n            \/* only submit when something has changed *\/\r\n            auto water_temperature = id(sensor_water_temperature).state;\r\n\r\n            if (\r\n              water_temperature &lt; id(g_threshold_temp_off) \r\n              &amp;&amp; id(g_pump_demand_automatic)){\r\n                  id(g_pump_demand_automatic) = false;\r\n                  id(controller).execute();\r\n            } \r\n            else if (\r\n              water_temperature &gt; id(g_threshold_temp_on) \r\n              &amp;&amp; !id(g_pump_demand_automatic)){\r\n                  id(g_pump_demand_automatic) = true;\r\n                  id(controller).execute();\r\n            }\r\n\r\n  - platform: template\r\n    name: \"$upper_devicename Threshold off\"\r\n    id: sensor_threshold_temp_off\r\n    unit_of_measurement: \"\u00b0C\"\r\n    accuracy_decimals: 1\r\n    lambda: return id(g_threshold_temp_off);\r\n    update_interval: 1ms\r\n    filters:\r\n      - delta: 0.1\r\n\r\n  - platform: template\r\n    id: sensor_threshold_temp_on\r\n    name: \"$upper_devicename Threshold on\"\r\n    unit_of_measurement: \"\u00b0C\"\r\n    accuracy_decimals: 1\r\n    lambda: return id(g_threshold_temp_on);\r\n    update_interval: 1ms\r\n    filters:\r\n      - delta: 0.1\r\n\r\n  - platform: wifi_signal\r\n    name: \"$upper_devicename WiFi Signal\"\r\n    update_interval: 60s\r\n\r\n  - platform: uptime\r\n    name: \"$upper_devicename Uptime\"\r\n    id: uptime_sensor\r\n    update_interval: 60s\r\n    on_raw_value:\r\n      then:\r\n        - text_sensor.template.publish:\r\n            id: uptime_human\r\n            state: !lambda |-\r\n              int seconds = round(id(uptime_sensor).raw_state);\r\n              int days = seconds \/ (24 * 3600);\r\n              seconds = seconds % (24 * 3600);\r\n              int hours = seconds \/ 3600;\r\n              seconds = seconds % 3600;\r\n              int minutes = seconds \/  60;\r\n              seconds = seconds % 60;\r\n              return (\r\n                (days ? to_string(days) + \"d \" : \"\") +\r\n                (hours ? to_string(hours) + \"h \" : \"\") +\r\n                (minutes ? to_string(minutes) + \"m \" : \"\") +\r\n                (to_string(seconds) + \"s\")\r\n              ).c_str();\r\n\r\ntext_sensor:\r\n  - platform: template\r\n    name: \"$upper_devicename Uptime Human Readable\"\r\n    id: uptime_human\r\n    icon: mdi:clock-start\r\n\r\nbinary_sensor:\r\n  # In case the API connection is lost, the controller will change\r\n  # to automatic mode.\r\n  - platform: template\r\n    id: sensor_api_connected\r\n    lambda: return global_api_server-&gt;is_connected();\r\n    filters:\r\n      - delayed_off: 5min\r\n    on_release:\r\n      then:\r\n        - logger.log: Lost API connection, selecting automatic mode\r\n        - switch.turn_on: sw_automatic_mode\r\n\r\n  # template sensor to publish pump state\r\n  - platform: template\r\n    name: \"$upper_devicename Pump\"\r\n    id: sensor_pump_state\r\n    lambda: return id(ps01_relay).state;\r\n\r\nswitch:\r\n  # relay, switches pump on and off\r\n  - platform: gpio\r\n    pin: \r\n      number: GPIO12\r\n      inverted: true\r\n    id: ps01_relay\r\n\r\n  # Boolean input to toggle between manual or automatic mode\r\n  - platform: template\r\n    name: \"$upper_devicename Manual\/Automatic\"\r\n    id: sw_automatic_mode\r\n    lambda: return id(g_automatic_mode);\r\n    turn_on_action:\r\n      - globals.set:\r\n          id: g_automatic_mode\r\n          value: \"true\"\r\n      - script.execute: controller\r\n      - script.execute: led_signaling\r\n    turn_off_action:\r\n      - globals.set:\r\n          id: g_automatic_mode\r\n          value: \"false\"\r\n      - script.execute: controller\r\n      - script.execute: led_signaling\r\n\r\n  # Boolean input to control manual demand\r\n  - platform: template\r\n    name: \"$upper_devicename On\/Off\"\r\n    id: sw_on_off\r\n    lambda: return id(g_pump_demand_manual);\r\n    turn_on_action:\r\n      - globals.set:\r\n          id: g_pump_demand_manual\r\n          value: \"true\"\r\n      - script.execute: controller\r\n    turn_off_action:\r\n      - globals.set:\r\n          id: g_pump_demand_manual\r\n          value: \"false\"\r\n      - script.execute: controller\r\n\r\nscript:\r\n  # script for calculating the demand for the pump. Should\r\n  # it run or not. Applies the changes to the relay.\r\n  - id: controller\r\n    then:\r\n      - lambda: |-\r\n          \/* calculate if pump should be on or not *\/\r\n          bool demand = false;\r\n\r\n          if (!id(g_automatic_mode)){\r\n            \/* manual mode *\/\r\n            demand = id(g_pump_demand_manual);\r\n          }\r\n          else{\r\n            \/* automatic mode *\/\r\n            demand = id(g_pump_demand_automatic);\r\n          }\r\n\r\n          \/* only send commands when needed *\/\r\n          if (demand &amp;&amp; !id(ps01_relay).state) {\r\n            id(ps01_relay).turn_on();\r\n          } else if (!demand &amp;&amp; id(ps01_relay).state){\r\n            id(ps01_relay).turn_off();\r\n          }\r\n\r\n  - id: led_signaling\r\n    then:\r\n      # The green led is used to show the mode of operation:\r\n      #  - manual mode, led is on\r\n      #  - automatic mode, led blinks\r\n      - lambda: |-\r\n          if (id(g_automatic_mode)){\r\n            auto call = id(ps01_led_light).turn_on();\r\n            call.set_effect(\"auto_effect\");\r\n            call.perform();\r\n          } else {\r\n            auto call = id(ps01_led_light).turn_on();\r\n            call.set_effect(\"none\");\r\n            call.perform();\r\n          }\r\n\r\noutput:\r\n  - platform: esp8266_pwm\r\n    id: ps01_led\r\n    pin:\r\n      number: GPIO13\r\n      inverted: True\r\n\r\nlight:\r\n  - platform: monochromatic\r\n    output: ps01_led\r\n    id: ps01_led_light\r\n    effects:\r\n      - strobe:\r\n          name: auto_effect\r\n          colors:\r\n            - brightness: 100%\r\n              duration: 1s\r\n            - brightness: 0%\r\n              duration: 2s<\/pre>\n<h1><span class=\"ez-toc-section\" id=\"Home_Assistant\"><\/span>Home Assistant<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>This is what it looks like in Home Assistant:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2528\" src=\"https:\/\/www.espthings.io\/wp-content\/uploads\/2023\/02\/HA_screenshot.png\" alt=\"\" width=\"493\" height=\"581\" srcset=\"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/HA_screenshot.png?v=1676734928 493w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/HA_screenshot-255x300.png?v=1676734928 255w, https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/HA_screenshot-320x377.png?v=1676734928 320w\" sizes=\"auto, (max-width: 493px) 100vw, 493px\" \/><\/p>\n<h1><span class=\"ez-toc-section\" id=\"Final_thoughts\"><\/span>Final thoughts<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>We have this running for about 3 months now and it works great. On stand-by the pump (including the ET-PS01) consumes about 0.6w, which is 39,4 Watt less than before \ud83d\ude09<br \/>\nIf you want to save some electricity and monitor your underfloor heating supply temperature in Home Assistant, then build this thing yourself! If you do, please let us know in the comments \ud83d\ude42<\/p>\n<p>If you run into issues during the construction, or you have any question regarding this controller, please leave a comment below. We will try to reply as soon as possible!<\/p>\n<p>Make sure to\u00a0<strong><a href=\"https:\/\/www.youtube.com\/channel\/UCeMzk2C5tbMkpsByg7Nbgyw?sub_confirmation=1\" target=\"_blank\" rel=\"noopener\">subscribe<\/a><\/strong>\u00a0to our YouTube channel so you won\u2019t miss any of our upcoming project videos!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction As electricity is so damn expensive in Europe now and my (2) underfloor heating pumps are constantly consuming more than 40 Watt each, I wanted to find a smarter solution for that. While browsing the internet of course it turned out there are existing&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":2549,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[38,3],"tags":[42,96,97],"class_list":["post-2502","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","category-projects","tag-esphome","tag-et-ps01","tag-underfloor-heating-pump"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ESPHome Underflooor heating Pump Switch - ET-PS01 - ingeniousmakers.com<\/title>\n<meta name=\"description\" content=\"Underfloor Heating Pump switch for ESPHome and Home Assistant\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Underfloor Heating Pump switch for ESPHome and Home Assistant\" \/>\n<meta property=\"og:description\" content=\"Underfloor Heating Pump switch for ESPHome and Home Assistant. This will save electricity!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/\" \/>\n<meta property=\"og:site_name\" content=\"ingeniousmakers.com\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-18T14:37:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-26T20:21:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_in_enclosure-1024x860.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"860\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"michel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Underfloor Heating Pump switch for ESPHome and Home Assistant\" \/>\n<meta name=\"twitter:description\" content=\"Underfloor Heating Pump switch for ESPHome and Home Assistant. This will save electricity!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_in_enclosure.png?v=1676729536\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"michel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/index.php\\\/2023\\\/02\\\/18\\\/esphome-underflooor-heating-pump-switch-et-ps01\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/index.php\\\/2023\\\/02\\\/18\\\/esphome-underflooor-heating-pump-switch-et-ps01\\\/\"},\"author\":{\"name\":\"michel\",\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/#\\\/schema\\\/person\\\/f1d70771f1c76600487075757975bf43\"},\"headline\":\"ESPHome Underflooor heating Pump Switch &#8211; ET-PS01\",\"datePublished\":\"2023-02-18T14:37:42+00:00\",\"dateModified\":\"2023-03-26T20:21:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/index.php\\\/2023\\\/02\\\/18\\\/esphome-underflooor-heating-pump-switch-et-ps01\\\/\"},\"wordCount\":910,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/index.php\\\/2023\\\/02\\\/18\\\/esphome-underflooor-heating-pump-switch-et-ps01\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/project-ET-PS01.png\",\"keywords\":[\"esphome\",\"ET-PS01\",\"Underfloor heating pump\"],\"articleSection\":[\"News\",\"Projects\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.ingeniousmakers.com\\\/index.php\\\/2023\\\/02\\\/18\\\/esphome-underflooor-heating-pump-switch-et-ps01\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/index.php\\\/2023\\\/02\\\/18\\\/esphome-underflooor-heating-pump-switch-et-ps01\\\/\",\"url\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/index.php\\\/2023\\\/02\\\/18\\\/esphome-underflooor-heating-pump-switch-et-ps01\\\/\",\"name\":\"ESPHome Underflooor heating Pump Switch - ET-PS01 - ingeniousmakers.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/index.php\\\/2023\\\/02\\\/18\\\/esphome-underflooor-heating-pump-switch-et-ps01\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/index.php\\\/2023\\\/02\\\/18\\\/esphome-underflooor-heating-pump-switch-et-ps01\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/project-ET-PS01.png\",\"datePublished\":\"2023-02-18T14:37:42+00:00\",\"dateModified\":\"2023-03-26T20:21:26+00:00\",\"description\":\"Underfloor Heating Pump switch for ESPHome and Home Assistant\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/index.php\\\/2023\\\/02\\\/18\\\/esphome-underflooor-heating-pump-switch-et-ps01\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.ingeniousmakers.com\\\/index.php\\\/2023\\\/02\\\/18\\\/esphome-underflooor-heating-pump-switch-et-ps01\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/index.php\\\/2023\\\/02\\\/18\\\/esphome-underflooor-heating-pump-switch-et-ps01\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/project-ET-PS01.png\",\"contentUrl\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/project-ET-PS01.png\",\"width\":521,\"height\":293},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/index.php\\\/2023\\\/02\\\/18\\\/esphome-underflooor-heating-pump-switch-et-ps01\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ESPHome Underflooor heating Pump Switch &#8211; ET-PS01\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/#website\",\"url\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/\",\"name\":\"Ingeniousmakers.com\",\"description\":\"Make it or break it!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/#organization\",\"name\":\"Ingeniousmakers.con\",\"url\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/cropped-cropped-logo_landscape_no_payoff_transparent.png\",\"contentUrl\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/cropped-cropped-logo_landscape_no_payoff_transparent.png\",\"width\":1905,\"height\":671,\"caption\":\"Ingeniousmakers.con\"},\"image\":{\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCeMzk2C5tbMkpsByg7Nbgyw\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/#\\\/schema\\\/person\\\/f1d70771f1c76600487075757975bf43\",\"name\":\"michel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b08aad91cb210b8eeb8cccdd43555d1fa747a0c865eaab78016c4305357e29cc?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b08aad91cb210b8eeb8cccdd43555d1fa747a0c865eaab78016c4305357e29cc?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b08aad91cb210b8eeb8cccdd43555d1fa747a0c865eaab78016c4305357e29cc?s=96&r=g\",\"caption\":\"michel\"},\"sameAs\":[\"https:\\\/\\\/www.ingeniousmakers.com\"],\"url\":\"https:\\\/\\\/www.ingeniousmakers.com\\\/index.php\\\/author\\\/michel\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ESPHome Underflooor heating Pump Switch - ET-PS01 - ingeniousmakers.com","description":"Underfloor Heating Pump switch for ESPHome and Home Assistant","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/","og_locale":"en_US","og_type":"article","og_title":"Underfloor Heating Pump switch for ESPHome and Home Assistant","og_description":"Underfloor Heating Pump switch for ESPHome and Home Assistant. This will save electricity!","og_url":"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/","og_site_name":"ingeniousmakers.com","article_published_time":"2023-02-18T14:37:42+00:00","article_modified_time":"2023-03-26T20:21:26+00:00","og_image":[{"width":1024,"height":860,"url":"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_in_enclosure-1024x860.png","type":"image\/png"}],"author":"michel","twitter_card":"summary_large_image","twitter_title":"Underfloor Heating Pump switch for ESPHome and Home Assistant","twitter_description":"Underfloor Heating Pump switch for ESPHome and Home Assistant. This will save electricity!","twitter_image":"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/ET-PS01-220925-1_in_enclosure.png?v=1676729536","twitter_misc":{"Written by":"michel","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#article","isPartOf":{"@id":"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/"},"author":{"name":"michel","@id":"https:\/\/www.ingeniousmakers.com\/#\/schema\/person\/f1d70771f1c76600487075757975bf43"},"headline":"ESPHome Underflooor heating Pump Switch &#8211; ET-PS01","datePublished":"2023-02-18T14:37:42+00:00","dateModified":"2023-03-26T20:21:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/"},"wordCount":910,"commentCount":1,"publisher":{"@id":"https:\/\/www.ingeniousmakers.com\/#organization"},"image":{"@id":"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#primaryimage"},"thumbnailUrl":"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/project-ET-PS01.png","keywords":["esphome","ET-PS01","Underfloor heating pump"],"articleSection":["News","Projects"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/","url":"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/","name":"ESPHome Underflooor heating Pump Switch - ET-PS01 - ingeniousmakers.com","isPartOf":{"@id":"https:\/\/www.ingeniousmakers.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#primaryimage"},"image":{"@id":"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#primaryimage"},"thumbnailUrl":"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/project-ET-PS01.png","datePublished":"2023-02-18T14:37:42+00:00","dateModified":"2023-03-26T20:21:26+00:00","description":"Underfloor Heating Pump switch for ESPHome and Home Assistant","breadcrumb":{"@id":"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#primaryimage","url":"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/project-ET-PS01.png","contentUrl":"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2023\/02\/project-ET-PS01.png","width":521,"height":293},{"@type":"BreadcrumbList","@id":"https:\/\/www.ingeniousmakers.com\/index.php\/2023\/02\/18\/esphome-underflooor-heating-pump-switch-et-ps01\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.ingeniousmakers.com\/"},{"@type":"ListItem","position":2,"name":"ESPHome Underflooor heating Pump Switch &#8211; ET-PS01"}]},{"@type":"WebSite","@id":"https:\/\/www.ingeniousmakers.com\/#website","url":"https:\/\/www.ingeniousmakers.com\/","name":"Ingeniousmakers.com","description":"Make it or break it!","publisher":{"@id":"https:\/\/www.ingeniousmakers.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.ingeniousmakers.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.ingeniousmakers.com\/#organization","name":"Ingeniousmakers.con","url":"https:\/\/www.ingeniousmakers.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.ingeniousmakers.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2025\/03\/cropped-cropped-logo_landscape_no_payoff_transparent.png","contentUrl":"https:\/\/www.ingeniousmakers.com\/wp-content\/uploads\/2025\/03\/cropped-cropped-logo_landscape_no_payoff_transparent.png","width":1905,"height":671,"caption":"Ingeniousmakers.con"},"image":{"@id":"https:\/\/www.ingeniousmakers.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.youtube.com\/channel\/UCeMzk2C5tbMkpsByg7Nbgyw"]},{"@type":"Person","@id":"https:\/\/www.ingeniousmakers.com\/#\/schema\/person\/f1d70771f1c76600487075757975bf43","name":"michel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/b08aad91cb210b8eeb8cccdd43555d1fa747a0c865eaab78016c4305357e29cc?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b08aad91cb210b8eeb8cccdd43555d1fa747a0c865eaab78016c4305357e29cc?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b08aad91cb210b8eeb8cccdd43555d1fa747a0c865eaab78016c4305357e29cc?s=96&r=g","caption":"michel"},"sameAs":["https:\/\/www.ingeniousmakers.com"],"url":"https:\/\/www.ingeniousmakers.com\/index.php\/author\/michel\/"}]}},"_links":{"self":[{"href":"https:\/\/www.ingeniousmakers.com\/index.php\/wp-json\/wp\/v2\/posts\/2502","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ingeniousmakers.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ingeniousmakers.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ingeniousmakers.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ingeniousmakers.com\/index.php\/wp-json\/wp\/v2\/comments?post=2502"}],"version-history":[{"count":35,"href":"https:\/\/www.ingeniousmakers.com\/index.php\/wp-json\/wp\/v2\/posts\/2502\/revisions"}],"predecessor-version":[{"id":2638,"href":"https:\/\/www.ingeniousmakers.com\/index.php\/wp-json\/wp\/v2\/posts\/2502\/revisions\/2638"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ingeniousmakers.com\/index.php\/wp-json\/wp\/v2\/media\/2549"}],"wp:attachment":[{"href":"https:\/\/www.ingeniousmakers.com\/index.php\/wp-json\/wp\/v2\/media?parent=2502"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ingeniousmakers.com\/index.php\/wp-json\/wp\/v2\/categories?post=2502"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ingeniousmakers.com\/index.php\/wp-json\/wp\/v2\/tags?post=2502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}