Jump to content

do something based on thermostat


domotinc-customs

Recommended Posts

Posted

hello all,

I have the ISY994 with z-wave

have the stelpro STZW402+ z-wave thermostat.

im a but rusty on ISY + it's getting late... so sorry for dumb question.

I can't find a way to do that:

IF

thermostat setpoint is < than room temperature

THEN

turn something on (like the insteon 2450)

ELSE

turn that same thing off

 

I can't compare values from thermostat set point and actual room temperature directly. so I think I need to go through a variable as I can compare setpoint against a variable that would hold the room temp.

how do I do a program that store room temperature in a variable and update itself (program trigger) every time the room temperature changes?

am I on the right track?

any idea how to do this?

Posted (edited)

You are on the right track. What you need to do is add a program that sends any temperature change to a variable. This program will run independently and capture every change in temp immeadiately and send it to a variable, so you can compare it in your original program

Pick one of the 2 devices. Let's use the thermostat current temperature reading

  • Create a State Variable in the Variables tab. Call it Room_Temp_Hold (or whatever you like)
  • Create another program that will capture any changes in temp, when it happens, and send it to that variable. As an example, this is mine for my outside temperature  
HVAC Outside Temp to Variable - [ID 006F][Parent 0017]

If
        'HVAC / Outside Deck' Temperature < 150°
 
Then
        $HVAC_Outside_Temp  = 'HVAC / Outside Deck' Temperature °
 
Else
   - No Actions - (To add one, press 'Action')
 
Out side temp is used for a number of HVAC purposes. The outdoor Venstar wifi temperature sensor is
located on the deck, under the decking table near the grill.

This program insures that the outside temp is populated to a variable so it can be compared
in programs that need it. Each time the outside temp changes 1 degree, this program is called 
and updates the variable.
  • To change my program for your use:
    • Where I have Outside Deck, you put the node for your thermostat temperature read point
    • Where I have $HVAC_Outside_Temp, you put the name of the variable you created in the first step above    
    • The 150° just provides a value that can never be reached... it makes sure the program captures every 1 degree change in the variable, right when it happens
       
  • Then, for your original program, do this:
IF

thermostat setpoint is < than $Room_Temp_Hold

THEN

turn something on (like the insteon 2450)

ELSE

turn that same thing off

That should do it. 

Note that the first program only runs on changes from the thermostat. That's important because you'll have to wait for the first temperature change from the thermostat for a valid value to show up and the new program to run for the first time. This will be true every time your ISY reboots (eg power blip). There's a way to address this with the ISY's variable Init function, or by running the first programs "then" in an ISY startup program. But I've never found it to be a problem. 

Paul

Edited by paulbates
  • 1 month later...
Posted (edited)

I am interested in having my ISY control my Whole House Fan.

I would like it to come on if the outside temperature is less then inside temperature, and the outside temperature is between 68 and 80 degrees.

In your examples above;

1. What version of the ISY software are you using?

2. You said to create a State Variable under the Variables tab and call it in your example "Room_Temp_Hold".  In the first example, you then referenced "$HVAC_Outside_Temp". I believe the '$' indicates a variable, was this intended to be the "$Room_Temp_Hold" variable?

3. Could you please go into more detail on how to assign a value to the variable? I am attempting to pull a temperature from the local forecast (Module 'Climate' Temperature ) and if that temperature is lower then the house temperature, have the house fan come on. I created a State Variable "Outside_Temp" but I am unable to assign it the temperature.

Thank you in advance for your assistance.

Bob

Edited by pagerr
Guest
This topic is now closed to further replies.

×
×
  • Create New...