Capture thermostat temperature

Hi guys I'm looking at capturing thermostat temperatures when a door opens, then turning the stat off and then resuming the original captured temperature when the door closes. I can only see a way of capturing bulb brightness. Any ideas how to progress this without using GV's

Not sure what you mean, but if you mean thermostat setpoint, then I'm not following why you have to capture it and restore it. When you turn the thermostat off, it should not change the setpoint. When you put the thermostat back into heat or cool mode, it will go back to trying to reach the previously chosen setpoint.

1 Like

@aaiyar is correct, but just in case you actually do need to capture the setpoint...

1 Like

Here's what I do with Rule Machine. I have an individual rule for each room as in my case I have Honeywell EvoHome with individually monitored TRVs. The rule triggers when the window/door is opened and stays open for a time, adjusts the set point on that TRV down to 5 degrees Celsius, waits until the door is closed and stays closed for a time, sends a 'resume' command to the TRV.

It works a treat.

Edit: I just re read your original post. If you want to ensure that the room goes back to the same temperature you probably would need to write the temperature to a variable when it triggers and adjust the set point back to the value of that variable when the door closes. You should really only need to do something like that if you are running your system manually. If each room has a time and temperature schedule then the temperature in the room should be at the scheduled set point when the door opens and so a 'resume' would put it back to the same temperature.

The only reason that should be needed is if there was a manual override. This happens from time to time with mine and the rule I've setup. If the mode is auto and the rule triggers all works well - dropping the set point then resuming to the same. However if I'm a bit cold and manually turn the temperature up from it's auto set point of 21 degrees to 23 degrees (Celsius), then trigger the rule by opening a window - when the window closes, 'resume' resumes the mode and will put it back to the set point defined in the auto schedule of 21 degrees rather than than my manually selected 23 degrees.

1 Like

Hi guys, all sound advice.

Did you find a way around this other than capturing in a variable? I don't think there is any other way if the setpoint changes for any reason.

Correct.

I didn't. To be fair I didn't consider it until after I'd set my rule up. The set points I have in the Auto schedule tend to be where I want them. The only reason a manual override has caused a bit of a problem on my system, is that at this time of year in the UK we're on the cusp of turning off the heating. At the moment I have the system set on 'Economy' mode which drops all the 'Auto' schedule setpoints by 3 deg C but it's still a bit nippy in the living room on an evening. I manually put that up from 18 to 21 (the usual 'auto' set point) After opening and closing the door it, the 'resume' sets it back to 'economy'. It's not perfect but if required I can adjust the 'open and stays open' in the rule for a longer period, so the rule will only trigger if I've purposely left the door open.

Cheers guys. PS I'm in the UK too.

So the reason I created this post is because I've got mine working well but on the odd occasion it fails. I have another rule which captures the failure and alerts me so it's quickly corrected

I've definitely overcomplicated my rules for each room and need to look at waits rather than CDA's (rules per room) but in simple terms, if any of the doors or windows open in the room or we go away (many rooms have several doors or windows) then the heating in the room changes the setpoint to 12 degrees (my version of off) after a delay. I used a PB to prevent the rule from re-running if another door opened.

So, if the door opens, the rule captures the setpoint in a GV and then once the door(s) close the heating reverts to the GV setpoint. Simple stuff.

The complication starts when the setpoint is manually or automatically changed whilst the doors are open because we want the heating to revert to the new setpoint when the doors are closed rather than the historical setpoint. This may be a lower or higher temp.

So within the initial rule, another true/false GV is triggered too which filters into my 2nd rule

The 2nd rule which says if GV is true (meaning doors open) and set point of heating changes (meaning a manual override or next heating setpoint has changed) then alter the GV to new setpoint but maintain heating setpoint to 12 degrees. So the heating remains at 12 degrees because a door is open but when the door closes, the heating setpoint applies the new revised GV.

Hope this makes sense, it generally does work but occasionally, my GV stamps 12 degrees so when the doors close and heating comes back on, the heating doesn't actually come back on because the setpoint uses the GV of 12 degrees.

Also, the "waits" were added because it appeared that the rule was moving too fast and sometimes it for it's knickers in a twist in terms of the order of its events



1 Like

Apologies guys, thanks for your input so far, it's given me much to think about👍

1 Like

I think what you want to do should be achievable by splitting the rule up (if I had a pound for every time someone had suggested that to me....I'd be at least a tenner better off!)

My thought is you want:

  • A doorOpen GV per room with a rule to set it True if any door/window is open and False when all are closed. Perhaps with some cancellable delay/ wait for elapsed time (might be tricky to use 'and stays' sticky triggers with multiple doors/windows as trigger) - so that when you pop out to go to the garage freezer, retrieve fallen washing, chase the gutsy squirrel/pigeon/rat that's emptying your bird feeder - the rule isn't triggering for a momentary open.

  • Rule 1 - Trigger(s) - set point changed, schedule changed etc. Action(s) - Set a desiredTemp GV to the current heatingSetpoint

  • Rule 2 - Trigger(s) - doorOpen GV changes. Action(s) - If doorOpen GV is True pause rule 1, set the heating to 12, else if door open GV is false, set the heatingSetpoint to variable value, resume rule 1

I could do with something similar but I'd only need that for the Living Room.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.