EvoControl - custom Alexa skill for Evohome

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • Midland45
    Automated Home Ninja

    • Jan 2022
    • 278

    Originally posted by philchillbill View Post
    I use an external library called node-email-validation to sanity-check the email address before sending because I cannot verify after a send-attempt if the address made sense. I changed nothing in the code recently and also have not updated the library files so strange that it would now reject an address that it validated ok before.

    As a workaround, I can comment-out the code and then you're on your own if you mistype, but at least it will not reject the address outright.

    I think also that I may have an explanation as to why some people never receive those emails when I send them. The '.tech' HLD (high level domain name) is rarely used and may not even be marked as valid in some older email software so anti-spam will sometimes reject such mails. It can be hit-and-miss because when you send a mail you never know how many hops it will make from sender to receiver and you may/may-not hit a hop that will reject.

    I plan to switch from the 'send-me-an-email' approach to instead allowing you to save a file locally on your computer. That will then move the backup process from something you perform on an Echo to something you perform in a browser on a PC/mac. The good news is that you could then edit that file externally and upload it back to the skill yourself. So you could have dozens of schedules if you like and only 4 of them (Live/ABC) would be 'in' the skill at any time. However, that means allowing people to upload directly to my database and that's always an attack-vector for hacking so I need to be very restrictive on the file format that would be accepted for upload. You could always safely put back an unedited Live/ABC because I could store a peppered hash and if a file you upload has the same hash it would always be allowed.
    Sounds like as usual you are a few steps ahead. Actually I’ve never been able to receive a back up, and it was something I was going to spend a bit of time on, however your proposed new system will solve things.
    Now you’ve mentioned using a browser for backing up I’m curious, what else if anything, could be achievable from a browser. Feel free to “no comment” if it’s something you’d rather keep under wraps for now.

    One other thing to mention is I am using activities constantly to run my heating now and have found occasionally one zone may be skipped. It maybe happens as much as 5% of the time.
    I first noticed after triggering standby successfully and then watching the echo show verify my timed Override of 5 degrees to all zones. However after a bit of time I then noticed my boiler had fired up. So upon checking on Domoticz I could see one of my zones had not had the standby temp/duration applied.

    I’m assuming this error is occurring by some sort of glitch at Honeywell/Resideo’s end, as pre Evocontrol Smartheat era I’d experienced probably a similar level of having to repeat any set point changes I made. Is there perhaps somehow a verification check could be carried out by Smartheat after triggering an activity? Just a thought.

    Comment

    • philchillbill
      Automated Home Legend

      • Jan 2017
      • 1657

      Honeywell does return an id for an 'accepted' change. If that id is missing then I already issue a warning for you to check your controller to verify (actually, this has never been triggered by a user). However, if Honeywell accepts and issues an id but nevertheless ignores the request without telling me, I have no way of knowing.

      Activating a scene actually sends a burst of setpoint changes to the API and to prevent flooding I already have a deliberate delay of 200ms between the commands. I've just made that 300ms so let's see over the next days if that helped. Please keep an eye on it and let me know.

      Comment

      • Midland45
        Automated Home Ninja

        • Jan 2022
        • 278

        Originally posted by philchillbill View Post
        Honeywell does return an id for an 'accepted' change. If that id is missing then I already issue a warning for you to check your controller to verify (actually, this has never been triggered by a user). However, if Honeywell accepts and issues an id but nevertheless ignores the request without telling me, I have no way of knowing.

        Activating a scene actually sends a burst of setpoint changes to the API and to prevent flooding I already have a deliberate delay of 200ms between the commands. I've just made that 300ms so let's see over the next days if that helped. Please keep an eye on it and let me know.
        I've just triggered the activity "standby" at approx 17:00 and have had one zone (Bedroom1) fail to set. I had triggered standby an hour earlier, which was successful though.

        Comment

        • bruce_miranda
          Automated Home Legend

          • Jul 2014
          • 2639

          Originally posted by Midland45 View Post
          I've just triggered the activity "standby" at approx 17:00 and have had one zone (Bedroom1) fail to set. I had triggered standby an hour earlier, which was successful though.
          This does happen even with the official App. I once activated Away via the app. All zones took the mode, except 1. Go figure.

          Comment

          • Midland45
            Automated Home Ninja

            • Jan 2022
            • 278

            Originally posted by bruce_miranda View Post
            This does happen even with the official App. I once activated Away via the app. All zones took the mode, except 1. Go figure.
            Yes, I think we know where the issue lies!

            Comment

            • philchillbill
              Automated Home Legend

              • Jan 2017
              • 1657

              Originally posted by Midland45 View Post
              I've just triggered the activity "standby" at approx 17:00 and have had one zone (Bedroom1) fail to set. I had triggered standby an hour earlier, which was successful though.

              Comment

              • philchillbill
                Automated Home Legend

                • Jan 2017
                • 1657

                Website maintenance: Potential back-end outage

                This weekend, I'm migrating smartskills.tech to a more capable hosting package with SSD speeds (at the same provider, it's just an upgrade). The current hosting is set to expire Mon 13th. Hopefully the transition will be instant but if there are any glitches then the account-database may be offline for a while. That would mean no new skill linking(s) and no new re-auth(s) until resolved. The skill itself is hosted in an Amazon Lambda function using DynamoDB for storage so it is not itself affected. All your schedules, activities and groups are stored in DynamoDB so are also exempt.

                Comment

                • philchillbill
                  Automated Home Legend

                  • Jan 2017
                  • 1657

                  Originally posted by Midland45;
                  I've just triggered the activity "standby" at approx 17:00 and have had one zone (Bedroom1) fail to set. I had triggered standby an hour earlier, which was successful though.
                  I just discovered that my delay of 200ms/300ms between API calls was incorrectly implemented. It was actually not between each member of a burst but worked as a single delay before the burst was sent in its entirety at the speed of light. Silly me!

                  Anyway, that's now addressed and I can see it working correctly and as intended in the modified code. Let's see if that makes a difference...

                  Comment

                  • Midland45
                    Automated Home Ninja

                    • Jan 2022
                    • 278

                    Originally posted by philchillbill View Post
                    I just discovered that my delay of 200ms/300ms between API calls was incorrectly implemented. It was actually not between each member of a burst but worked as a single delay before the burst was sent in its entirety at the speed of light. Silly me!

                    Anyway, that's now addressed and I can see it working correctly and as intended in the modified code. Let's see if that makes a difference...
                    The last few activities I’ve triggered have all been successful up to now, including even after I requested the activity “Warm Up”, which doesn’t even exist, Alexa/Evocontrol Smartheat correctly triggered my “Wake Up” activity for me! Quite impressive really. Anyway it’ll be interesting to see if your code change does reduce the occasional error where one override is skipped or if in fact the error is as we think a Honeywell issue.

                    Comment

                    • philchillbill
                      Automated Home Legend

                      • Jan 2017
                      • 1657

                      Originally posted by Midland45;
                      The last few activities I’ve triggered have all been successful up to now, including even after I requested the activity “Warm Up”, which doesn’t even exist, Alexa/Evocontrol Smartheat correctly triggered my “Wake Up” activity for me! Quite impressive really. Anyway it’ll be interesting to see if your code change does reduce the occasional error where one override is skipped or if in fact the error is as we think a Honeywell issue.
                      How has the last week panned out with the skipped zones in Activity-triggering?

                      Comment

                      • Midland45
                        Automated Home Ninja

                        • Jan 2022
                        • 278

                        Originally posted by philchillbill View Post
                        How has the last week panned out with the skipped zones in Activity-triggering?
                        Its been pretty good actually, probably happened on two occasions that a zone was skipped in this last week. I think I probably trigger activities about 5 times a day, so only 2 fails in 35 triggered activities. I do feel there has been an improvement, so your code changes have definitely worked.

                        Comment

                        • philchillbill
                          Automated Home Legend

                          • Jan 2017
                          • 1657

                          Originally posted by Midland45
                          Its been pretty good actually, probably happened on two occasions that a zone was skipped in this last week. I think I probably trigger activities about 5 times a day, so only 2 fails in 35 triggered activities. I do feel there has been an improvement, so your code changes have definitely worked.
                          Good to know, thanks!

                          Comment

                          • philchillbill
                            Automated Home Legend

                            • Jan 2017
                            • 1657

                            New full-backup capability via Account Dashboard



                            If you log in to your EvoControl dashboard at smartskills.tech you'll see a new green button labelled Backup. When pressed it will download a JSON file called evocontrol.json which contains a dump of your activities/scenes, groups and all your saved [ABC] schedules. This data is looped for each idx (concatenation of TCC Location_Gateway_TemperatureControlSystem) so for all combinations of 'systems' in your entire TCC account. Here's looking at you, people with multiple Evotouches...

                            I'll soon make it possible to upload data so you can restore backups yourself. That will mean you could modify the JSON in a code-editor and therefore have as many variants of the current scenes/groups/schedules 'snapshot' as you like. I can even make an endpoint that people could call from their Home Automation software to swap out activities/schedules on the fly based on their automations. I intend to be very rigid on the accepted file format/contents because I will not allow people to upload crap to TCC (it's potentially an attack-vector for bad actors).

                            This all means that I'm about to strip the backup button inside the skill (on the settings page) which attempted to email the backup to you but more often than not resulted in flagging as spam.


                            EDIT: p.s. You may have to refresh the page or clear your browser cache if you don't see the green button
                            Last edited by philchillbill; 18 March 2023, 01:54 PM.

                            Comment

                            • radar2016
                              Automated Home Sr Member
                              • Mar 2016
                              • 53

                              I have decided to try again to get this back on track and immediatly found a problem which was probably the same as before, the TCC web site askes to "select a thermostat listed below" now the only one listed is a faulty one I replaced and is unused, the problem is I cannot find a way to delete it from the web site

                              Comment

                              • philchillbill
                                Automated Home Legend

                                • Jan 2017
                                • 1657

                                Originally posted by radar2016 View Post
                                I have decided to try again to get this back on track and immediatly found a problem which was probably the same as before, the TCC web site askes to "select a thermostat listed below" now the only one listed is a faulty one I replaced and is unused, the problem is I cannot find a way to delete it from the web site
                                I'm afraid I have no control over what Honeywell shows you on this page as it's 'theirs' and not mine in any way. During the beta last year, people sent me screenshots with whole lists of thermostats on this page, while when I go there it only shows one. Who knows why there's such a difference.

                                You could just try and choose that one and see what happens (it may be just the wrong name but still point to your current system).

                                Otherwise, try to delete the location by logging into https://international.mytotalconnectcomfort.com, selecting your location to show it, and choosing 'delete location' in red at the bottom left. Then re-add your current location. The whole process takes a minute.

                                Comment

                                Working...
                                X