This has to do with autoupdate which is enabled by default.
When you send a command to an Item, that command itself doesn’t result in an update to the Item’s state. When
autoupdate = true, the autoupdate mechanism will “predict” what state the Item will become and issue an update to the Item automatically. When
autoupdate = false, the Item will not change state until something else (usually the binding) issues an update.
What is happening here is you issue the command 10, autoupdate is predicting the Item will go to state 10 so it issues the update, the binding receives and update saying the device is at 15 so the binding issues the update changing the Item back to 15. Finally, the binding is informed that the device has responded to the command and issues the update to the Item to 10.
So you either need to get the binding or the device to not report it’s state before reacting to the command, or you need to turn
autoupdate=false so the command doesn’t prematurely set the Item to 10, or you just need to understand what is going on and live with it.
That might point to something different going on. And that something is going to be in the binding or the device themselves. The logs presented show that OH is only issuing the one command and everything else is OH just being told what the device is doing.