HVAC Scene Script

What do you guys do? Up until now, I’ve had a main scene that I schedule for every 3 hours in the summer to cool, and another in the winter to heat. Sometimes, when I have guests over, I want to cool the house an additional 2?F. I’m wanting something more dynamic than basic scenes. Additionally, I want my bedroom temp to cool by an additional 2?, but only during the night hours. I may later setup a virtual thermostat that the scene gets it defaults from each time it runs. Anyways, here’s what I have to start with:

[code]–Climate Control (Cooling)

–Defining SetPoints
local CoolSP = 76 --used for Family, NHall, and Media Thermostats
local StudioCoolSPOffset = 2
local MBRCoolSPOffset = -2
local MBRCoolSP = CoolSP
local StudioCoolSP = CoolSP + StudioCoolSPOffset

–adjust Master Bedroom SP for night time.
local t = os.date(‘*t’)
if t.hour >= 9 or t.hour <= 6 then
print("Hour: "…t.hour)
MBRCoolSP = CoolSP + MBRCoolSPOffset
end
print("MBRCoolSP: "…MBRCoolSP)

–Assign vars for DevIDs
local DevID_MBR = 175
local DevID_Family = 157
local DevID_Media = 7
local DevID_NHall = 13
local DevID_Studio = 220
–local DevID_FrontGarae = 162

–Set Fan Operating Mode
luup.call_action(“urn:upnp-org:serviceId:HVAC_FanOperatingMode1”, “SetMode”, {NewMode = “Auto”}, DevID_MBR)
luup.call_action(“urn:upnp-org:serviceId:HVAC_FanOperatingMode1”, “SetMode”, {NewMode = “Auto”}, DevID_Family)
luup.call_action(“urn:upnp-org:serviceId:HVAC_FanOperatingMode1”, “SetMode”, {NewMode = “Auto”}, DevID_Media)
luup.call_action(“urn:upnp-org:serviceId:HVAC_FanOperatingMode1”, “SetMode”, {NewMode = “Auto”}, DevID_NHall)
luup.call_action(“urn:upnp-org:serviceId:HVAC_FanOperatingMode1”, “SetMode”, {NewMode = “Auto”}, DevID_Studio)

–Set all Tstats to Cool
luup.call_action(“urn:upnp-org:serviceId:HVAC_UserOperatingMode1”, “SetModeTarget”, {NewModeTarget = “CoolOn”}, DevID_MBR)
luup.call_action(“urn:upnp-org:serviceId:HVAC_UserOperatingMode1”, “SetModeTarget”, {NewModeTarget = “CoolOn”}, DevID_Family)
luup.call_action(“urn:upnp-org:serviceId:HVAC_UserOperatingMode1”, “SetModeTarget”, {NewModeTarget = “CoolOn”}, DevID_Media)
luup.call_action(“urn:upnp-org:serviceId:HVAC_UserOperatingMode1”, “SetModeTarget”, {NewModeTarget = “CoolOn”}, DevID_NHall)
luup.call_action(“urn:upnp-org:serviceId:HVAC_UserOperatingMode1”, “SetModeTarget”, {NewModeTarget = “CoolOn”}, DevID_Studio)

–Set all Tstats to Energy
luup.call_action(“urn:upnp-org:serviceId:HVAC_UserOperatingMode1”, “SetEnergyModeTarget”, {NewModeTarget = “EnergySavingsMode”}, DevID_MBR)
luup.call_action(“urn:upnp-org:serviceId:HVAC_UserOperatingMode1”, “SetEnergyModeTarget”, {NewModeTarget = “EnergySavingsMode”}, DevID_Family)
luup.call_action(“urn:upnp-org:serviceId:HVAC_UserOperatingMode1”, “SetEnergyModeTarget”, {NewModeTarget = “EnergySavingsMode”}, DevID_Media)
luup.call_action(“urn:upnp-org:serviceId:HVAC_UserOperatingMode1”, “SetEnergyModeTarget”, {NewModeTarget = “EnergySavingsMode”}, DevID_NHall)
luup.call_action(“urn:upnp-org:serviceId:HVAC_UserOperatingMode1”, “SetEnergyModeTarget”, {NewModeTarget = “EnergySavingsMode”}, DevID_Studio)

–Storing SetPoints
luup.call_action(“urn:upnp-org:serviceId:TemperatureSetpoint1_Cool”, “SetCurrentSetpoint”, {NewCurrentSetpoint = MBRCoolSP}, DevID_MBR)
luup.call_action(“urn:upnp-org:serviceId:TemperatureSetpoint1_Cool”, “SetCurrentSetpoint”, {NewCurrentSetpoint = CoolSP}, DevID_Family)
luup.call_action(“urn:upnp-org:serviceId:TemperatureSetpoint1_Cool”, “SetCurrentSetpoint”, {NewCurrentSetpoint = CoolSP}, DevID_Media)
luup.call_action(“urn:upnp-org:serviceId:TemperatureSetpoint1_Cool”, “SetCurrentSetpoint”, {NewCurrentSetpoint = CoolSP}, DevID_NHall)
luup.call_action(“urn:upnp-org:serviceId:TemperatureSetpoint1_Cool”, “SetCurrentSetpoint”, {NewCurrentSetpoint = StudioCoolSP}, DevID_Studio)
[/code]