As long as humans have been heating their dwellings, children have been carelessly leaving the front door wide open and heating the whole neighborhood. 

That ends now. Ok, maybe it doesn’t completely end, but we’re at least going to know about it right away so they’ll go back and shut it before they let all the heat out of our hut.

By using contact sensors and an Ecobee smart thermostat connected to our Hubitat Elevation hub, we can send notifications to our phone and our smart speaker when someone leaves a door or window open while the furnace or air conditioner is running. 

The devices we are using for this automation:

  • Ecobee smart thermostat
  • Contact sensors on three doors and three windows
  • Ikea Symfonisk Sonos smart speaker
  • Hubitat Mobile App
  • Hubitat Elevation hub

Our goals with this automation include:

  • Trigger when air conditioning or furnace turns on
  • Trigger when a door/window opens while the furnace or A/C is running. 
  • A unique notification for each window or door that is open 

It is possible to build this automation with one large rule in Rule Machine that includes multiple layers of nested conditional actions. But it quickly gets unwieldy—especially once you add unique notifications for each device. The easier way is to just create two separate rules: one for notifying us when someone leaves a door/window open while the air is on, a second rule to notify us when someone turns the air on while a window/door is open. 

RULE 1: Notification when a Door/Window gets left open while heat or Air Conditioner is running. 

Our trigger event for this rule will be anytime a door or window is opened. Now, we only want this to trigger while the air is running so we are going to set a Required Expression that says the thermostat mode must be in Heat or Cool mode in order for the rule to trigger.

Because we only need notifications when a door or window gets left open (not every time someone leaves the house), we are going to add a “wait” of 1 minute, 42 seconds as our first action. After the wait, we are going to add a conditional action to check if a door or window is still open, and, if it is, we will send a notification to our phone and speak a notification on our Sonos smart speaker to let us know which door or window is open. 

Because we want a notification for each door/window that is open, we are going to create a separate conditional action and unique message for each device we would want to be notified about. 

Our final rule will look like this:

 

 

So why are we using multiple conditional actions to list our devices instead of the %device% tag? The problem in this circumstance with the %device% tag is that it only lists one device. If multiple devices are open, you will not know about them. Also, unique messages are just more fun. 

Also note that a 4 second wait has been placed between each conditional action. If multiple messages are sent to the Sonos at once, the can cut each other off or not get played at all so this is an easy way to mitigate this issue. 

 

RULE 2: Notification when a Door/Window is already open when the heat or Air Conditioner turns on.  

This rule is very similar to Rule 1, and can be created quite quickly by cloning that rule and making some modifications. 

The Trigger Event is when the Thermostat Mode changes to Heat or Cool. There is no required expression. 

Our Actions to Run are essentially the same as Rule 1. IF a device is open, send a message to our phone and the Sonos speaker. In this rule we are eliminating the initial wait because we want to know immediately if there is a window or door open so we can go shut it. 

Just for fun, we’ll edit the messages so they are different and in the end, Rule 2 will look like this:

 

 Employ this rule and you'll immediately know if there is a window or door open when the air turns on. There are many other ways to implement this. If you understand how local variables work you could use those to create a custom notifications per device.

You could also add reminder notifications if a door/window remains open after the first notification. If you prefer, a rule could be written to prevent the air from coming on at all if a window is open. The possibilities are endless.

For a step-by-step walkthrough of how to build these rules in Rule Machine, watch our latest video from the Hubitat Hub Whisperer.