EvoControl - custom Alexa skill for Evohome

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • philchillbill
    replied
    Amazon is again having DynamoDB issues which are affecting both the skill and web app in retrieving cached data. Sorry, but we'll just have to wait for them to resolve.

    Leave a comment:


  • philchillbill
    replied
    I just noticed that accessing AWS Dynamodb from any of the buttons on the smartskills account dashboard results in an error. AWS is rejecting requests due to a mismatch between the system time on my backend server vs their timestamps. Turns out my system clock is 14 minutes off. I cannot change that myself so I've opened a ticket with my provider to hopefully resolve ASAP. Sorry for the inconvenience.


    EDIT: It's now fixed
    Last edited by philchillbill; 14 October 2025, 10:18 AM.

    Leave a comment:


  • philchillbill
    replied
    Fixed a corner-case bug where schedule shifting Going to Bed on a Sunday could result in an incorrect wrap-around of schedule switchpoints beyond midnight. Modulo-arithmetic anyone?

    Also, the firmware of the Echo 5 Gen III seems to have a bug that's preventing any widgets from working. No idea when Amazon will release a fix. The main skill itself still runs fine on these devices.

    Leave a comment:


  • philchillbill
    replied
    Screenshot 2025-09-30 155758.png

    Version 4.5 of EvoControl is now live, with several (small) bugfixes and faster performance on most edit-operations. I found a workaround for a long-standing Amazon bug that was forcing me to re-send the entire APL document plus its data on minimal screen updates (instead of just the data and having the Echo cache the APL document).
    • On the main dashboard you'll notice a new button labelled 'ABC' which takes you to the screen shown above (so-called 'BulkUpload'). There was no UI-equivalent to spoken commands such as "Upload Schedule B to the Bathroom, Bedroom and Wardrobe zones" or "Upload Schedule C everywhere". That's now possible in this screen.
    • The graph-icon on the dashboard for those with an HGI-80 has been removed. For the last 12 months or so all it did was pop a reminder that you can now double-tap on tiles to draw graphs. People should be used to that by now.
    • For those with a HGI-80 and a smart gas meter, there's a new button to allow you to plot your gas-consumption barchart from the UI. This was always possible by saying "Alexa, show the gas graph" but there was no UI-equivalent.
    • Several sub-header texts have been improved and there are no longer revolving subheaders as all screens have their own help buttons in the bottom left corner.
    Note that EvoControl will soon be available to beta test as a Progressive Web App which will run in any browser on PC, Mac, iOS, iPadOS, etc. So the days of needing an Alexa-enabled device are numbered...
    Last edited by philchillbill; 1 October 2025, 01:38 PM.

    Leave a comment:


  • bruce_miranda
    replied
    Originally posted by Chelt50 View Post

    Thank you very much, Do you happen to know what Evohome uses as a threshold for heating? Is it +/- 0.5 deg?
    if memory serves me right I think the actual measured temperature has to be atleast 1.5C below the set point for the heating to get switched on. More recently the Load Scaling feature has amended that by aggregating demands across all zones.

    Leave a comment:


  • philchillbill
    replied
    Originally posted by Chelt50 View Post

    Thank you very much, Do you happen to know what Evohome uses as a threshold for heating? Is it +/- 0.5 deg?
    If by threshold you mean the smallest allowed increment, for setpoints it’s 0.5 deg and for schedules 10 minutes.
    Last edited by philchillbill; 28 September 2025, 08:11 AM.

    Leave a comment:


  • Chelt50
    replied
    Originally posted by philchillbill View Post

    The 0.5/0.1 deg resolution is indeed down to the 'v2' API version used in EvoControl (see https://evohome-client.readthedocs.io/en/latest/ for a brief explanation). While v1 provides 0.1 deg resolution (desirable), it unfortunately does not support schedules or oauth which are both needed for the skill. Note that the v1/v2 names were made up by watchforstock and are not Resideo nomenclature — the funny thing is that the so-called v2 API uses /v1/ everywhere in the endpoints.

    When you account-link the skill, in the 'auth' step you login to a Resideo URL with your account credentials and their portal forwards oauth tokens to my back-end to work with the API on your behalf. I never know your credentials (and certainly don't want to).The problem with the v1 API is that it uses session-based authentication and if a session expires (after something like 15 mins IIRC) then you need the actual credentials to log back in. There's no auth-token as such. It's fine for people to store credentials in their own scripts at home but inappropriate for a service like EvoControl which runs in an Amazon lambda in the cloud and not on your pi.

    I did consider extending EvoControl to allow charting for users without a HGI-80. It would work by polling the API for every user every 10 mins (from a separate lambda on a cron timer) and storing measured temps in my back-end for 24h. However, that would only be 0.5 deg resolution so not really worth it.
    Thank you very much, Do you happen to know what Evohome uses as a threshold for heating? Is it +/- 0.5 deg?

    Leave a comment:


  • philchillbill
    replied
    Originally posted by Chelt50 View Post
    Phil,

    I don’t understand how my Python is now doing this but it’s great,!
    The 0.5/0.1 deg resolution is indeed down to the 'v2' API version used in EvoControl (see https://evohome-client.readthedocs.io/en/latest/ for a brief explanation). While v1 provides 0.1 deg resolution (desirable), it unfortunately does not support schedules or oauth which are both needed for the skill. Note that the v1/v2 names were made up by watchforstock and are not Resideo nomenclature — the funny thing is that the so-called v2 API uses /v1/ everywhere in the endpoints.

    When you account-link the skill, in the 'auth' step you login to a Resideo URL with your account credentials and their portal forwards oauth tokens to my back-end to work with the API on your behalf. I never know your credentials (and certainly don't want to).The problem with the v1 API is that it uses session-based authentication and if a session expires (after something like 15 mins IIRC) then you need the actual credentials to log back in. There's no auth-token as such. It's fine for people to store credentials in their own scripts at home but inappropriate for a service like EvoControl which runs in an Amazon lambda in the cloud and not on your pi.

    I did consider extending EvoControl to allow charting for users without a HGI-80. It would work by polling the API for every user every 10 mins (from a separate lambda on a cron timer) and storing measured temps in my back-end for 24h. However, that would only be 0.5 deg resolution so not really worth it.

    Leave a comment:


  • bruce_miranda
    replied
    The HGI80 and the RFG100 are not the same. The HGI80 allows you to catch the actual system RF messages and display them as text.
    The RFG100 is an Internet gateway to allow a few non WiFi devices to use the app e.g. Evohome V2 and T87RF.
    If Evocontrol is showing 0.5 and your python is showing 0.1 then they could be using 2 different versions of the cloud/app API.

    Leave a comment:


  • Chelt50
    replied
    Phil,

    First of all, thank you for creating EvoControl - it’s brilliant.

    My coding skills are rather limited but I had written some Python to download the temperatures and set points for all the zones I have and then dump them in Google Sheets. I didn’t have an HGI80 (I think mine is called a RFG100. As I was expecting, I was only getting temperature returns in 0.5 degrees increments. Since installing Evohome, I am now getting 0.1 degrees increments (although EvoControl is still showing 0.5 degree increments).

    I don’t understand how my Python is now doing this but it’s great,!

    Leave a comment:


  • philchillbill
    replied
    I haven't touched the code in weeks but today I'm suddenly getting errors trying to launch the skill or widget and the logs are not even being written to. So Amazon have an issue on their end. Apologies but there's nothing I can do presently.



    EDIT: Seems to have been fixed again by Amazon
    Last edited by philchillbill; 29 August 2025, 11:15 AM.

    Leave a comment:


  • Midland45
    replied
    Reported to Amazon dot com

    Leave a comment:


  • G4RHL
    replied
    Perhaps Trump? 🥲

    Leave a comment:


  • Ghostrider
    replied
    Reported Phil.

    Leave a comment:


  • philchillbill
    replied


    Some genius using the Amazon dot com locale managed to install the skill to his account ‘unexpectedly’ and rewarded the skill with a one-star review as a result. As if it’s the skill’s fault *he* mistakenly installed it by saying something that Alexa interpreted as ‘enable smart heat’.

    I’d appreciate if people could report the review as being unhelpful. Even an Amazon employee reviewing the reports should know that a skill cannot just install itself…

    Leave a comment:

Working...
X