setHeatingSetpoint and setCoolingSetpoint missing from webCoRE tasks?


I’m trying to set a heating setpoint with a specific holdType. For example, I would like to use this command:
setHeatingSetpoint( temperature, holdType )

I’m not seeing the setHeatingSetpoint() command in the Add a New Task Do… dropdown.

It’s in the documentation here:

For reference I started by asking the ecobee DTH developer here:


Scroll up the list and try using the general device commands. You mentioned in the ST thread about the “Set Heating Point” command … try using, for example, “75, indefinite”, for the value or in an expression for the value.

Don’t have access to webCoRE at the moment, so I can’t confirm this :confounded:

Hmmmm … took a peek at the source and the function takes two arguments:

void setHeatingSetpoint(setpoint, String sendHold=null)

… have to find out the valid values for sendHold, but looks like it’s coming from ‘thermostatHold’ … looks like my suggestion isn’t going to work :thinking:


Yep, just tried it every way I could think of. It looks like the “Set Heating Point” command expects a single integer.


Sure looks that way :frowning_face:

Looks like the “Set Heating Point” and “Set Cooling Point” commands need to be modified to accept optional parameters. That, or just list setHeatingSetpoint( ) and setCoolingSetpoint() as acceptable custom commands (a bit surprised they aren’t there.)

In the meanwhile … it’s probably gonna get messy using a combination of setThermostatProgram(), Set Heating Point (and/or Set Cooling Point) to get what you want.


Yeah, this particular piston is for the wife (and me, I guess). If the button is pushed, bump the temperature up one degree. So far, it’s been Ok since the ecobee setting is “until next program.” I just happened to notice that I could set a hold if I use setThermostatProgram() but there didn’t appear to be a way to set the temperature explicitly with a hold.

Thanks for your help! :+1:


I’m not sure if this is what you are talking about but I use the expression field to put in the temp I require.



Yep, I can do that. I can’t set a specific temperature with a specific hold type or duration.


Does the DTH you are using support that function? What type of Thermostat are you trying to program. If your T-stat or DTH doesn’t support hold times, then it’s not going to work magically just because you did it in Webcore.


Yes, my ecobee thermostat and DTH support hold types and duration. The setHeatingSetpoint( ) and setCoolingSetpoint() commands are in the webCoRE documentation, but not in the UI.


For comfort profiles you have to pass 3 parameters, the thing you are changing, the hold type, and the duration. I have a thread up here with an example piston. I assume you’re not passing the the holdHours as the second parameter.


Right, setting comfort profiles works just fine. Try setting a temperature with a hold type and duration.


What DTH are you using? I don’t think you can do that the same way you can a comfort profile because it’s not the same command. It would all depend on the DTH and how it was built.


Please see my first post and links. The ‘setHeatingSetpoint’ command is documented in Smartthings, but not available in the webCoRE user interface. I also linked to my conversation with the DTH developer. :man_shrugging:


What are you talking about? They’re there.

That documentation is a general capabilities reference. It doesn’t mean every device has to use it.


Yes, but those commands don’t allow hold types or durations, leaving no way to explicitly set a temperature and a hold.


There is a default within the DTH that would apply to the hold. You are correct, you cannot set a hold time when ordering a specific setpoint. But the Ecobee isn’t designed to do hold by temperature often. It’s meant to go by its comfort profiles. That kinda the point. If you want to set temp manually then why not just use a non-smart z wave thermostat?


Yep, agreed. My use case is a temporary “bump” in the temperature. I found it by trying to create a piston that tried to set the temperature at heatingSetpoint + 1 for one hour. That way, it would add to the current set temperature, no matter what the comfort profile is. I have the DTH default set to “until next program”, but that could be many, many hours away. It would be perfect for expecting company or when we just need a little warm air circulated. :+1: