Project: Intelligent Efficient Ventilation to save on AC

I operate a data-center in a climate where there is occasionally cool air outside. We have z-wave relays that can control several ventilation fans that can move hot air out of our server space, and move outdoor air into our space.

Today I have a scene that shuts off the intakes an hour after sunrise, and if we think it’s going to be cold enough overnight to use outdoor air, then we turn it on manually (remotely at least).

But I would like to make that automatic.

To complicate things, the decision on weather outdoor air is useful to us depends on the temperature of the air indoors. Basically it has to be about 15 degrees colder outside than it is inside for it to be worth it.

We have an array of z-wave temp sensors indoors in different locations, and we have a ‘virtual outdoor temp sensor’ plugin installed, as well as vera itself displays’ the outdoor temp. So the information is in vera for us to make that decision manually.

How should we go about scripting the vera to compare temps, and send commands to z-wave relays in response?

Time of day isn’t strictly speaking relevant other than the 15 degrees rule applies less when the sun is down. (the intake ducting gets hot in the sun if you are curious)

Fellow data center guy here, and I’ve done things like this. You can script this in Lua, or build it in Reactor (disclosure: I’m the author). I would do the latter, as you’ll spend less time on trivial overhead coding and more time directly on attacking the problem to be solved.

I would not rely on the virtual outdoor temperature sensor. Reliability is not the only issue there; the data is either non-localized (i.e. may be near but not near enough) or aggregated, so you’re not reading actuals. There are several options for outdoor sensors, and I don’t think small microcontrollers are out of the question. These days they are capable, cheap, and easy to integrate (built-in WiFi, web servers with SSL capable of serving APIs securely, etc.).

Just curious, have you considered humidity or other environmental contaminants? I think you want to add (or keep) a manual override for either state (force outdoor air, force indoor recirculation). I’ve had trucks at the loading dock set off VESDA when doors get opened.

You might also check your fire codes. Fire Marshalls (and insurance companies) like to see oxygen starvation when systems go into alarm. Can you get an alarm contact from your FACP or suppression system?

1 Like

I use to do this professionally using dedicated building automation controllers and this gets complicated very fast.
Yes on dedicated OSA sensors and I’d use more than one and at least one behind the OSA dampers so you know what temperature air you are pulling into the space. You will also need lots of sensors around the space and in the return/exhaust air to know what temperatures you are dealing with.
The fire alarm logic is usually handled with relay logic after the automation logic so a fire alarm signal or loss of power causes a defined action based on code and the system engineers logic.
I use Zwave at home and I would never rely on zwave for this level of control. Everything was hardwired, controllers were networked with lots of logic to allow for a controller losing communications. That being said I was working with very large data centers, office building complexes and college campuses doing HVAC and lighting automation as well as access/security control.


I have to say I would not rely on this to protect the contents of a datacentre.

YMMV of course


KNX & Eisenbauer SCADA is one professional solution.
I’d never use RF for this, it must be hardwired.

1 Like

Heh, we’re a bottom of the barrel datacenter. Vesda? (Laugh) We don’t even have sprinklers.

Hell there weren’t smoke alarms here until I added them, and when I picked them out I picked out zwave ones so if they ever trigger I have a scene that shuts off the AC and the intake/exhaust fans.

I’m not against hardwiring. But what would the “hub” be? It needs to cost less than $200. you can’t TYPE the word SCA… without spending more than that. And it needs to accept http get requests to control relays or query sensors. We’re a heavily linux shop, so it needs to be open in nature and compatible with other systems. Vera ticks all those boxes.

I’m going to check out this ‘reactor’ thing…

1 Like

Fair enough.

Reactor will allow you to build whatever control logic you need, far easier and with much more reliability than Vera’s native tools.


You’re totally right. Reactor is amazing! Thank you @rigpapa !!!

It was fairly straight forward to build a reactor to do what I need. Unfortunately it looks like the weather here won’t be anywhere near cold enough to see it in action, but I tested it manually and it does the actions requested. I haven’t seen it malfunction.


Awesome. You may want to consider using some of the delays in the condition options, to keep any problems or edges from “flapping” your controls open/shut. I’m thinking specifically either the “delay reset” or “sustain for” depending on how you are approaching your logic. See the Condition Options in the Reactor docs.

+1 to this. The delays can “debounce” condition changes to damp the control loop response.

1 Like

EzloPi open source platform can help sense and automate these requirements.