I thought that this would be something others would find useful.
I have a new construction house (2516 Sq Ft), and it has a gas furnace with A/C. The thermostat that came installed was a Honeywell VisionPro TH8000 series unit. Since I wanted a ZWave version, I did some research and found that the Honeywell YTH8320ZW1007 Thermostat was basically a drop in replacement (well almost, I had to hookup an extra wire for this to work, and luckily the installer ran a cable with plenty of wires in it for future expansion).
I found the ZWave version of my thermostat from a wholesale distributor on Ebay for $79 (it was a brand new unit that had been “used” and didn’t have the mounting screws which I already had).
What I am doing is having my Vera put the thermostat in EnergySavings mode when my alarm system is armed in Away mode, and reset it back to normal mode when I return (the alarm is disarmed).
To set to EnergySavings mode, I do the following::
-Create a new scene (I call my Thermostat Away Mode)
-Set a schedule to run every 2 minutes
-Use the following LUUP code in the scene:
[code]local PARTITION_DEV_NUM = 61
local THERMOSTAT_DEV = 93
local state = luup.variable_get(“urn:micasaverde-com:serviceId:AlarmPartition2”, “ArmMode”, PARTITION_DEV_NUM)
local detailed_state = luup.variable_get(“urn:micasaverde-com:serviceId:AlarmPartition2”, “DetailedArmMode”, PARTITION_DEV_NUM)
– SHOW VARIABLES FOR DEBUGGING
luup.log("ThermostatAway- "…state)
luup.log("ThermostatAway- "…detailed_state)
if (state == “Armed”) then
if (detailed_state == “Armed”) then
local status = luup.variable_get( “urn:upnp-org:serviceId:SwitchPower1”, “Status”, THERMOSTAT_DEV) or “0”
if (status == “0”) then
luup.log(“Thermostat already in Energy Saving Mode. Skipping…”)
else
luup.call_action(“urn:wdsc-hvac-org:device:WDSC_HVAC1”, “RestartPolling”,{ delay=0 }, 96)
luup.log("Alarm armed in Away mode, setting Thermostat to Energy Savings Mode.")
luup.call_action("urn:upnp-org:serviceId:SwitchPower1","SetTarget",{ newTargetValue="0" }, THERMOSTAT_DEV)
end
end
end
[/code]
Once the exit delay on the alarm has expired and the system goes into Away mode, this code will catch it within 2 minutes and switch my thermostat to EnergySavings mode (and switch off the WDSC HVAC plugin I am also using).
When I come home and disarm my alarm, I use the following to set the thermostat back to Normal mode:
-Create a new scene (I call my Thermostat Home Mode)
-Set a trigger to fire when the alarm system is disarmed
-Use the following LUUP code to reset the polling interval in the WDSC HVAC plugin. Using the WDSC HVAC plugin ensures that if I disarm the alarm but keep a door open that is on its list of security sensors, that it handles this. Since the thermostat is still on and running in EnergySavings mode (just using higher/lower setpoints for cooling and heating to save energy), this plugin will turn the thermostat into OFF mode so I don’t heat/cool the outside. The plugin also handles changing the thermostat back to normal mode.
[code]luup.call_action(“urn:wdsc-hvac-org:device:WDSC_HVAC1”, “RestartPolling”,{ delay= 300 }, 96)
[/code]
I’ve noticed that my Heating/Electric bill has been dropping since I’ve set this up.