EvoControl - custom Alexa skill for Evohome

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • philchillbill
    Automated Home Legend

    • Jan 2017
    • 1612

    EvoControl - custom Alexa skill for Evohome




    I've created a new Alexa skill called EvoControl Smart Heat for controlling Evohome. Being a custom skill, it does a lot that the standard Resideo (smart-home) skill cannot do, extending Evohome with non-native capabilities like multiple schedules, schedule-shifting (advance/delay), groups, and an activity/scene paradigm. Because it's multimodal, you get to choose whether to use voice control and/or touch-inputs on Echos with screens.
    • Every Echo Show, Fire Tablet or Fire TV becomes a hi-res touchscreen controller/display to clone your Evotouch in any room where you have Alexa. The skill's Widget can be tapped into view from a shortcut on your Echo's home screen widget gallery. Widgets support user-defined Macros which are like quick-actions per zone that include SPs plus specified durations.
    • There's support for up to 12 user-defined scenes/activities that address multiple zones/setpoints simultaneously. Scenes can be immediately activated or scheduled for later today. For example, "Activate 'MovieTime'", "Activate 'Workout' for 30 mins" or "Schedule 'GoodNight' for 10:30PM".
    • Up to 3 separate schedules [ABC] can be saved/recalled per zone (+DHW). Uploading can be done by voice or touch and can apply to a single zone, a list of zones, a named group, or all zones. The 'Live' schedule is separate so in reality the skill manages 4 schedules for you. Schedules can be displayed in a grid/table per week or in graphical form spanning 24h or one week.
    • You can advance or delay the switchpoints in 4 named day-segments ('Waking Up', 'Lunch Time', 'Dinner Time', 'Going to Bed') by 3 hours either way e.g. "Start my day tomorrow at 7AM", "Defer getting up tomorrow by 30 mins" or "Going to Bed to day is at 11PM". From a time perspective, you can not only reschedule starting times but also lengthen/shorten ending times. Setpoint-wise, you can sidestep blocks to coast over them with a single continuous zone-specific SP, or you can request a temperature adjustment to make the target zones warmer or cooler than usual throughout the segment.
    • Up to 12 groups can be defined for commands such as e.g."Increase the Upstairs Rooms by 0.5° until 11PM". Because you can always specify multiple zones (and even 'the whole house') within each command, using EvoControl can reduce repetitive steps on your panel/app to just a single utterance.
    • All commands support an until or duration to time-limit any changes ("constrained overrides"). That concept works for zone-overrides, system-mode overrides, schedule-edits, and activity-triggering.
    • You can queue up changes that should apply later today rather than starting now. For example, "Make it 17° in the TV Room from 8 PM until 21:30".
    • The skill's schedule editor allows you to copy schedules between zones and to view schedules in two different graphical forms.
    • DHW (Hot Water) is fully supported, as are multiple locations/heating-systems.
    • You can use a Customised Routine with EvoControl to include any typed command you would normally say to the skill inside an Alexa Routine. In the Alexa App, choose Routines → + Add action → Customised.
    • In addition to its TCC connector, EvoControl can optionally communicate with Evohome via RF using e.g. a HGI-80 (or equivalent) and Domoticz or Home Assistant. This shows demand on each tile on the dashboard and also facilitates graphing to draw plots of the actual/setpoint for the previous 24h for any zone/dhw. The skill retrieves all chart data from Domoticz/HA, meaning no regular polling of TCC is required.



    example showing schedule-editing and browsing/selecting multiple schedules, plus schedule-shifting




    example showing the scene/setpoint-editor and several self-defined activities/scenes

    There's a website for EvoControl at https://smartskills.tech/evocontrol. This is not just a marketing site but has enough detail on each feature to serve as a how-to reference. All screens inside the skill have a help icon to the left that explains the features on that particular screen.

    You can read some user reviews at https://www.amazon.co.uk/dp/B0BL1CN6WS

    EDIT: While this thread was initially about the beta invites, the skill has since been certified by Amazon and published in the en-GB, en-US and de-DE locales. To enable it, sign-up at https://smartskills.tech/ec/register.




    It's all demoed in the video at https://vimeo.com/924690145?share=copy.

    Last edited by philchillbill; 2 February 2025, 03:35 PM.
  • Ghostrider
    Automated Home Jr Member

    • Jan 2018
    • 47

    #2
    That looks and sounds brilliant, I have always wondered why Honeywell never expanded their skill to allow set for time etc.

    Email sent.

    Comment

    • chrisgare
      Automated Home Guru
      • Dec 2013
      • 185

      #3
      and me - email sent.

      Comment

      • chrisgare
        Automated Home Guru
        • Dec 2013
        • 185

        #4
        I assume the existing controller is set to a Quick Action 'Off'?

        Comment

        • CT1
          Automated Home Guru

          • Apr 2016
          • 220

          #5
          Sounds as if it would be more useful than the current skill, which I found of very limited use.

          email sent.

          Comment

          • philchillbill
            Automated Home Legend

            • Jan 2017
            • 1612

            #6
            Originally posted by chrisgare View Post
            I assume the existing controller is set to a Quick Action 'Off'?
            No, because that just turns off your heating system. This skill co-exists with the Evotouch — any Echo Show just complements your Evotouch so they both display the same info. Any change on one is instantly reflected on the other and vice versa.

            Think of it as being like the mobile app. You don't set the controller to 'Off' when you use the app...
            Last edited by philchillbill; 25 August 2023, 12:59 PM.

            Comment

            • digital
              Automated Home Jr Member
              • Jan 2015
              • 29

              #7
              Had a good look at the website and video.
              Looks excellent and very useful. Much better than the Honeywell skill which is very limited.
              I don't have an Echo show so not able to take full advantage of the skill but will be watching your progress with great interest.
              John

              Comment

              • philchillbill
                Automated Home Legend

                • Jan 2017
                • 1612

                #8
                Originally posted by digital View Post
                Had a good look at the website and video.
                Looks excellent and very useful. Much better than the Honeywell skill which is very limited.
                I don't have an Echo show so not able to take full advantage of the skill but will be watching your progress with great interest.
                John
                Well the display is really only needed when you are using the extra-schedules features. If all you want is to change setpoints while specifying either until-times or durations, you'll still have that above the standard skill's functionality. If you want to try the beta and maybe provide feedback from the perspective of somebody without a display, that may be useful to have. Just email me if you want to participate.

                Comment

                • bruce_miranda
                  Automated Home Legend

                  • Jul 2014
                  • 2579

                  #9
                  Just signed up. Looks great.

                  When the app is on the screen, the Back button on the Left top doesn't seem to do anything.

                  No HW?

                  Comment

                  • philchillbill
                    Automated Home Legend

                    • Jan 2017
                    • 1612

                    #10
                    Originally posted by bruce_miranda View Post
                    Just signed up. Looks great.

                    When the app is on the screen, the Back button on the Left top doesn't seem to do anything.

                    No HW?
                    That's due to an Alexa bug. I'm supposed to be able to determine what event is sent when the back button is pressed, but it's always 'goBack' even when I specify otherwise. There's no screen to go 'back' to from the Dashboard as it's already the top level but I had intended that when you press back when on that screen it would forced refresh from TCC immediately instead of waiting on the 30 sec poll. Just as an extra reassurance when you've changed something that TCC processed it.

                    I reported a bug to Amazon and they may fix it in which case I'll leave the back button. If they don't then I'll just remove it from the Dashboard but leave it there for the other screens because it does work on those to take you back to the dashboard.

                    Did you happen to play with the settings cog on the top right?

                    p.s. I presume you mean that the back button does not work on the main Dashboard but does work on e.g. the settings or schedule screens? Or do you mean it works nowhere for you?
                    Last edited by philchillbill; 13 March 2022, 09:00 PM.

                    Comment

                    • philchillbill
                      Automated Home Legend

                      • Jan 2017
                      • 1612

                      #11
                      For anybody with trouble invoking the skill: 'EvoControl' is a contrived word and Alexa has problems with those. Also, skills are supposed to have at least 2 words for invocation so we think we're saying EvoControl but to her it's 2 separate words: Evo and Control. The problem with that is she then wants you to say Evvo Control (like revolution) and will not work with Evo as in eeeeevo. So the workardound was to trick her that it's actually 3 words: Eve Oh Control.

                      If she doesn't understand you, just say those 3 words more distinctly and it will work. Then when she has run the skill a few times for you, you'll be able to morph more towards EvoControl and it will still work.

                      The joys of AI
                      Last edited by philchillbill; 13 March 2022, 09:05 PM.

                      Comment

                      • bruce_miranda
                        Automated Home Legend

                        • Jul 2014
                        • 2579

                        #12
                        I did click the Settings cog. But from a UI point, it looks greyed out, I think it needs to be brighter.

                        Comment

                        • philchillbill
                          Automated Home Legend

                          • Jan 2017
                          • 1612

                          #13
                          Originally posted by bruce_miranda View Post
                          I did click the Settings cog. But from a UI point, it looks greyed out, I think it needs to be brighter.
                          I've removed the redundant back button on the main Dashboard view.
                          The settings cog is now still quite opaque but is changed to bluish instead of grayish (it is intended to be discreet so not full brightness, but I agree that gray has a different connotation).

                          The TCC iPhone app stopped working for me this morning and https://status.resideo.com/ reports a 'major outage' currently. The skill still works ok but I've been thrown out of a session twice due to 'rate limit exceeded' issues. Probably related to their outage. Sigh.

                          Comment

                          • bruce_miranda
                            Automated Home Legend

                            • Jul 2014
                            • 2579

                            #14
                            What data is stored on the servers for this skill to operate? Clearly my user ID and password. My zone names, schedules. What else? My home address?

                            Comment

                            • philchillbill
                              Automated Home Legend

                              • Jan 2017
                              • 1612

                              #15
                              Originally posted by bruce_miranda View Post
                              What data is stored on the servers for this skill to operate? Clearly my user ID and password. My zone names, schedules. What else? My home address?
                              The principle behind all my skills is to use data on an as-needed basis and either not store it at all (if possible) or to encrypt it strongly when I must store it. Almost all the data this skill uses is treated as ephemeral: it's retrieved from TCC for a particular skill-session, used, then discarded after a session closes. The skill doesn't store it because it can just retrieve it every time and that retrieval is quick enough and safe enough (https).

                              The home address mentioned when you first link the skill is read from your TCC account profile and said out loud so that people with multiple locations will know which location the skill has accessed (it's the first location in the locations array but that could be anything). That information is not stored by the skill because after that initial welcome, it's not needed.

                              The version of your ABC schedules that I store is very different to the raw data that comes from TCC. It's converted to a seconds-since-midnight-on-sunday format which makes it trivial to compare schedules and make switchpoint insertions. This also reduces the storage requirements by about 10x compared to what TCC uses. I have to store this for you because TCC doesn't support multiple schedules. But there's absolutely nothing in that storage that links to you. It does contain your zone names, but everybody has zones called livingroom, bathroom, etc. Also, the database is strongly encrypted.

                              Your TCC credentials are served to the skill for each session by my own oauth server that creates a salted AES-256 access token that's different for each skill session. The skill extracts your credentials from this token and logs in to TCC with the decrypted details. If that token were to be intercepted then it can only be used once because the salting is epoch-related. I've asked Resideo for my own API key which would allow their oauth servers to always send me a token I could just use without having to store your credentials, but they have not yet responded. The 'problem' with our community access to TCC (via the watchforstock API and the jzwack application-ID) is that the refresh-token does not work after a short period and a full login is required. This actually goes completely against the principles of oauth so it's a mystery why Resideo does this.

                              Just FYI, when you link a skill, Amazon assigns you a long random UserID string that will change if you disable a skill and re-enable it. So even if a skill previously stored information about you it would not be able to recognize you as being you when you 'returned' to the fold. Same goes for Echo DeviceIDs. I have no idea that your Echo is called e.g. 'Kitchen Echo' and all I get is a long string that will also change if you disable/re-enable the skill. Amazon takes security and privacy (luckily) very seriously.


                              EDIT: The skill now has its own API key and no longer needs your credentials to operate. The oauth server is now Resideo's rather than my own.
                              Last edited by philchillbill; 20 September 2022, 09:43 PM.

                              Comment

                              Working...
                              X