Keen Smart Vents Control Based on Time of Day

I just started messing with some Keen Smart Vents, and I was not happy with the way the available user apps were controlling the vents based on temperature only - I wanted to be able to tell the vents to fully open at certain times, overriding the temp control, and I did not see a way to do that.

So, I might have reinvented the wheel here, but I decided to see if the smart app for dimmers would work with the smart vents - and it does. Hallelujah. The Keen vents will accept a setlevel command, and this make all the difference.

If you want to try it…in the Smart App (mobile), under Marketplace, Smart Apps, Lights & Switches, Smart Lights, New Lighting Automation, Which Light do you want to control…chose a smart vent and proceed to enter the values as if it were a dimmer…100% level is full open. I set my actions for a specific time, but other triggers are available. The same caveats apply, to not close all vents down to zero, or it may cause the system back pressure to harm your HVAC,

It is not the end-all solution, but until that time where a completely developed smart app if available, I am going this way.


You must have overlooked My Zoned Heating/Cooling Solutions:

They can schedule the vent settings AND the thermostat’s setpoints for maximum efficiency and much more…


I did purchase and install your ecobee-set-zone-with-schedule app, and I had it working fro a few days, but I could not figure out how to override the program control at specific times of the day. You have made an amazing app, but it may be over my head for now.

Hi @zeeway, ecobeeSetZoneWithSchedule exactly follows the scheduling (climates) set at ecobee (as documented at the ST community wiki).

Any schedule set in the smartapp must follow the scheduled program/climate set at ecobee. It’s basically a 1-to-1 mapping. The smartapp has been designed specifically for the ecobee users who do not want to rely on the ST scheduling as it is not as reliable as the ecobee scheduling. The smartapp also allows to resume any ecobee program and avoid creating temporary holds at the thermostat when not needed.

If you want to define new schedules that don’t exactly match the ecobee programs, then you need ScheduleTstatZones or ScheduleRoomTempControl. In those smartapps, you can set a start and end times for all smartapp’s schedules. If desired, ScheduleRoomTempControl allows you to only control the vents (and not set any thermostat’s setpoints) unlike the other smartapps.


Is it possible to have more than one set-point for a vent?
For ceiling-mounted registers, I would like to have the register open 100% if the register is warmer than the room, up to a second setpoint for 40% open if still warmer but at the desired temp. If the register is cooler than the room sensor, the register should close to 10%, to avoid blowing cold air around.
The idea is to blow vigorously initially to mix the air as best possible from a ceiling register, and then partially close the register to approach/maintain the set-point.

You can approach what you want with the app by Mike Maxwell, Keenect, or one of the apps by Yves Racine who posted above. If you are determined to do it yourself, there may be a way to do it with several if-then statements from the ifttt website.

So far the only app I’ve seen that can do this is a withdrawn program.
It’s a fairly common issue, and smarter ceiling vent control could make many rooms a lot more comfortable and waste less heat.
I’ve suggested to Yves that he implement a “Ceiling Register” setting, which would behave this way.

If there isn’t a dedicated smartapp to your liking for this use case, I’m fairly sure you could write your conditions into either one or multiple pistons in CoRE.

Check out keenect. I have been using it for a while. I have day and night modes and each cent has heating and cooling settings for each mode if you wish.


My smartapps allow you to define schedules where you can set start and end times.

You can also use the ST hello modes (Home, Away, Night, any custom ones) as an additional scheduling criteria.

My smartapps are the most comprehensive zoned heating/cooling solutions under ST, especially for controlling smart vents.

Check out the full list of features at:


I’ve implemented the Ceiling Register notion in an obsolete app, but would prefer to find something that is supported.
I’m not much interested in vent-based scenes, aside from Time of Day, but I would like SW that enables a vent to actually do a better job of heating a room by controlling it dynamically not just for temperature, but for better circulation.

Hmmm…how do you measure circulation? Perhaps you could use two temp sensors at opposite ends of the room, if you are looking for even temperatures. If you are looking for true air movement in several locations in the room, I don’t know how to do that.

The issue is that when heating from ceiling ducts, particularly if the register is closed even partially, the heat stays up near the ceiling, and does not heat anything near chair or floor level - room comfort is poor, and a lot of heat is lost warming the ceiling but not the inhabitants.

The solution is not complex, and need not have any connection to a thermostat, only access to a room temperature sensor:
a) when heating begins, open the vent wide open, to blow the heat down toward the floor as much as possible,
b) then as you approach or overshoot the set-point, partially close the register to finish the job for the last couple of degrees - maybe to 50% or so. If you want to adjust the room temperature, this is the set-point and open % to change.
c) to reduce the initial cold-air from cooled-down ducts, compare the Keen Vent temp with the room sensor temp. If the vent temp is less than the room temp, close it to 10%, while the duct and register warm up, then GoTo a)

BTW, when I refer to a room sensor, I don’t think that an Ecobee connection is useful for this, as its response and reporting time to ST is on the order of 15 minutes. A dedicated Fibaro Door/Window/Temp sensor is much faster to respond to conditions for dynamic vent control like this.

Hi @EldRitch,

If there are more users who are interested in that “Ceiling Register” settings, then I might add it
to my roadmap.

Otherwise, this is considered custom development, and I usually charge a fee for any custom development.


Just a suggestion for making the Keen Vents more effective for room comfort.
I’ve got a solution for myself, but I’d pay for your app if it had specific support for ceiling registers.

Do We Need Ultra-Frequent Control?

The idea of sending a signal to a Keen Vent every few minutes troubles me, and I am not sure why.
When a thermostat gets information from a temperature sensor (Sensor 1), and either fires up the HVAC unit or shuts it down…well, that makes sense to me. Eventually the thermostat will reach its set point, and the HVAC system can go dormant for a while.
Now picture that same system with a secondary area equipped with Keen Vents and a separate temperature sensor (sensor 2) that is visible to a smart app. From what I have seen of the user- created smart apps, when the HVAC is running, the smart app will send signals to the Keen Vent every few minutes telling it to close down or open up a little more as it seeks the temperature set in the smart app for that secondary area. The problem is that the smart app can only control air flow at the Keen Vent, not the HVAC system. If the thermostat is set for cooling to 70 degrees (sensor 1), and the software for the Keen Vent is set for 60 degrees(sensor 2) , the smart app can open the Keen Vents all the way and never get there. It will futilely send signals to the Keen Vent until the cows come home, and it will not reach that secondary set point. It seems to me those smart apps make a promise they cannot keep.
I suspect that control system engineers have a name for this kind of problem, but I do not know what it is.

IMHO, in the same cooling scenario, usually you can easily determine which room gets cooler and which hotter, and that difference stays fairly constant, let’s say for the summertime during the day. With a little experimentation, you can open and close the Keen Vents through the SmartThings mobile app, until you find the sweet spot for your daytime living, and similarly for your nighttime living. Once this sweet spot is found, you can leave the Keen Vents there, at least during the daytime, without driving them crazy and wearing their mechanisms/batteries out, with a signal every few minutes.
I suspect you can set Keen Vents for one setting during the day, and one during the night, and your job is done. If the sun cooks one set of rooms in the morning and another set in the afternoon, you may have to refine that a bit. So maybe you need to change the vents settings four or five times in twenty four hours. You can automate this using the light dimming smart app, by the way (as stated above). For some reason, I like that better than forty or fifty settings a day, which likely do not improve anything.

Nope, I am not selling my latest whiz-bang app. I am just trying to understand why we need the super-complicated apps, when perhaps a very simple app would do. If I am all-wet (always a possibility), please educate me.

Yes, you can come up with scenarios where a simple algorithm would not work, but what’s your point? My automation of this function works very well in one of my rooms, but could work even better if it were under dedicated app control.
The issue is simply that it is possible to considerably improve the effectiveness of ceiling-mounted registers for heating.
As I expounded on above, ceiling vents, particularly when only partly open, mostly heat the ceiling, because heated air rises. The floor and chair levels of the room, down where the humans are, does not get much of the heat, and the upper half of the room becomes considerably overheated past the set-point, thus losing more heat than necessary.
If you control the vents dynamically to be 100% open when heating begins, you put some warm air down where it counts, and circulate and mix the warm air as best possible. Then, as you approach the set-point, close the vent part-way, so you don’t overheat that room beyond the rest of the home.
The notion about closing the vent if it is cooler than the room is icing on the cake, i.e. don’t start by blowing cold air around if you are trying to heat a room. Duh.
It seems obvious that controlling ceiling vents dynamically, in addition to time-based, could improve energy efficiency when heating houses with forced-air ceiling registers.
A smart app could easily do this under program control while working with or without a thermostat - I’d buy such an app. One that treats the Keen Vents as simple substitutes for time-based manual control isn’t interesting - even the Keen Hub can do that (badly).

Hi @zeeway,

As far as my zoned heating/cooling smartapps are concerned, they don’t send signals to the smart vents every few minutes, they only do it when the thermostat’s Operating State is not ‘idle’.

If you want to set your smart vents to a specific level during the day and to another level at nights, my smartapps can also do it at the schedule level: you just just need to set the desired level in Schedule Setup for your Daytime and Night schedules. You can even specify some start & end times for each schedule in ScheduleTstatZones and ScheduleRoomTempControl.

That’s it, all the smart vents that are part of your active zones for these schedules will be set to the desired level.For example, at nights, set all my upstairs bedrooms’ vents to 100%.

Usually, people want to use all their temp & motion sensors to control their vents to reach the optimal comfort. Otherwise, what is the benefit to use a smart vent just to set it to a static value vs. use a regular vent and control it manually?

IMHO, to do the former is a waste of money as the smart vents cost at least $80/unit.


Can someone add scheduling to the st app similarly as it is standard feature in the keen home app. And it should be based on room sensor not thermostat. Thank you


I’ve sent you an email about it. The smartapp called ScheduleRoomTempControl at my store can achieve this…

The thermostat is then optional. There is less features than ScheduleTstatZones., but it can control your smart vents based on your room’s temp/motion/contact sensors and some scheduling.

Refer to my thread here for more details (1st post):