Jump to content

Program to change thermostat temp back to a certain degree


heyfrank

Recommended Posts

Hello, hoping someone here might be able to help me with this; we have someone in the house who cannot keep their hands off the thermostat making it extra hot in the middle of the night. I want to create a program that when the thermostat's temp changes, goes back to our desired temperature. I have the one below, but noticed it only "runs" when I open my Mobilinc app or login to the ISY itself.

Any ideas how to make it run without question?

 

image.png.b3246607e8a1d732dfb9dcf0f9429ad2.png

Link to comment

Given all the troubles folks seem to have with thermostats and Insteon/Z-Wave, I have to suggest that the following may be a more reliable way to resolve your problem!

https://www.homedepot.com/p/Honeywell-Thermostat-Guard-CG511A/202024249

Originally, I thought I wanted an HA-enabled thermostat as well -- based on the unending litany of troubles folks keep reporting, I am so, so very glad I never did that.  I know that may not be what you wanted to hear, though. :-)

 

Link to comment
5 minutes ago, mwester said:

Given all the troubles folks seem to have with thermostats and Insteon/Z-Wave, I have to suggest that the following may be a more reliable way to resolve your problem!

https://www.homedepot.com/p/Honeywell-Thermostat-Guard-CG511A/202024249

Originally, I thought I wanted an HA-enabled thermostat as well -- based on the unending litany of troubles folks keep reporting, I am so, so very glad I never did that.  I know that may not be what you wanted to hear, though. :-)

 

Haha, no way I'd ever put that on my thermostat in my dining room. lol

Link to comment

I don't have a thermostat so can't really provide any ideas based on experience, but wonder if maybe the thermostat doesn't push data to the ISY but instead needs to be queried.  Perhaps querying the thermostat on a regular basis (e.g. every 30 minutes) would resolve the need to login to the ISY or use Mobilinc.

Link to comment
Hello, hoping someone here might be able to help me with this; we have someone in the house who cannot keep their hands off the thermostat making it extra hot in the middle of the night. I want to create a program that when the thermostat's temp changes, goes back to our desired temperature. I have the one below, but noticed it only "runs" when I open my Mobilinc app or login to the ISY itself.
Any ideas how to make it run without question?
 
image.png.b3246607e8a1d732dfb9dcf0f9429ad2.png



I’m not at my PC, but In your first IF clause I believe there is a different option you want in 4.x that says “main mode” is heat, not just “mode”. There are two “nodes” / drop down boxes and I believe you are using the wrong one there. Also, you may want to consider in your second IF handling a situation where the set point is lower than 72. Can probably use “is not” here or add another clause if necessary.


Sent from my iPhone using Tapatalk
Link to comment
On 12/11/2018 at 2:21 PM, mwester said:

Originally, I thought I wanted an HA-enabled thermostat as well -- based on the unending litany of troubles folks keep reporting, I am so, so very glad I never did that.  I know that may not be what you wanted to hear, though. :-)

 

In reading the comments on this forum, I'd be in agreement with you on this if it wasn't for the very good luck I've had with my Nest thermostat and the Nest2 Polyglot nodeserver.  This combo has been rock solid for me for quite a while now.  I'm sure there are many faults people can find with this setup (the cloud based API for one), but I haven't otherwise had any issues with the functionality.  Due to the cloud based API, I only have my ISY manipulate the Nest for exceptions to normal HVAC activities (such as stopping the cooling when doors/windows are left open, that sort of thing).  Normal operations are handled by the Nest, not the ISY, and it's working very reliably.

BTW, thanks to @xKing for the nodeserver! 

I'm curious about the UDI portal based Nest nodeserver that's currently in development, as it'll remove one mode of failure (RPi) from the equation.

Link to comment
On 12/11/2018 at 8:15 PM, TrojanHorse said:

 

 


I’m not at my PC, but In your first IF clause I believe there is a different option you want in 4.x that says “main mode” is heat, not just “mode”. There are two “nodes” / drop down boxes and I believe you are using the wrong one there. Also, you may want to consider in your second IF handling a situation where the set point is lower than 72. Can probably use “is not” here or add another clause if necessary.


Sent from my iPhone using Tapatalk

 

 

 

 

Hi any chance you can let me know which setting it should be? I do not see an option that says "Main Mode is Heat"? I have the first dropbox set to "Status", the second set to the "Thermostat Main", the third dropbox set to "Is"and the fourth dropbox set to "Mode Heat". I have 4.7.3 firmware/ui installed.

 

Thanks!

Frank

Link to comment
On 12/16/2018 at 5:29 PM, heyfrank said:

 

 

Hi any chance you can let me know which setting it should be? I do not see an option that says "Main Mode is Heat"? I have the first dropbox set to "Status", the second set to the "Thermostat Main", the third dropbox set to "Is"and the fourth dropbox set to "Mode Heat". I have 4.7.3 firmware/ui installed.

 

Thanks!

Frank

Looking closer, I believe you have the right setting.  

Can you describe the problem a bit more?  What is not running?  I'm not sure why opening mobilinc or logging into the ISY would cause the program to run spontaneously.  Perhaps that causes the thermostat to be queried?  Is there a possible communication problem with the thermostat?  The thermostat is RF communication only.   How close is the nearest dual band device to the thermostat?  A suggestion could be to have another "watchdog" / query program that runs IF on your posted program every x minutes or hours as needed.  That way if the signal doesn't get through when the temp set point is changed you will hopefully get the right status the next time this other program forces the query of the thermostat.  

It also appears that your program will never get to the 4th line since the 3rd line will make the condition false.  

Link to comment
3 hours ago, TrojanHorse said:

Looking closer, I believe you have the right setting.  

Can you describe the problem a bit more?  What is not running?  I'm not sure why opening mobilinc or logging into the ISY would cause the program to run spontaneously.  Perhaps that causes the thermostat to be queried?  Is there a possible communication problem with the thermostat?  The thermostat is RF communication only.   How close is the nearest dual band device to the thermostat?  A suggestion could be to have another "watchdog" / query program that runs IF on your posted program every x minutes or hours as needed.  That way if the signal doesn't get through when the temp set point is changed you will hopefully get the right status the next time this other program forces the query of the thermostat.  

It also appears that your program will never get to the 4th line since the 3rd line will make the condition false.  

How does it make it false? Just curious what you mean?

 

And yes I believe it's not being queried. The Thermostat is near a lot of dual-band switches so communication should not be an issue.

Link to comment
4 hours ago, heyfrank said:

How does it make it false? Just curious what you mean?

 

And yes I believe it's not being queried. The Thermostat is near a lot of dual-band switches so communication should not be an issue.

What TrojanHorse is referring to is that your IF statement checks the status of the thermostat, and your third line has the potential to change the status of the thermostat.  However, I don't think it's correct that the fourth line won't ever be executed.  My understanding is that the IF statement won't be reevaluated unless a WAIT statement is running (which happened earlier, but not after you change the set point) or a REPEAT is executed or the program concludes normally (i.e. runs out of line to execute).

Link to comment
22 hours ago, kclenden said:

What TrojanHorse is referring to is that your IF statement checks the status of the thermostat, and your third line has the potential to change the status of the thermostat.  However, I don't think it's correct that the fourth line won't ever be executed.  My understanding is that the IF statement won't be reevaluated unless a WAIT statement is running (which happened earlier, but not after you change the set point) or a REPEAT is executed or the program concludes normally (i.e. runs out of line to execute).

I'm confused how the third line has the potential to change the status if its sitting in the IF statement saying, if the mode heat is on and the temperature is more or equal to 73 then.... Unless i'm missing something?

What I don't think I conveyed is that it executes great, it works, I get both notifications each time and everything all the way through, BUT it's only when I go into Mobilinc and press the refresh button in the UI of Mobilinc that it gets executed if its above 72 degrees.... Should I have a query then in this program? is it safe to do that? and if so where should I put it as well as what should it exactly say? Thank you :)

Link to comment

Your if argument is using the ambient temperature as a trigger. Using the setpoint as the trigger may work better. "Thermostat setpoint is not 72". That way you wont have to wait for the furnace to heat up the house before it gets triggered. Maybe the setpoint will be a more reliable trigger.

Link to comment

How about using these two programs?

 

New Program1 - [ID 006D][Parent 0001]

If
        Status 'Thermostat' is Calling for Heat
    And Status  'Thermostat' >= 73° (Heat Setpoint)
 
Then
        Run Program 'New Program2' (Then Path)
 
Else
   - No Actions - (To add one, press 'Action')
 

 

 

New Program2 - [ID 01B3][Parent 0001]

If
   - No Conditions - (To add one, press 'Schedule' or 'Condition')
 
Then
        Disable Program 'New Program1'
        Wait  17 minutes 
        Set 'Thermostat' 72° (Heat Setpoint)
        Enable Program 'New Program1'
 
Else
   - No Actions - (To add one, press 'Action')
 

 

Why are you having it wait 17 minutes before adjusting the temperature back to what it should be?

Link to comment

Archived

This topic is now archived and is closed to further replies.


  • Recently Browsing

    • No registered users viewing this page.
  • Who's Online (See full list)

  • Forum Statistics

    • Total Topics
      36.9k
    • Total Posts
      370.2k
×
×
  • Create New...