I would like to adjust the temperatures in my thermostat scheduler based on the outdoor temperature. My outdoor temperature is reported every 15 minutes, so the rule can't trigger any more often than once every 15 minutes. My difficulty is in not having the rule update the thermostat scheduler every time the temperature changes (every 15 minutes), I would only like the thermostat scheduler to change if the temperature has crossed a new threshold. Since I have several thresholds I can't figure out how to do it with Private Boolean. Here is my rule so far:
I am also confused by what the word "becomes" actually means in Rule Machine. I think RM might be using a definition that you would never find in a dictionary. ie. "Temperature of Weather becomes > 5.0" would this fire if the temperature changed from 12 to 13? Contrary to the definition of "becomes". If this is the case, I could erase all my triggers and simply make one trigger "When Temperature of Weather changes". But the problem with that is my thermostat scheduler will update every 15 minutes (based on a new outdoor temperature every 15 minutes) and not when I cross the various temperature thresholds. Any help is appreciated.
I don't understand. Why would you want to change the setpoint of your thermostat based on the outside temp? Isn't the whole point that you set the thermostat to the temp you want to have INSIDE and it decides whether or not to heat the room or not? Why would you need to change the setpoint?
Interestingly I've had a parallel conversation regarding setting thermostat mode based on outside temperatures (Thermostat Scheduler [RELEASED]). For me I think part of the discussion is the concept of comfort is relative to seasons, which is driven by outside temperatures. In other words, my comfort zone changes with the typical outside temperatures. Maybe it's just part of living in a northern climate with large temperature swings.
Well, I live in western New York. Yesterday it was in the 30s and today it got up to 65. So, i think i know about temperature swings.
Also, I would like to point out that the post by the OP.....all the settings are EXACTLY the same. So, you're not actually changing the setpoints for thermostat scheduler, since they are all the same.
I live in Canada, it gets COLD (-40). When it gets that cold your outside walls/windows get cold and the house feels colder even if the air temperature at the thermostat (mounted in an inside hallway) is not any colder. To offset I would like to raise the set point of my thermostat to compensate.
Some of the major thermostat manufacturers (i.e. Honeywell) actually allow you to install an outdoor air temperature sensor to your thermostat at which point your thermostat will adjust certain parameters accordingly.
Since I would rather not buy this sensor and spend the time wiring into my thermostat (all my walls are finished), I am trying to do a similar thing in RM.
Since it is not yet winter and the temperature ranges in my triggers have not yet occurred. (Other than one or two days around -3). I don't know exactly what temperatures I would like to adjust to. I do know that I would like to adjust the temperature to the level I find comfortable and I also know that it will be necessary to adjust them based on the past 15 winters living in my house. Thought I would make the rule beforehand and then adjust the temperatures based on what my wife and I feel is a comfortable adjustment (its superfast and easy to make this change to an existing rule that is functioning the way you want, as opposed to making the rule from scratch). Can't do that until the temperatures occur.
Another way to accomplish this would be to use the temperature readings of my window contact sensors, but these are battery operated and I don't know if that is the best idea.
I have a well insulated house, with windows most non-Canadians would find ridiculously expensive. But below -40, it don't matter, for my house to feel similar to what it does right know (current temperature 4 degrees) my thermostat would need a different set point.
I have a rule myself that does similar to what you are looking for. I use the attribute from my personal weather station to provide the outside temperature reading (It updates every 5 minutes per the API restrictions) I use all 38 temperature sensors combined to give me a house average inside temperature (this app updates sometimes multiple times per minute depending on when 1 of the 38 provides a new reading). As well as a few humidity sensors that average the humidity. Based upon those 3 readings Is when my Tstat is triggered on/off. Here is the thread that covers a bit more detail. Goodbye Ecobee
I think the point is comfort is relative and the goal is to determine what set of typical configurations allows most people to define comfort from their perspective. There will ultimately be outliers requiring custom RM rules, but if there are a subset of standard configurations built into a standard app, most people (80/20 rule) can get what they want without building and maintaining complex rules. The tough part will be to figure out what's the sweet spot while realizing not everyone defines comfort the same way.
You do realize that THERMOSTATS don't do this. How would you be able to make this standard when everyone's house is different? Automation is great and I'm all for automating as much as possible. But here are limits to what can be controlled automatically and when a person has to step in to make changes. I've been in North Bay, ON when it was -47 C and let me tell you, even the locals were cold. That was a very, VERY cold day. I wouldn't expect any system to be able to keep up with temps like that. Sometimes you're just going to have to adjust things manually.
So rather than pointing out the extreme outlier as a reason to not do this, I'd ask if there's a reasonable way to add configuration(s) that allow people to automate a greater amount of their situations. Isn't that what automation is meant to support?
I will know what the setpoint is as soon as the temperature occurs. LOL.
I am not looking to have my thermostat be set to a specific temperature. I am looking for my thermostat to be set to a specific temperature that my wife and I are comfortable with. These are two different things. What this specific setpoint is (that my wife and I are comfortable with) when the outside temperature is -40, I don't exactly know. But I DO know that it will be different than the setting when it is 0 outside. As soon as -40 happens, I will adjust my thermostat (increase its setpoint) and determine exactly how much this increase is. I will then plug it into the rule you see above. Why make the rule before you know what this setpoint is? Why not, it takes me a while to make the rule like the one shown above, and I think it may have problems. I asked for help with these problems, but alas I am having this conversation.
Yeah...the rule the OP posted above. That's how you'd do it. I'm confused...the solution is already there. You want that built into Thermostat Scheduler?
Hey Ryan, I don't want to come across as obtuse, you have helped me a ton in the past and it is very appreciated. Thanks. What I am trying to figure out is how to write a rule based on temperature thresholds being crossed.
Triggers: Temperature falls below 0, Temperature falls below -10, Temperature falls below -20, Temperature falls below -30, Temperature falls below -40.
Conditions and Actions: When temperature is below 0 and above -10 do this...
When temperature is below -10 and above -20 do this...
When temperature is below -20 and above -30 do this...
When temperatures is below -30 and above -40 do this...
When temperature is below -40 do this...
The Conditions and Actions seem straight forward, I am having problems with the triggers, I don't know how to set a trigger based on a temperature crossing a threshold. Maybe my rule already does this, but I don't think so. I think whenever there is any temperature change whatsoever one of my triggers fire. Again, thanks for the help, it is appreciated.
What you need to do is have a global variable be used to determine what range you currently are in. So, for example, we'll call this variable, tempRange. Out planned values for this variable will be.
warm
cool
cold
HFICO (holy F*&$ it's cold out)
***please note there is no "hot" as we are talking Canada.
What you would do is when you detect the temp within the range of warm, in addition to setting the temp ranges for Thermostat scheduler, you will also set the variable of tempRange to "warm". You will also add the condition in your conditional action that the variable tempRange doesn't equal "warm". That way you only set the range once when enter that range of outside temps.
I put this together quickly...it isn't complete but it will give you an idea how to start.
You obviously didn't try it....I think if you did, you would quickly see. Replace allows you to REPLACE part/all of a string and SET changes it to that. For example, If I REPLACE Kitchen with Bedroom in the string 'Kitchen Lights" it becomes "Bedroom Lights".