Jump to content

Automating your thermostats, plus safety notifications


MikeB

Recommended Posts

Posted

Below are some programs I'm using to automate my office thermostat - I thought others might benefit.

 

Please keep in mind that the current Insteon thermostat does not automatically inform the ISY of it's current status. For the ISY to have a reasonable idea of the thermostat's current temp, setpoint, mode, etc. it will need to be polled periodically. Below is my poll program, which runs all day (and the ISY is set to 'RUN AT STARTUP'):

 

OFFICE THERMOSTAT QUERY
If
       From    12:00:00AM
       For        24 hours

Then
       Repeat Every  15 minutes 
          Set 'OfficeThermostat' Query

Else
  - No Actions - (To add one, press 'Action')

 

 

To start, I wrote a few programs to get the overall status of my office. The first simply checks to see if the current day/time is within my normal work schedule. If it is, the program is true:

 

OFFICE WORK HOURS

If
       On Mon, Tue, Wed, Thu, Fri
       From     9:00:00AM
       To       5:00:00PM (same day)

Then
  - No Actions - (To add one, press 'Action')

Else
  - No Actions - (To add one, press 'Action')

 

 

Unfortunately, I often need to put in late nights. To account for times I might be in the office outside of normal work hours, I also added this program to check the status of lights. If any of the lights in my office are on, this program is true:

 

OFFICE LIGHT STATUS

If
       Status  'OfficeLight1' is not Off
    Or Status  'OfficeLight2' is not Off
    Or Status  'OfficeLight3' is not Off

Then
  - No Actions - (To add one, press 'Action')

Else
  - No Actions - (To add one, press 'Action')

 

 

Finally, I wrote a notification program to let me know if there are any extreme temperature situations that might indicate a heating/AC equipment failure. This will both email me and send a text message to my phone if either of the conditions is true.

 

OFFICE SAFETY CHECK

If
       Status  'OfficeThermostat' > 90° (Temperature)
    Or Status  'OfficeThermostat' < 60° (Temperature)

Then
       Send Notification to All

Else
  - No Actions - (To add one, press 'Action')

 

 

 

 

I'm up here in New England, so my thermostat controls both a furnace (for the cooler moths) and a wholehouse AC (for the warmer months). My ideal goal is to simply leave the thermostat in COOL mode in the summer, and manually switch it to HEAT mode when I want to start using the heater, then manually back to COOL mode when I want to start using the AC again. I prefer to make that switch manually, but would like to automate the rest as much as possible.

 

All programs check to see if the thermostat is in COOL or HEAT mode, so if I'd like I can switch the thermostat to OFF or one of the PROGRAM modes to avoid the automation I've setup on the ISY.

 

 

The next program checks to see if the office lights are off and if the thermostat is in COOL mode. If they are, and it's outside of normal work hours, the program will increase the setpoint of the thermostat to save energy. I don't base vacancy only on status of lights, because there are times during the day that we might run out for a quick bite to eat or simply not need the lights on. But if the lights are ON, even after hours, I don't adjust the setpoint because we're clearly in the office working. I also include a 2 minute wait before adjusting the thermostat in case I'm working late and simply turned off the lights briefly for some reason.

 

 

OFFICE COOL VACANT

If
       Status  'OfficeThermostat' is Mode Cool
   And Program 'Office Work Hours' is False
   And Program 'Office Light Status' is False
   And Status  'OfficeThermostat' < 85° (Setpoint)

Then
       Wait  2 minutes 
       Set 'OfficeThermostat' 85° (Cool Setpoint)

Else
  - No Actions - (To add one, press 'Action')

 

 

For the cooler months when the thermostat is in HEAT mode, I have the following program:

 

 

OFFICE HEAT VACANT

If
       Status  'OfficeThermostat' is Mode Heat
   And Program 'Office Work Hours' is False
   And Program 'Office Light Status' is False
   And Status  'OfficeThermostat' > 65° (Setpoint)

Then
       Wait  2 minutes 
       Set 'OfficeThermostat' 65° (Heat Setpoint)

Else
  - No Actions - (To add one, press 'Action')

 

 

 

For times I am IN the office, I want to make it a bit more comfortable. Notice that I'm only checking to see if the setpoint is at LEAST a certain value, so that in the winter I can manually set it a bit warmer if I want and in the summer maybe set it a bit cooler. But, these programs ensure that the temperature is at least reasonable:

 

OFFICE COOL OCCUPIED

If
       Status  'OfficeThermostat' is Mode Cool
   And (
            Program 'Office Work Hours' is True
         Or Program 'Office Light Status' is True
       )
   And Status  'OfficeThermostat' > 76° (Temperature)
   And Status  'OfficeThermostat' > 76° (Setpoint)

Then
       Wait  2 minutes 
       Set 'OfficeThermostat' 76° (Cool Setpoint)

Else
  - No Actions - (To add one, press 'Action')

 

 

Here is the HEAT version for cooler months:

 

OFFICE HEAT OCCUPIED

If
       Status  'OfficeThermostat' is Mode Heat
   And (
            Program 'Office Work Hours' is True
         Or Program 'Office Light Status' is True
       )
   And Status  'OfficeThermostat' < 68° (Temperature)
   And Status  'OfficeThermostat' < 68° (Setpoint)

Then
       Wait  2 minutes 
       Set 'OfficeThermostat' 68° (Heat Setpoint)

Else
  - No Actions - (To add one, press 'Action')

 

 

I'd love to hear what others are doing with their thermostats!

Posted

Thanks for another good tutorial. I've upgraded my thermostats to Venstar units in anticipation of picking up the insteon adapters when I purchase an ISY. This will certainly help me get up to speed once I get my new toys!

  • 1 month later...
Posted

Mike,

 

Just wanted to post a thank you for your tutorial. This holiday weekend, I finally had some time to devote to implementing thermostat control in my ISY. Both my stats are now controlled completely with the ISY including auto changeover. So far, thing seem to be working very well.

 

My previous complaints on the combo was mostly around trying to have both systems do the programed control. Once you move everything to the ISY, things really do smooth out greatly. For now, all I really programmed were the basic timer/setback functions that were already in the stat. I have some ideas to make better use and some remote control. For now, a big thank you for your help!

 

Just FYI, auto humidity overide still functions when the stat is not in an auto mode. IE high humidity will overide the temp setpoint and run the AC on low fan mode even if the setpoint is reached. I was somewhat afraid that function would go away when the stat was in Cool or Heat rather than an auto or program mode. It still works.

 

James

Posted

No problem! Glad it helped someone. My Thermostat Adapter has been running very reliably in my office. I'm seriously considering installing them throughout my home, but really would prefer a model that:

- was one-piece

- broadcasted status changes, so I wouldn't have to poll

 

Other than those limitations, I've been happy.

 

Just FYI, auto humidity overide still functions when the stat is not in an auto mode. IE high humidity will overide the temp setpoint and run the AC on low fan mode even if the setpoint is reached. I was somewhat afraid that function would go away when the stat was in Cool or Heat rather than an auto or program mode. It still works.

 

Thanks for that info. I don't pay much attention to the humidity functions yet - maybe I should.

Posted

Be glad you don't live where the humidity control was the driving factor to upgrade the stat.

 

In Houston, its not the heat that will get you. It's the humidity. :lol:

 

Thanks again. And if you think of any interesting ideas for using the stat as part of an automation routine, please post up.

 

I already have a scene for the kitchen and dining areas for dinner parties and think I will add special stat settings to that scene......

Posted
Thanks again. And if you think of any interesting ideas for using the stat as part of an automation routine, please post up.

 

Ditto!

Posted

Hi Mike,

 

Please explain what why are you using in your program twice the same command?

 

And Status 'OfficeThermostat' > 76° (Temperature)

And Status 'OfficeThermostat' > 76° (Setpoint)

 

Thanks Walter

Posted

Hi Wlodekd,

 

I'm not Mike but it appears to me he is checking the current temperature and the current setpoint. It's looks like he only changes the setpoint if both the actual temperature and the current setpoint both are greater than 76 degrees.

 

Mack

 

 

 

Hi Mike,

 

Please explain what why are you using in your program twice the same command?

 

And Status 'OfficeThermostat' > 76° (Temperature)

And Status 'OfficeThermostat' > 76° (Setpoint)

 

Thanks Walter

Posted
I'm not Mike but it appears to me he is checking the current temperature and the current setpoint. It's looks like he only changes the setpoint if both the actual temperature and the current setpoint both are greater than 76 degrees.

 

Correct. I'm trying to be as efficient as possible (only send out commands when I need to), so basically I'm checking both the setpoint and current temp. If the setpoint is already set, I'm not going to send a redundant command. If the current temp does not warrant a setpoint change, I don't bother changing it.

  • 7 months later...
  • 2 months later...
Posted

Mike,

 

I have always enjoyed your posts where you refer to the minimizing of transmissions. I have re-written nearly every program I ever have made after trying to look at them thorough your eyes. I have increased the complexity of the work the ISY is doing considerably while drastically reducing network traffic.

 

Now I have thermostats. I am working on my porgrams for them, and continually referring back to this post. I am a little perplexed why a person who is so relentless with the attempts to reduce network traffic why you have a 15 minute query cycle. I currently have 2 thermostats, but will be adding a third soon. It seems to me that with 12 extra transmissions and receptions an hour I am likely to reduce the reliability of my system. Would not an hourly query work nearly as well for your purposes. I love the idea of an up to date status in the ISY, but with 7 motion detectors triggering events around my house, surely one of these motion events would end up coinciding with a query if I was doing 144 of them a day.

 

Do querys take less network time than other commands. Could you explain how you reconcile performing a query every 15 minutes when you are sooooo careful elsewhere to minimize insteon communications?

Posted

Good point! No specific reason, except that I have not found any problems with 15 minute queries of my thermostat.

 

Without knowing the exact posts you're referring to, in most cases I believe in reducing traffic when that traffic would be redundant (don't turn a KPL button on again when it is already on, for example).

 

In this case increasing the query to 1 hour might present a loss in functionality / accuracy. Say, for example, someone adjusts the setpoint manually - your ISY might not know it for 1 hour. If that's an acceptable delay for your purposes, then I'd go with it.

 

If I was experiencing any comm issues due to the 15 minute query, I would consider increasing it (or finding another solution).

Guest
This topic is now closed to further replies.

×
×
  • Create New...