When the thermostat turns the zone valve on, it opens in order to allow the hot water to flow to the radiators downstairs and it also sends a signal to the boiler to switch the heat on. Select the first climate entity in the entity box, in this case I chose climate.downstairs. without turning off the main power supply, This step is important and should not be skipped, quick and easy guide to a heat-only thermostat, Single zone heating with furnace and air ducting, Multi zone heating with furnace and air ducting, Single zone HVAC with furance and air ducting, Multi zone HVAC with furnace and air ducting, Single zone with Sonoff Basic, Wemos D1 Mini and DHT22, Single zone with Wemos D1 Mini, DHT22 and relay module, Dual zone with Sonoff Dual R2, Wemos D1 Mini and DHT22, How to automatically dim the lights using home assistant when watching a movie, How to simulate a sunrise with Home Assistant, How to control all of your smart devices with your existing dumb light switch, Wemos D1 Mini and DHT22 temperature sensor, detailed guide on how to set it up to auto discover in Home Assistant, build a temperature sensor for Home Assistant using a Wemos D1 Mini and DHT22, One temperature sensor for each additional zone, One relay switch for each additional zone, One relay switch for each air duct damper, Any boiler system or ventilation system with no integrated AC, Sonoff Dual R2 two switch relays that control each heating zone, Smart Life plug to switch on and off a standalone AC unit, Smart Life plug to switch on and off the fan (not applicable to my system, but included for those who will need it), The heat must be disabled if the AC in enabled, The AC must be disabled if the heat is enabled, The fan must run if either AC or heat is enabled, The fan must stop if neither the heat or AC is enable. This is a similar to the method to repurposing the existing wiring, however we will not make any changes to the existing wiring and instead we shall locate our temperature sensors near a USB power source.if(typeof ez_ad_units!='undefined'){ez_ad_units.push([[300,250],'siytek_com-sky-2','ezslot_26',169,'0','0'])};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-siytek_com-sky-2-0')}; This is the route I have chosen and the reason being there is already power in this location. I have a dual zone system with a hot water boiler and will be adding a small standalone AC unit in the master bedroom controlled by a smart plug. These wire colours reflect the actual colours found in my system, however this may be different in your system depending on your location.if(typeof ez_ad_units!='undefined'){ez_ad_units.push([[250,250],'siytek_com-sky-4','ezslot_28',174,'0','0'])};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-siytek_com-sky-4-0')}; The live connection for the thermostat switches are also connected to terminal 3 of the junction box. Copyright 2022 Siytek. The D1 Mini also receives the temperature readings from a DHT22 sensor. In system that uses a boiler to heat multiple zones there needs to be a thermostat and timer for each zone. Firstly lets summarize the rules that needs to be created. It should give you enough of an idea how to design your own system. I can simply wire the Sonoff to the junction box and I am done, no need to worry about housing electronics or finding power. I am not a HVAC engineer and offer this information with absolutely no guarantee that it will work with your HVAC system. The main issue with simply replacing the existing thermostat is that in many installations there is no power provided. Firstly we will look at the most basic system for heat only. It is common for the timer and thermostat to be integrated into the same module. For now I have the modules attached to USB chargers, which are plugged in to sockets near the old thermostats. A single or multiple units can be used either in a single zone system or grouped to match the zones of a multi zone system. I will be using the following hardware to run the system, each will be configured as an entity in Home Assistant. It is common for the timer and thermostat to be integrated into the same module.if(typeof ez_ad_units!='undefined'){ez_ad_units.push([[250,250],'siytek_com-leader-3','ezslot_13',193,'0','0'])};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-siytek_com-leader-3-0')}; The thermostat will send on on signal to the furnace if the measured temperature is below the user desired temperature. We also need to change the hot_tolerance and cold_tolerance values. As the DHT22 has a precision of 0.1, we can set it accordingly. When either of the zone valves open, current is delivered down the orange wire through terminal 4 of the junction box to the heat switch in the boiler. The cold_tolerance parameter is the value that the temperature must drop by before the switch is turned on. As this thermostat will be used for cooling and not heating we need to change the ac_mode to true so that the switch is enabled when the heat is above the setpoint. This installation is better suited next to the boiler/furnace as we need the mains voltage to power the Sonoff Basic. Now we have entered all of the code for our first thermostat instance and the completed code should look like this. I also have an awesome tutorial on how to build a temperature sensor for Home Assistant using a Wemos D1 Mini and DHT22, so go check it out if you still need temperature sensors. These diagrams may not be entirely accurate to how your system works, however they should give you enough of an idea.if(typeof ez_ad_units!='undefined'){ez_ad_units.push([[300,250],'siytek_com-leader-2','ezslot_12',160,'0','0'])};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-siytek_com-leader-2-0')}; In the single zone system the timer will send an on signal to the thermostat if the time and date match the user inputted values or if the heating is set to always on. It is important that the fan does not switch off if only one of the climate elements are turned off. In order to replace the existing thermostat, we simply need to connect these wires to a relay switch that can be controlled by Home Assistant. The thinner red and black lines show the 5V positive and negative connections. We must create a separate event the fires for each heating zone switch and the AC switch. You may find additional wiring here for AC or the fan, in which case you can also connect these to separate relay switches for your AC and fan functions. We also need to add some automation to control the fan as this is not included within the generic thermostat module. We also need to add a rule that will switch the AC and both heating zones off if the fan is turned off manually. The hot_tolerance parameter is the value that the temperature must increase by before the switch is turned on. Then we need to create a new directory and new YAML file. This would make the wires in the existing thermostat into a live an neutral, which you could connect to a 5V switching power supply module to run your Wemos D1 Mini. However this could also be an integrated AC unit that is connected to your ventilation system and switched on and off with an additional relay switch. I would advise that you do not attempt any modification to your HVAC system without consulting a certified engineer. In a single zone system it would work in exactly the same way, however the zone valve would be omitted and the thermostat would simply control the boiler/furnace heat directly. Therefore I will install two temperature sensors. This means I can use one of the Sonoff switches, which has the benefits of an integrated mains to 5V power supply and comes already housed in its own case. If you dont have a temperature sensor in mind then would recommend building your own temperature sensor using a Wemos D1 Mini and DHT22. In order to feed the temperature to Home Assistant we can use a seperate low voltage system consisting of a Wemos D1 Mini and DHT22 temperature sensor. If you have a wall socket nearby you could run the power from there to the thermostat. I have configured Tasmota on all of these devices and they are all showing in Home Assistant as entities. In a system consisting of a furnace either with or without an integrated AC unit, dampers are used in the air ducting to stop or allow the flow of hot or cold air to the designated zones. Note that there is only a live and neutral mains connection to the boiler and not to the thermostat. Some systems use return air ducts, which have been omitted from this diagram for clarity. Home Assistant has a really good built-in thermostat integration called generic thermostat that we will use for our system. if(typeof ez_ad_units!='undefined'){ez_ad_units.push([[300,250],'siytek_com-medrectangle-3','ezslot_6',152,'0','0'])};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-siytek_com-medrectangle-3-0')};Youll have something more unique and unlike an (expensive) smart thermostat, you will be able to control your whole house from the dashboard! In this case it is possible to add a standalone AC unit to our Home Assistant thermostat control. The furnace heats the air and the AC unit cools the air, which is delivered to the rooms through air ducts. Then we will tie them together with an automation.if(typeof ez_ad_units!='undefined'){ez_ad_units.push([[300,250],'siytek_com-small-rectangle-2','ezslot_31',176,'0','0'])};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-siytek_com-small-rectangle-2-0')}; The climate components should be defined in configuration.yaml under climate. modification to your HVAC system without consulting a certified engineer. Regardless of how your system differs from mine, a Home Assistant thermostat build will fundamentally consist of the following entities. Please note that your system may still differ, so it is important that you use this information for educational benefit only. You can omit any of the elements if it is not applicable to your configuration. We can use a smart switch like the Sonoff basic to control the signal to the boiler/furnace. This means that if either zone valve is open, the heat will be switched on. Enter the name you wish to be displayed on the card under in the name box. My suggestion here would be to use a Wemos D1 Mini connected to a DHT22 temperature sensor and a relay module. Now you should have a total of four cards on your thermostat tab. This card will contain all of the entities used in our thermostat system. Repeat this process and create another two cards for the climate.upstairs and climate.upstairs_ac entities. if(typeof ez_ad_units!='undefined'){ez_ad_units.push([[250,250],'siytek_com-leader-1','ezslot_7',157,'0','0'])};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-siytek_com-leader-1-0')}; In a single zone system the HVAC components control the temperature within the home globally. This thermostat has the timer integrated and has switch contacts on the back that open and close to turn the zone valve on and off. I wanted to minimise the work required to put the system back to how it was in the event of selling my house. This low voltage is enough to switch on and off a mechanical relay switch inside the unit. The thermostat/timer modules have been removed and replaced with the Home Assistant components.if(typeof ez_ad_units!='undefined'){ez_ad_units.push([[250,250],'siytek_com-mobile-leaderboard-2','ezslot_16',164,'0','0'])};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-siytek_com-mobile-leaderboard-2-0')}; I have also added a standalone AC unit that I will put in the master bedroom, which can be switched on and off with a smart plug. There is also a desk fan connected to another smart plug shown in dotted lines. I currently power mine from an old USB charger but I have future plans to install it inside a DIY smart lamp.if(typeof ez_ad_units!='undefined'){ez_ad_units.push([[250,250],'siytek_com-box-4','ezslot_2',154,'0','0'])};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-siytek_com-box-4-0')}; If you have more than one thermostat in your house then you will need a minimum of one temperature sensor for each zone, ideally located near each of the original thermostats or at least in the same room. These can be powered from any 5V source, such as USB or a battery. For this tutorial I will be building a system to cover a two zone system with both heating and cooling ability. DO NOT touch nor attempt to modify any household wiring without turning off the main power supply. The system consisting of a single thermostat that either heats or cools the home depending on the desired temperature vs the actual temperature. Now that we have completed the first thermostat, we can make a copy of the code below on order to make the second instance for the upstairs heating zone. The thermostat will send on on signal to either the AC unit or furnace depending on whether the measured temperature is above or below the set temperature. We will create the cards using the UI editor and the built-in thermostat card. Each thermostat and timer functions in the same way as a single zone, except the on signal is passed to a zone valve instead of the boiler. However this method requires knowledge of how the home electrical system works and should not be attempted if you do not fully understand how to implement it. However I will include all of the additions including the Home Assistant code and setup for fan control for the benefit of my American friends who are more likely to be using a ventilation based system. We will start with a thermostat for the downstairs zone. WARNING: These cables carry the full mains voltage and could give you a LETHAL electric shock. In a heat only system either a boiler or furnace delivers heat to the entire home either with hot water or hot air respectively. Now we can enter the first instance of generic thermostat in our generic_thermostat.yaml file. In my case I have two zones, upstairs and downstairs. Something beyond the ability of a commercially available thermostat! You will need to assess how your own system is configured and apply the information that is relevant. Now we have completed all of our instances of the climate integration, go ahead and save the YAML file.if(typeof ez_ad_units!='undefined'){ez_ad_units.push([[250,250],'siytek_com-netboard-1','ezslot_20',180,'0','0'])};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-siytek_com-netboard-1-0')}; There are some important rules that we must setup in order to make sure our system functions safely and that no damage is caused. Therefore the three rules we need to create are as follows. I will create a new tab called thermostat for the cards but you can put them anywhere you like. Now lets look at how we will modify this system in order to integrate it with Home Assistant. Give the entity card a title, I called mine climate sensors. We can break things down into two categories, single zone and multiple zone systems. There is also plenty of space in this location as I am not confined to a wall box. As this zone is for the downstairs heating we will set this to false. Disclosure: Some of the links on this site are affiliate links. We also need to use sensor.temperatureupstairs for our temperature reading. Knowledge ofconfiguration.yamland the YAML language is also required as this tutorial is a little more advanced. This is a safer option compared with running a mains power cable and using a 5V switching power supply module. Please take the time to research your own system and it would be a good idea to create a diagram to match your system. This example features two zones, one upstairs and one downstairs area. All rights reserved. Another way to wire in to your existing system is to connect your relay switches in the location where the existing thermostat wiring terminates. Switch off the show header toggle switch as it is not needed. If you do have a plug socket located nearby you could just plug in a USB charger and run the USB cable to the location of the thermostat. The thermostat also controls the fan and can be set to on or auto depending on user requirements. The initial_hvac_mode parameter is the mode that the thermostat will be set to when first loaded. As there are many different possible configurations we will take a look at things from a more generalised perspective. If you are using Tasmota, I have a detailed guide on how to set it up to auto discover in Home Assistant. The dual zone system looks a lot more complicated in the diagram, but it is quite straightforward in its operation. I have chosen to split my files up, therefore my automation component for climate is defined in a separate file called /automation/climate_rules.yaml. This will ensure that if for some reason the fan is turned off, the AC and heating zones do not continue to run. The wiring found in different systems will not necessarily be the same, therefore it is most important that you have a full understanding of how your system is wired. You will need at least one temperature sensor to report the temperature back to Home Assistant. The thermostat integration is well documented on the Home Assistant website, I would recommend reading about it further on the Generic Thermostat page. If you have a boiler and radiator system then the pump will likely be integral with the boiler and no additional relay switch is needed.if(typeof ez_ad_units!='undefined'){ez_ad_units.push([[250,250],'siytek_com-banner-1','ezslot_4',155,'0','0'])};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-siytek_com-banner-1-0')}; If you have either an integrated AC unit or would like to include a standalone AC unit, you will need another relay switch to control it. This step is important and should not be skipped or you may cause damage to your HVAC system. We can create the lovelace cards and finally test our our new thermostat! This can be powered from USB as shown in the diagram, or from a battery. We need to change the name to Upstairs AC and also we need to use switch.ac in order to control the AC unit with this thermostat. If you do not want to use this feature, just exclude this line of code. The automation rules should be entered into your configuration.yaml file under automation. I have a detailed guide that makes this very easy and you can build one for around the price of a beer! This is the method that I would most recommend in order to minimise exposure to mains electrical current. The target_temp parameter is the temperature that the thermostat is trying to achieve. The following diagram shows the system that I will be building. It defaults to 0.5 for celsius and 1 for fahrenheit. In my system there are two zones of heating and one zone of AC (the standalone AC unit in the bedroom). The Sonoff can also tap mains power from the global mains supply found on terminals 2 and 3. Once you are done click save.if(typeof ez_ad_units!='undefined'){ez_ad_units.push([[250,250],'siytek_com-narrow-sky-1','ezslot_17',185,'0','0'])};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-siytek_com-narrow-sky-1-0')}; Once you are back to the overview page, click on the orange circle with the plus again to add another entity. Awesome! The system is very simple, the timer thermostat module has a live incoming cable connected to a switch shown in brown. These are only suggestions and you can use any sensor or switch that you like, so long as it can be recognised and controlled with Home Assistant.if(typeof ez_ad_units!='undefined'){ez_ad_units.push([[300,250],'siytek_com-large-leaderboard-2','ezslot_5',156,'0','0'])};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-siytek_com-large-leaderboard-2-0')}; Please do not attempt to make any modifications to your HVAC system unless you are absolutely certain you understand what you are doing. I will be using the Sonoff Dual R2 as it has two relay switches and I can use one for each zone. Finally we need to add a third instance of the thermostat in order to control the AC unit in the master bedroom. Therefore we will configure three instances of generic thermostat to control each one individually. Once you are done click save. I would recommend locating it somewhere near to the original thermostat, particularly if you are using a boiler type system. There are many different configuration of HVAC system so you need to gain a full understanding of your own system and how it is configured. A full HVAC system also features the ability to cool the home by means of cold air. Lets take a look how to do this, here is the main thermostat in my house that controls the downstairs heating zone. All the code is finally complete so we can go ahead and and save the YAML file. Home Assistant can control the relay module and read the temperature from the single module when using Tasmota. There are just two wires connected to the back and if we short these wires together, the zone will turn on. First we will create a series of automations which turn on the fan if either of the heat zones or the AC unit are turned on. Home Assistant will take care of it now for you! You can set the precision of your sensor using the precision parameter. However this does have the benefit of being able to hide the temperature sensor inside something more creative than an ugly wall box, or having to make major changes to the existing thermostat installation.if(typeof ez_ad_units!='undefined'){ez_ad_units.push([[250,250],'siytek_com-small-square-1','ezslot_32',171,'0','0'])};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-siytek_com-small-square-1-0')}; My future plan is to build a smart lamp for the hallway that can be controlled as usual, but that also reports the temperature back to Home Assistant. The information here is provided for educational benefit only, I accept no responsibility for injury or damage caused due to information provided on this website. Why spends hundreds on a smart thermostat when Home Assistant has the power to control all of the necessary hardware and its absolutely free?! This also electrically isolates the control electronics from the heating system. However with a little automation YAML it is possible to get the exact functionality that a sophisticated HVAC system needs. This information is purely for educational purpose only, stop and seek expert assistance from a qualified HVAC engineer. In the single zone system with integrated AC, the timer will send an on signal to the thermostat if the time and date match the user inputted values or if the heating/AC is set to always on. There are however several solutions to this problem. When a zone valve receives the on signal, it opens and allows hot water to flow to the radiators in that zone. The most important thing to understand here is the inputs and outputs required for Home Assistant, which are common across all types of installation. Neutral is shown in blue, live is shown in brown but grey is also used for the zone valves. I will also cover an alternative method that I will be using to build my system, primarily to give an idea for an alternative method. Lets take a look at the diagrams for some clarity. Thats it, we are all done! When either of the thermostats makes a call for heat, the switch inside the thermostat is closed and the current is delivered to the corresponding zone valve through terminals 1 and/or 5 of the junction box. In addition to your Wemos D1 Mini, temperature sensor and relay module, you could add a 5V switching power supply and run a power cable to the location of your old thermostat. You will also need a smart switch with at least one relay in order to control your boiler/furnace. All we need to do in order to connect this to Home Assistant is replace the thermostat with a smart relay switch and give the smart relay a power source. As I have a dual zone heating system I have two thermostats, one for upstairs and one for downstairs. One thing that remains the common is each system has a method of heating or cooling and is controlled by a thermostat, which measures the temperature in the room. This is relevant for a thermostat that is setup to control AC. Now that we have all instances of the climate integration, the file should look something like this. It also does not require any changes to the existing wiring so is suitable either if you live in rented accomodation of if you do not want to interfere with the existing system. The thermostat also controls the fan and can be set to on or auto depending on user requirements. I would recommend one of the ubiquitous Sonoff switches. In the most simplistic cases these wires connect to the switch on the boiler/furnace, however they may also run to a junction box. This means that when you switch either heating thermostat on, the AC thermostat switches off and if you switch the AC thermostat on, the heating thermostats switch off. I have chosen to split my files up, therefore my climate components are defined in a separate file called /climate/generic_thermostat.yaml. If you are looking for a quick and simple solution, you may want to check out my quick and easy guide to a heat-only thermostat instead. Some systems only have the ability to produce heat, which include all boiler systems and ventilation systems that do not have an integrated AC unit. Congratulations for making it to the end of this huge tutorial! To start with I will give some examples of parts required. A huge benefit of using Home Assistant as your smart thermostat is that you can easily integrate a standard dumb AC unit using either a smart plug to switch the power or an IR blaster if the unit has a remote control. The thermostat will send on on signal to the boiler if the measured temperature is below the user desired temperature.if(typeof ez_ad_units!='undefined'){ez_ad_units.push([[250,250],'siytek_com-leader-4','ezslot_14',188,'0','0'])};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-gpt-ad-siytek_com-leader-4-0')}; The boiler heats the water in the pipes, which is pumped to the radiators in each room. This will be the operating range of the slider within the thermostat. You will need to have Home Assistant installed and configured, plus your devices added and recognized as entities. First we need to define the platform as generic_thermostat and give it a name. The radiator nearest to the thermostat does not have a local thermostat as the room that it is located in is used by the main thermostat to set the global temperature.
home assistant hvac damper