I love using Alexa to turn up and down the heat in my various zones around the house, but it has its limitations. For one, you cannot set an 'until' time on a temporary override, meaning it will stay in force until the next scheduled setpoint change or until you change it back manually. Why? Another Evohome restriction (not necessarily Alexa-related) is that the furthest scope supported for scheduling is that of a 7-day week and all weeks look the same to Evohome.

I got around this week-limitation by first linking Alexa to a Google Calendar I created especially for Evohome and then running 2 scripts - one (in Python) that accesses the Google API via Oauth to read the ISO 8601 calendar entries for today, plus one (in Perl) that accesses the TCC API to update the schedule for today accordingly. The calendar is of course also visible and editable on smartphones, tablets and PC browsers and can schedule years ahead if I like. It's cool to tell Alexa "Add a calendar entry for March 5th from 2PM to 5PM, description: Office Temperature 22" and know that on March 5th that will be taken care of. I make sure that any overlaps in separate setpoints are grouped into as few changes as realistically required before sending to TCC. I could of course fill in a full week at a time in TCC based on the calendar but doing it a day at a time on a cronjob achieves the same end-result anyway and means less API visits if I change future schedules later this week.

It's interesting to observe the mindset of a company like Honeywell in adapting to the IOT era. Chronotherms had a weekly schedule, right? Thus Evohome too gets a weekly schedule, even though it is cloud-enabled and much more could be done because of this. All my code is a few dozen lines written in 2 days so it's not like it would cost much to greatly enhance Evohome with more usability - you just need a product-manager with the vision !

Any comments?