Increment Thermostat Setpoint by 1 degree

I’m trying to create a scene the increments the thermostat setpoiont by 1 degree, but it’s not working. The setpoint get’s reset to null.

local lul_temp=luup.variable_get(“urn:upnp-org:serviceId:TemperatureSetpoint1_Cool”,“CurrentSetpoint”,8)

local lul_new=to_number(lul_temp)+1

luup.call_action(“urn:upnp-org:serviceId:TemperatureSetpoint1_Cool”,
“SetCurrentSetpoint”, { NewCurrentSetpoint=lul_new },
8)

[tt]tonumber[/tt]

I’d love to see an example of this in action. I’m referencing a Lua manual, but still learning.

Bumping this older thread…I cannot get some simple LUA setpoint increment code to work on my Thermostat. Am I missing something? The code executes - no errors are thrown. But my Trane thermostat doesn’t react.

local THERM_ID = 3

local CurrentSetpoint=luup.variable_get(“urn:upnp-org:serviceId:TemperatureSetpoint1_Cool”,“CurrentSetpoint”,THERM_ID)

luup.call_action(“urn:upnp-org:serviceId:TemperatureSetpoint1_Cool”,
“SetCurrentSetpoint”, {NewCurrentSetpoint=tostring(CurrentSetpoint + 1)},THERM_ID)

CurrentSetpoint variable is a string. you need to convert it to an integer (tonumber) before adding 1.

Thank you. But still no success…

UPDATE It’s working. My bad - had the wrong device ID.

Here is the code I ended up creating based on your examples. I wanted a way to be able to turn up the heat or turn down the air by 1 degree from my Android Wear Watch regardless if I was in heat or cool mode.

-----Turn down the temperature by 1 degree------

local THERM_ID = 20

local CurrentSetpoint=luup.variable_get(“urn:upnp-org:serviceId:TemperatureSetpoint1”,“CurrentSetpoint”,THERM_ID)

luup.call_action(“urn:upnp-org:serviceId:TemperatureSetpoint1”,
“SetCurrentSetpoint”, {NewCurrentSetpoint=tonumber(CurrentSetpoint - 1)},THERM_ID)

-----Turn up the temperature by 1 degree------
local THERM_ID = 20

local CurrentSetpoint=luup.variable_get(“urn:upnp-org:serviceId:TemperatureSetpoint1”,“CurrentSetpoint”,THERM_ID)

luup.call_action(“urn:upnp-org:serviceId:TemperatureSetpoint1”,
“SetCurrentSetpoint”, {NewCurrentSetpoint=tonumber(CurrentSetpoint + 1)},THERM_ID)