Command of Type Number and Range

I'm working on a driver with a few commands that will take a number:

command "setNozzleTemp", [[name: 'nozzleTemp', type: "NUMBER", range: 0..300, description: "Enter the desired nozzle temp"]]
command "setBedTemp", [[name: 'bedTemp', type: "NUMBER", range: 0..110, description: "Enter the desired bed temp"]]
command "setPartCoolingFanSpeed", [[name: 'speed', type: "NUMBER", range: 0..100, description: "Enter the desired fan speed"]]
command "setAuxFanSpeed", [[name: 'speed', type: "NUMBER", range: 0..100, description: "Enter the desired fan speed"]]
command "setChamberFanSpeed", [[name: 'speed', type: "NUMBER", range: 0..100, description: "Enter the desired fan speed"]]

I don't see anything in the documentation about a "range" option, but have seen a few examples where it's being used. There was even one post where someone couldn't get a driver to save because of the range option.

So, assuming this is supposed to work, it's not. I can continue to input whatever number I want outside the range and it's accepted and passed to the command function.

image

I know I can write a simple condition in the function to catch errant values, but would rather just use the option if possible.

Am I missing something? Was this maybe removed in a firmware update at some point? Is it broken?

I have only seen range on an input command.

The definition of device commands is likely not checked much by the HE core system, but these definitions are provided to applications that use them for writing automations (think webcore for example). this is how these apps learn custom commands.

That's what I was wondering but I've seen some senior devs using it as part of the command structure.

Does it possibly need to be in the constraints key? Similar to an ENUM command parameter type.

Just tried it with no luck. I tried both constraits: [0,100] and constraits: [0..100] and was still able to enter 5000.

@bravenel hate to tag you, but could you provide a final answer on whether or not this should work?