[UPDATED] Check Open Windows & Doors

I understand your concerns, basically it just adds HSM Status change as a trigger and I've tried to keep code as much as similar to your.
Feel free to have a look or rewrite it when you have time.

I've just looked at your code.
It's almost identical the current 'Modes' routine and is coded the way that I would have done it.
I have a couple of 'tweaks' to do with this app anyway so will add this at the same time.

I release a new version of the child soon.


1 Like

I have uploaded a new child version with added hsm status triggering.
Sorry this has taken a while to get around to.

V2.6.0 is now on GitHub



Andy, @Cobra
Could I please ask for an enhancement to this app: Check Open Contacts?

Can you also add the ability to check if doors are locked?

@Cobra I just tried to load the parent and child but got an error on both. Do I need the old container app you used to use? thanks

Metadata Error: Parent App 'Cobra:Check Open Contacts' not found on line 68

Metadata Error: Parent App 'Cobra:Cobra Apps' not found on line 51

That’s not an enhancement... it’s a complete rewrite of the function of the app! :slight_smile:
I’ll have a look but can’t promise anything as I’m tied up with other things atm.



If you comment out line 58 on the parent app it will install (// in front of the line)
Then install the child code


No problem... Thanks in advance for looking at it.

Thanks Andy. I had to comment out line 58 to get it to work but everything is working fine. Great App.

@Cobra Andy is the app supposed to alert you if the window is opened after the thermostat is in cooling mode or does the window have to be open prior to the thermostat coming on in cooling mode? thanks

EDIT: @Cobra I have tried it with the window open prior to cooling and tried it opening the window while cooling is already on and I cannot get any speech coming out with either way.

Is there still something to do to the app?

@Cobra EDIT 2: Line 51 commented out still causes an error. I saw what it said on line 58 and commented out that line. I was then able to save without error. Although I am not getting any reaction to anything I try. No speech, no pushover.

@Cobra Have you been able to figure this one out? :slightly_smiling_face: I just tried re-doing everything again and it still has no response. Thanks

@Cobra Ok, here is what I did. I changed line 246 in the child app from thermostatMode.heat to thermostatOperatingState.heating and line 247 in the child app from thermostatMode.cool to themostatOperatingState.cooling

This seems to work fine when the thermostat came on and there is a window or door open. It announces. The one thing I notice is since the thermostat is already in cooling, heating state that when you close the door/window it does not announce (I had text in the NO box) that there are no longer any door/windows open. So obviously it doesn't check for a cooling, heating state or window/door status again.

Is it possible to get it to recognize the thermostat is still in cooling, heating and if a door/window is still open and announce it and when you do close them all that it says they are all closed, if you have text there in the box. Thanks

@Cobra Any news on my replies to this app? I noticed there was no response. If you are not doing anything anymore with this then just let me know. thanks

The way the app is contructed, it needs a ‘trigger’ to run the check process.
In your use case the trigger is the themostat changing to cooling
I don’t have a connected thermostat so was using a virtual to test.
If you say the attribute ‘themostatOperatingState’ is the correct one then that can easily be changed.

This would require a checking routine to run every x seconds to checl if the stat was heating or cooling
And another one to run if a window opened or closed.

I’ll add these to the feature list but I don’t see it happening too soon.
I am spead a little thin atm as I’m maintaining so many apps and working on two other projects.


Understood. Thanks for the reply.

I've also looked at this to monitor windows when my thermostat is running, but it's a bit complex because:

  • thermostatMode.heat means that thermostat is set into heat mode (ie: is set for heat/cooling/off)
  • thermostatOperatingState.heating means that thermostat is actually heating (it could be heating\cooling or idle)

So I think that thermostatMode it's better than thermostatOperatingState, because (at least in my opinion) it should alert also if something is open and thermostat is in Mode heat but OperatingState idle (because it has already reached the heating setpoint).

At the end I think I'm going to write it with RM4 that should be able to cover all cases..

I look at this differently, I want * thermostatOperatingState.heating to be the trigger so that I am not heating the outside when the heat turns on and I have doors open.

@napalmcsr Change line 246 and 247 to the following:

These lines are in the Child App.

line 246 - replace thermostatMode.heat with thermostatOperatingState.heating
line 247 - replace thermostatMode.cool with thermostatOperatingState.cooling

1 Like

If thermostat mode is heat and it has already reached the setpoint (so operating state is idle), if you open a door/window you are implicitly heating outside, because indoor it's already (so) hot that thermostat stopped and the opening could potentially restart heating (even after door/window has been closed depending on airflow and thermostat refresh time) to bring again desired indoor temperature

I guess I can see a use for both. I live in a hot climate so currently, I have my thermostat in cool mode. I open the door when it is colder outside than inside to cool down my house. I forget to close the door, so when the AC turns on, I want to be told I forgot to close the door.