I’m not sure about the cloud API, but I don’t think it’s possible to turn on the appliance when it’s off. Additionally, you cannot send the program info to the appliance, unless it’s on and you have selected “MobileControl” on it. Even Miele’s app requires that. And still you cannot do that, since this AFAIK is part of a closed API, so the Miele app can do this, but the cloud API cannot. The last part, “Start” is probably the only thing possible.
Related to this topic: Dishwasher price calculation automation
So the work-around for all this is to turn it on, program it to end at the latest acceptable time to you, and then let openHAB override the start time based on the best price.