I've just pushed a bunch of updates to my python library at https://github.com/watchforstock/evohome-client

This now includes the ability to choose each of the various modes either on a permanent or timed basis as well as overriding individual zones. The documentation is still playing catch-up, but if you have any trouble give me a shout and I'll try to help