PDA

View Full Version : Furnace Control


Peter847
Oct 30, 2009, 10:55 PM
Looking for some help from the experts . . . .

I want to use HCA to control my furnace using a more sophisticated algorithm than a standard thermostat. I reckon I can get the tempertures using THUM units (unless someone knows of better/cheaper analog I/O) and I think I can code the logic using HCA expressions or a script but need some help on the display to show the temperatures and get the setpoint.

Can I create a thermostat with a dummy address & fool it into using my temperatures and giving me a setpoint? I'm not looking for a detailed answer just a "it should work" or "forget it" reply!

Thanks

Peter

KHarms
Oct 31, 2009, 09:46 AM
Hi Peter.

No need to forget about it! There are *lots* of features in HCA just for this. You don't really outline exactly what sort of system you want to put in place. I'll give you one example that I know has been done.

A user in Phoenix changed the setpoint for heat and cool based upon outside weather conditions. If it was really hot he bumped up the cool setpoint a bit. When it was really cold he lowered the heat setpoint a bit. In this way he was saying - I'll take a bit cooler inside when it is really cold outside to save some energy. And when it is really hot outside I'll take a bit hotter inside rather than try to cool too much.

He said it worked well.

If you give me a bit more detail on what you want to do I can help you do it.

ewelin
Nov 01, 2009, 09:43 AM
I think KHarms has a good point... why try and built an entire thermostat, why not just buy one that can be controlled by HCA then add more programming to it. For example, I have a Rain8 Insteon Irrigation controller. Normally all it can do it basic turn off water for x minutes turn off schedules. With HCA I have it do an advanced watering scheme where it only comes on if it hasn't rained more than .2" in the last 24 hours, or if the wind is less than 10mph. No point in over watering.... Also HCA turns one zone on for 4 minutes, then stops and waits 10 minutes... It repeats that 3 times for a total of 12 minutes of watering. By adding the break it allows the water to soak into the ground so it's more efficient.

Peter847
Nov 01, 2009, 10:24 AM
OK let me give you more details. A conventional thermostat has a number of drawbacks:

Its usually limited to 1 degF resolution but I want to keep my house controlled to +/- 1 degF or better
It takes no account of the outside temperature which is the biggest variable on the heat load
It has no concept of modulating the heat demand, it is straight on/off
I want to use the outside temperature to determine the base load and then build a Proportional/Integral/Derivative (PID) controller that modulates the heat output by cycling through the furnace stages. I can do all of this in a script but I need a simple interface to it so others in my house can easily see what the temperatures and alter the set point.

Thus far I have only used HCA to control and display digital inputs using the standard icons and haven't really looked into customized displays. So I'm looking for a few pointers on how to build a display that will work for a "normal" user.

Thanks

Peter

KHarms
Nov 01, 2009, 03:37 PM
Hi Peter.

There really are two separate issues here and let me handle each one separately.

All the you need to do the computational side of the thermostat is available. You can work with weather data and temperature reports from the thermostat. You can work with time and control the thermostat within whatever parameters it can be used. What I mean by that is the thermostat may have parameters for not excessively cycling and that may be hard to go beyond. I would start by looking into the VP Thermostat element as well as all the thermostat related built-in expressions you can use in Compute elements.

If you find that lacking and maybe you will if you need a lot of computational muscle then I would look into scripts which give you the ability to use whatever computational and decision making facilities are in the scripting language you use.

Now as to the UI. You really can’t build a UI in HCA that would give you, for example, the ability to have a popup dialog when the user clicks on a thermostat icon and have it populated with controls that you choose backed up by code that handles events from these controls. But wait! That sounds exactly like a VB app. And you can create a VB app with whatever UI you want and that VB app can control HCA using the same objects and methods that you could use in a script. One of the examples we ship is a testing app written in the VBA that Excel has and it presents a dialog to the user with bunches of controls.

Does this help give you some pointers to where to start?

Peter847
Nov 01, 2009, 05:30 PM
Kimberly

Yes, that's very helpful than you. I will look into the standard thermostat computational elements but I have a feeling that the math I want to do is beyond them.

As for the UI it seems you are saying the best plan is to write a VB script this is good enough for me at the moment. As long as there is a way to do it I will worry about the details later.

However I have one last question (promise its the last one) going back to my first post, is it possible to create a thermostat element without the device actually being there and "Poke" values into it so the rest of HCA believes it is a real working device. I do not want to actually buy a new thermostat just to find it does not actually do what I want.

KHarms
Nov 02, 2009, 08:13 AM
Well, yes it can be done but it may not be a solution you want to try. Let me explain.

You can add any type of device to a HCA design even if you don’t have hardware for it. The problem is that thermostats are different than a switch or module in that there is a lot of protocol for retrieving the various settings. And that’s what you want to happen. You want to be able to retrieve the temperature, for example, and have it come back with some number that makes sense. Without actual hardware that can’t happen. There is no mechanism to say “Go retrieve the temperature and if you can’t get it assume it to be 70 degrees”. We just had no reason to build that as it is not really useful in a real home.

But there is a way that we use here at HCA Central. A while back we were doing some work with the RCS X10 thermostat and couldn’t get the actual hardware to work correctly so we created thermostat simulator. If you are not familiar with the RCS X10 thermostat the key piece of information you need to know if that it works by taking a whole house code and then you retrieve data and it sends data using preset dim commands. A certain unit code and dim level means one thing and another unit code or dim level another. It’s all documented in the RCS X10 thermostat manuals.

What we did was to write a HCA program that triggered on these preset dim commands and sent preset dim commands back.

We loaded another computer with HCA and connected it to the powerline using, I think it was an old CM11 but it doesn’t really matter what powerline interface is used, and it just sat there waiting for preset dim sequences to appear and then respond.

We were able to then do what we needed as we had “created” a RCS thermostat from another computer, HCA, and a CM11. If you have the necessary infrastructure to try this – another computer and powerline interface, send email to technical support and ask them to send you the RCS simulator (if it still exists!). You may want to use a UPB or Insteon thermostat but if you want to look into crafting your control algorithms using the RCS X10 one would be the simplest as all that you do will port over easily. HCA hides the underlying protocols from you – you just say “give me the temperature” and it does regardless of Insteon, UPB, or X10.

Hope this helps.