tldr; HASS -> IFTTT -> Harmony -> Thermostat works well for me.
OK, I know that this may not work for everyone, but I thought that I’d share my experience.
I bought the Honeywell RTH6580WF because the price was right, and I thought that it would fit in with my HA setup. I quickly found out that I was right… and wrong… sort of.
OK, so as some of you know HASS and Honeywell RTH6580WF don’t exactly speak well with each other.
My goal is for the thermostat to control the temperature just as a typical programmable thermostat would. However, I wanted a bit more control. Like, when a window is open, the thermostat shouldn’t be on. When the window is closed and the high temp for the day is above/below xx* then turn the thermostat back on, and set to heat/cool appropriately.
Initially IFTTT seemed like it might fit the bill, but it won’t turn the thermostat off.
Then my Harmony Hub looked like it might work, but it won’t resume the program schedule.
So my convoluted solution is a combination. HASS -> IFTTT -> Harmony -> Thermostat
Oh, and I couldn’t get HASS to kick on the thermostat directly. No idea why.
So now, I have the following applets within IFTTT:
Maker Event "HoneywellHeat" = HarmonyHeat
Maker Event "HoneywellCool" = HarmonyCool
Maker Event "HoneywellOff" = HarmonyOff
Maker Event "HoneywellResume" = Honeywell Resume Programmed Schedule
Within the Harmony Hub I have:
HarmonyHeat = Honeywell Heat On
HarmonyCool = Honeywell Cool On
HarmonyOff = Honeywell Off
Then within HASS I have various automations and scripts, but here is a sample of one:
Automation:
alias: Honeywell Cool
trigger:
platform: numeric_state
entity_id: sensor.dark_sky_daily_high_temperature
above: '90.0'
condition:
condition: and
conditions:
- condition: state
entity_id: binary_sensor.ecolink_unknown_type0004_id0002_sensor_25_0
state: 'off'
- condition: state
entity_id: input_boolean.vacation_mode
state: 'off'
action:
service: script.honeywell_cool
Script:
honeywell_cool:
sequence:
- service: ifttt.trigger
data_template: {"event":"HoneywellCool"}
- delay: '00:01:00'
- service: ifttt.trigger
data_template: {"event":"HoneywellResume"}
I added the 1 minute delay so that the thermostat has time to turn back on before sending the command to resume. This may be unnecessary, but since I’m not in a hurry to execute the commands, I didn’t figure it would hurt.
When I open the window the thermostat is off within 15 seconds. When I close it, it’s back on within 15 seconds, and then in another 60 it’s resuming the program.
Hope this can help someone.