So in the past, I had been running my Keen vents connected to my SmartThing hub with a cloud app built by Barry Burke running the configuration and automations required. With SmartThing essentially shutting apps down, this is no longer an option.
So I decided to try to replicate the features I was using, natively in Home Assistant and have it run in a “set it and forget it” mode: automation rather than remote control.
This is not about saving money, so there’s no presence detection (my thermostat does that already), no open windows/doors disabling of zones or anything like that. At this point, this is just a basic framework to bridge the gap left in SmartThings without going back to the native Keen app. The major hinderance in HA was that virtual thermostat implementations only control switch type devices
- Run native, no need for node red
- Least amount of custom components
- Temperature equalization (I live in a 3 levels house with a central source of heat)
- Easy on vent batteries (avoid unwarranted movements of the vents as the more vents move the more battery energy usage)
My setup physical:
- I have vents on 3 floors, 1 for the basement zone, 2 on the ground floor zone where the thermostat is (aka the master zone), and 1 each in the office and two bedrooms.
- Not all the vents are smart vents, and that wouldn’t be necessary or even recommended to avoid an “all closed” situation as this is a recipe to kill your furnace.
- Each room/zone has at least a temperature sensor.
- I did some duct work to allow for better air circulation, insulation/air sealing work and all that good stuff but I’m still not there, so this setup compensates for the badly designed vent system.
The automations, devices and helpers
- Automation to open specific vents when thermostat goes into fan mode/circulate mode
- Automation to open all vents when I want to disable everything (aka kill switch)
- Automations to synchronize the target temperatures for each zone whenever the target temperature is change on the thermostat and an hourly automation that does the same thing, just in case
- Automations that link virtual thermostats for each zone to the zone vents
- Generic thermostat for each zone, currently using out of the box device but will migrate to “Dual Smart Thermostat” custom integration. These devices take care of triggering the on/off of the virtual heat source based on target temperatures. Avoid a bunch of automations.
- the kill switch, to stop all automation around HVAC
- Master thermostat target temperature, just makes my life easier to have in a helper/easier visualization in HA
- Target temperature offset for master zone, allow me to “slow down” the effect of the HVAC in the master zone slowing down the effect on the thermostat temperature sensor. In my case, my main issue is that the other zones tend to not always reach target temperatures in the winter.
Notes and future enhancements;
- create helpers for each zone representing the low and high range of the vents. Right now this is hard coded in each automation.
- Vents and safety: I’m being cautious so not all vents are automated and I never fully close vents. I have temperature sensors in the ducts, at the source to monitor the effects. I will probably automate an automation kill switch based on excessive temperatures at some point.
- Keen vents tend to be noisy at 0 and 100% opening, so backing off 5 percent cuts down the noise.
- Out of scope for temperature management, but I also monitor air pollution level (co2, pm2.5) and turn on the HVAC fan to dilute CO2 and filter particles).
- HA schedules could be used to modify the temperatures in certain zones to save on heating.
To get this implemented, you will need a zoning plan and the following integrated in HA:
- a smart thermostat, need to be able to read target and current temperature as well as fan mode
- at least one smart vent, needs to show up as a dimmable device
- a temperature sensor in each zone, the ones in the vents are not useful
So this turned out to be longer than expected. I’ll follow up with the step by step to get you there.
I know this is mostly conceptual, but feel free to comment/question.