OH3 System Startup start level

I have 2 items defined
Number SonosKeuzeKeuken
Switch SonosKeukenAan

The rule system started should set the default values
sendCommand(SonosKeuzeKeuken, 0)
sendCommand(SonosKeukenAan, OFF)

The value of the switch item is not set.
The same command in another rule it is working.

When I do the same in the UI it is working. I only see one difference.
When I create a system startup rule in the rules file and open it in the UI I see as comment
// - When the system has reached start level 20
The lowest level I can select in de UI is start level 40.
Is this the reason?
If yes how can I set this level when using files?

That’s not setting Item states, it’s sending commands.
If there’s a binding involved, it will pass the commands on to devices, is that what you intend?

Assuming you have left autoupdate default enabled on these Items, this will also act on the command and shortly update Item state.
BUT
the binding can influence that. For example,if the channel is not working it can veto autoupdate’s state update (because the command can’t work).

If any of this is happening you will be able to see the trail in your events.log
So maybe your binding isn’t ready at “system start” time.

If you really only want to update the Item, then update it, don’t send commands.

Not at the moment.

What do you men by update it?

Items have a state. If you want to update that state from a rule, you can use yourItemsName.postUpdate(someValue)
That’s all it does, update the state.

Items may be linked via a channel and a binding to real device. If you want something to happen at the device, you send the Item a command and the binding deals with that.
Sometime later, the device might report a new status and the binding willturn that into an update of the Item’s state.

This is what you are trying to do -

but it’s not clear if you expect that to set Items states only, or do something to real devices.