April 16th update. SmartThings app now allows linking the scroll (if using this custom driver, stock drivers do not support that at the moment) to the colour temperature depending on the lights. If you can see the option in the app just use it and call it a day!
Jan 29th update. Edited response since new driver version 2026-01-29 offers more features.
The idea of the old scrolledSectors as step, or the new knob capability that is already available and is the recommended way, is that the button will provide a number between -100 and 100 and you pass that to a step command that expects a number from -100 to 100.
The stepLevel command to dim takes a percentage and steps (adds or substracts) the percentage, that’s why it works, it perfectly matches and a full rotation fully dims the light.
For the temperature you need a step command which takes a relative value, not a set which takes an absolute value. Right now your rule is setting temperature to negative numbers or up to 100 K, that’s why it doesn’t do what you expect.
Easy option. Use the app
Forget the Rules API, delete the rule and use a basic control for now. Make Swipe Left step the temperature in one direction and Swipe Right in the other. For instance using the new action that takes a relative temperature percent:
Advanced option. Use stepColorTemperatureByPercent
The best way to achieve temperature control with the scroll is the new capability statelessColorTemperatureStep and the command stepColorTemperatureByPercent, passing the step value with a Rule like in the brightness example. BTW, I’ve asked SmartThings to add the transition time but would be surprised if they do.
That command takes a percentage so a full rotation right goes to the coolest temperature allowed and a full rotation left to the warmest, with any partial rotation increasing or decreasing proportionally.
Would look like this:
"capability": "statelessColorTemperatureStep",
"command": "stepColorTemperatureByPercent",
Those are the best options now, the advanced one provides a better experience. I guess SmartThings will eventually add the capabilities required to every light supported by SmartThings so you won’t even need a custom driver for the light or the button at all.
Regarding documentation, you can check the capabilities and commands available in the advanced website, the command names and arguments are self explanatory most of the time and if it starts with panelorange it is a custom capability. This post is the documentation though, which is more focused in real use cases. In fact I didn’t mention the temperature since changes were coming ![]()

