Is ".format()" mandatory for sending commands?

In the doc:
It is stated: “To send a Z-Wave command to the device, you must create the command object, call format() on it to convert it to the encoded string representation, and return it from the command method.”

However I use a command without “.format()”:

def configure() {
        zwave.wakeUpV1.wakeUpIntervalSet(seconds:3600*wakeUpInterval, nodeid:zwaveHubNodeId)

And it is working - the configure() is executed after the device inclusion.
But when I follow the doc and use instead the command:

zwave.wakeUpV1.wakeUpIntervalSet(seconds:3600*wakeUpInterval, nodeid:zwaveHubNodeId).format()

it does not work.
But in the Device Handler file there are working commands ending with “.format()” , e.g.:

	cmds << zwave.wakeUpV1.wakeUpNoMoreInformation().format()

which makes me a bit confused, and I would like to ask:
So, is it ok not to use “.format()” when sending commands to the device?

It seems to me (from my own tinkering) that in the configure routine on inclusion, the format() might not be needed. But I could be wrong.

Otherwise, the no more information should work. When you say it doesn’t work - are you getting an error?

The first code segment is passing the commands to a “commands” function and that function is most likely calling format on the items passed into it.

Thanks. Will skip the .format then.

The method commands() is often defined in a z-wave driver, here is an example:

private commands(commands, delay=200) {
delayBetween(commands.collect{ command(it) }, delay)

It is calling commands which is defined:

private command(physicalgraph.zwave.Command cmd) {
if (state.sec) {
} else {

The format() is being called for you by commands(). The two functions command() and commands() are not a part of the Smartthings API, they are just a common convention in many drivers.