Coming from Homeseer (HS), I had all of my HVAC scenes (events in HS) for the heating season and cooling season set up to run at their regular schedules, regardless of which season it was. Since HS supported setting Cool Setpoints and Heat Setpoints, and ignored either if not in that mode (i.e. if the system was cooling, it ignored heat setpoints) I could leave my scenes running and HS would ignore the setpoints that were not applicable to the mode (heat or cool). When the season dictated, I would just switch the mode of my thermostat and the applicable scenes would do their thing.
As been discussed in other threads, UI7 has removed that ability, and even if you do an advanced action and specify a heat or cool setpoint, it ignores the heat or cool part, and just sets the temperature on the thermostat. Even if you do LUUP code, it still ignores the “Heat” or “Cool” part of the instruction and just sets the temp.
Anyway, if I had both my heat and cool scenes running year roundin VeraLite with UI7 it would mess up my home temps!
I don’t know if this is a clever solution or not that big a deal, but I am new to VeraLite and LUUP coding so, I was pretty stoked when I got it all working the way I wanted.
Instead of doing a device action for my scheduled temperature changes, I use LUUP code that checks to see what mode the thermostat is in. For my heating scenes, if the thermostat in HEAT mode it sets the temp, otherwise it does nothing, and the same for the cool scenes.
Here is the LUUP code for a Cool scene:
local hvac_mode = luup.variable_get("urn:upnp-org:serviceId:HVAC_UserOperatingMode1", "ModeStatus", 8)
if (hvac_mode == "CoolOn") then
luup.call_action("urn:upnp-org:serviceId:TemperatureSetpoint1_Cool","SetCurrentSetpoint", {NewCurrentSetpoint = "68"},8)
end
And an example of a Heat scene
local hvac_mode = luup.variable_get("urn:upnp-org:serviceId:HVAC_UserOperatingMode1", "ModeStatus", 8)
if (hvac_mode == "HeatOn") then
luup.call_action("urn:upnp-org:serviceId:TemperatureSetpoint1_Heat","SetCurrentSetpoint", {NewCurrentSetpoint = "67"},8)
end
This is working as I had hoped.
Specifying “TemperatureSetpoint1_Cool” or “TemperatureSetpoint1_Heat” are interchangeable since VeraLite ignores the “_Heat” and “_Cool” part and just sets the temp regardless of mode, but I was specific just in cast they “fix” what I don’t think they think is a broken, from what I have read in other threads.
Just wanted to share in case it helps anyone out there.