This is pretty basic all said and done, but it took me a while to figure out (still learning!) so maybe it will be of use to others!
Goal:
Have a heating/cooling system that wouldn’t waste energy while we were out of the house.
Background:
I wasn’t able to install a Nest thermostat in my home because it already had a very impressive thermostat set up. The full PCB is in the garage and I just had 3 wires going to the Honeywell panel. It’s a high end thermostat, just not a Nest. We set it to a basic schedule that works for us, but I wanted something more akin to the Nest eco-mode which uses presence detection to decide if it should actually consume energy.
Requirements:
- Honeywell total comfort connect (you can probably do this with other things too, but this is what I have)
- Presence detection (I’m using a rPi3 with Bluetooth detection and asus WRT WiFi detection, but anything should work)
- IFTTT (I’m not a fan of the IFTTT platform, but I needed it to control the Honeywell system)
- Weather component (optional, but I used it to determine if I was locking it one direction or another)
Honeywell Setup:
Set your Honeywell thermostat to a basic schedule that fits your lifestyle. You can do this with many different automatons, but for ease of use I just had a basic 7 day schedule.
IFTTT:
- Integrate IFTTT as shown here
- Because I have AC and Heat, I had to set up 3 IFTTT applets.
- Cold Weather Applet, which sets the permanent hold on the lower temperature during cold months so as to not heat the house unless it gets VERY cold. (I called mine honeywell_away_heat)
- Warm Weather Applet, which sets the permanent hold on the upper temperature during warm months. (I called mine honeywell_away_cool)
- Return Home Applet, which tells the thermostat to return to its regularly scheduled programming. (honeywell_home)
Automation Code:
# HVAC Nest Emulation
# Sets the HVAC to idle out if we are away
- alias: HVAC Away
trigger:
- platform: state
entity_id: group.family_home
to: 'off'
action:
- service: ifttt.trigger
data_template:
event: >-
{% if states('sensor.pws_temp_high_1d_f')|int > 74 -%}
honeywell_away_cool
{%- else -%}
honeywell_away_heat
{%- endif -%}
# Sets the HVAC to resume it's normal schedule once we've returned
- alias: HVAC Home
trigger:
- platform: state
entity_id: group.family_home
to: 'on'
action:
- service: ifttt.trigger
data: {"event":"honeywell_home"}
Pros and Cons:
Obviously its only as good as your presence detection. Since we are using our phones it will false negative if they both lose power or go off.
It also doesn’t work for other people unless you are also home. However, this could be considered a pro if you have animals that would trigger motion detection for a false positive.
Like I said, pretty basic but it should fit our needs well. Let me know if you have any questions or post to build on this set up to improve it for others!