Door Open HVAC Off – A Smart Home Solution for Rental PropertiesBy - 07/13/2016
Recently, I turned a friend’s vacation home into a smart home. As part of the process, I wanted to create a connection between a sensor and a thermostat. The connection would keep her HVAC system from running if her patio door is open. In my head, I imagined a painless setup process; place a sensor, place a smart thermostat, and call it a day. In reality, the process was far from painless.
Step 1: The Right Hardware
To make the magic happen, you need an open/close sensor and a smart thermostat. Selecting a smart thermostat was easy. Both ecobee and Nest are capable of working with sensors, but I selected ecobee for this project.
I assumed buying a sensor would be a rather generic venture. After all, several sensor based products can connect to ecobee. I started with an old Scout Alarm system I am no longer using. Unfortunately, not all sensors are created equal. With Scout, I was able to create a rule that said, “If this door opens, then turn off the AC.” Do you see the problem with that rule? The problem is that people are going to open the door; it’s part of the normal process of, well you know, using the door. I needed a sensor with a timer, one that would say, “If this door opens for more than X minutes, turn off the AC.” With that goal in mind, I jumped on Amazon and overnighted a SmartThings Hub and one Multipurpose Sensor.
Step 2: The Right Software
Hardware is the easy part; software is what pulls everything together. Initially, I tried to use IFTTT, but again, I ran into issues, so I turned to Stringify. For those not familiar, Stringify is a free app that helps you connect internet connected devices and services. It’s similar to IFTTT, but through Stringify you can create complex rules. And in this case, I technically needed two complex rules.
Rule 1: Turn the Thermostat Off
Without being overly complicated, I’ll simply say that it may not be possible for you to turn the thermostat off off. Ecobee offers a feature called Access Control. In a vacation home, Access Control keeps the renters from having full access to your thermostat’s settings. Unfortunately, the same access that allows renters to mess with your settings is the same access that keeps them from being able to turn the thermostat on or off. So, if you have Stringify turn the thermostat off, there will be no way for the renters to turn the thermostat back on. The solution? Adjust the temperature so that the system no longer runs.
The trick to Stringify is placing your “things” in a flow in the correct order. If you put a thing up instead of down or right instead of left, the flow won’t work correctly. In the picture above you will see Rule 1, which I’ve called “No AC For You”. If you want to replicate this rule, you will need to place the things in the same order I’ve placed them.
At the top left-hand side of “No AC For You”, I have the SmartThings Multipurpose sensor. The sensor is set as a trigger that will create an action if left open for more than 3 minutes. On the right-hand side, I have my actions. So, if the door is left open for more than 3 minutes (trigger), all three of these actions will occur.
- Ecobee will adjust the temperature to 87 degrees. As the thermostat is in cool mode, this means it won’t run until the indoor temperature goes above 87.
- Stringify will send an email notification. While this isn’t necessary, I want to monitor things to make sure the indoor humidity doesn’t get too high while the door is left open and I want to make sure the flow continues to run properly. I’m a micromanager.
- The most important step – mode. Mode has nothing to do with the thermostat’s mode or SmartThings’ mode; it is specific to Stringify and one of the things that makes Stringify so amazing. In this case, if the door is open for more than 3 minutes, it will change Stringify’s mode to Away. Why is this important? It’s important because without this step, Rule 2 won’t work.
Rule 1: Step-By-Step
- Open the Stringify app, navigate to flows, click create.
- Select your things: ecobee, email, mode, and your sensor. Click add.
- Drag SmartThings MultiSensor to top left. Click on it. Change its condition to, “Trigger WHEN: Sensor is open for a duration” and choose a time.
- Drag ecobee to the right of your sensor and change it to, “Action: set temperature”.
- Take your finger and drag it from your sensor to ecobee to connect them.
- (Optional) Drag email below ecobee and select “send me an email”.
- Place your finger on the yellow circle that is now between ecobee and your sensor and drag your finger to email.
- Drag and drop Mode below email. Click on it. Select “Action: change my Mode to Away”.
- Place your finger on the yellow circle and drag it to Mode.
Rule 2: Turn it Back On
The idea of rules 2 is to get the thermostat back to normal. This is possible because Stringify is in Away mode. Think about it like this, if there was no Away Mode (using IFTTT), this is what would happen: anytime someone closes the monitored door, it’s going to take action. As closing the door is part of the normal process of using a door, this won’t work. We don’t want to punish people who use the door; we want to keep the AC from working overtime. This is where Away Mode comes in handy. Rule 2 is called, “AC is back”. This rule has a trigger with a condition. It says if the back door is closed, but only if Stringify’s Mode is set to Away, then set ecobee to Home Mode and change Stringify back to Home Mode. When this happens, ecobee will go back to whatever you’ve preset as the standard temperature for Home Mode and Stringify will go back to Home Mode until it is triggered again. While Home Mode may not be the same exact temperature your renters used before the rule ran, they can simply walk over to the thermostat and readjust the temperature as needed.
Rule 2: Step-By-Step
- Open the Stringify app, navigate to flows, click create.
- Click the plus button on the bottom of the app and select your things: ecobee, mode (just one for now), and your sensor. Click add.
- Drag and drop your sensor to the first square. Click on it. Select, “Trigger: Sensor closes”.
- Drag ecobee to the right of your sensor and click on it. Change it to “Actions: Set to home”.
- Take your finger and drag it from your sensor to ecobee.
- Click on Mode and drag it to the right of ecobee. Select “Action: Change my Mode to home”.
- Take your finger and drag it from ecobee to Mode.
- Click the plus button on the bottom of the screen. Choose Mode.
- Drag Mode below your sensor and change it to “Trigger: My Mode is Away”.
- Put your finger on the yellow circle between your sensor and ecobee and drag it down to the second Mode.
Accounting For Changing Weather Patterns
The problem with Rule #1 is that it assumes the outdoor temperature is the same year round. While this may somewhat be the case in Florida, it’s not going to be the case around the globe. Here are some workarounds to help solve that challenge.
A More Complex Solution
One solution I plan to test next time I’m in Florida is using ecobee in auto mode and adding weather patterns to Stringify.
While ecobee is in auto mode, it can automatically swap between heating and cooling as needed. When running a rule, this adds a new layer of complexity. For example, in my rule, bumping up the temperature to 87 while in auto mode would simply kick the heat on, not turn the AC off. The solution to this problem is to create two versions of Rule 1.
Rule 1 version 1 would be a summer flow, and version 2 would be a winter flow. To make this happen, I would add in Stringify’s “weather thing”. Using the day’s high temperature as a condition, one of the two rules would run. For example, if the daily high is over 75 degrees, I would run the summer flow. If below 60 degrees, I would run the winter flow. If in between, no rule would run as I don’t see the harm in opening the patio door on a beautiful day. However, this does add a layer of complexity, and it would certainly be difficult to test and manage from a remote location as it’s only testable in a time of varying weather patterns. If you want to test it, let me know how it goes.
A Manual Solution
Currently, my plan is to keep an eye on the weather. If the weather becomes too cold for the AC, I may swap the rule off, or I may create a winter version. TBD.
A Simple Solution
This would all be a lot easier if I turned off Access Control for system settings. In that case, I could simply create a rule to turn the thermostat on or off based on set triggers. Of course, the easier solution would be for ecobee to separate on/off control from system settings. I’ve already sent this suggestion to ecobee; we’ll see if they listen.
Another simple option? Pay someone to do all this for you. There are products backed by professional installation services that you can use (I believe Trane and Alps Controls can do this for you). But, if you are brave enough to want to do this yourself, I hope sharing what I’ve learned along the way will help. I’ve been running this rule with renters for about three weeks. So far there’s been no problem with the rule, though ecobee did lose connection with WiFi a couple of times, which will impact the rule’s ability to run.
In general, the rule seems to be a lifesaver and has proven that renters definitely like to try to capture an ocean breeze while running the AC. You can learn more about Stringify at stringify.com or head over here to read more about turning my friend’s vacation condo into a smart condo.