Beginners guide to graphing Evohome temperatures using python and plot.ly

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • freeranger
    Automated Home Jr Member
    • Feb 2016
    • 13

    #46
    cool, thanks

    Comment

    • Mavis
      Automated Home Ninja
      • Oct 2014
      • 322

      #47
      Originally posted by paulockenden View Post

      For me, integrating ST with Evohome was a must, because Mrs O often likes to leave the back doors open, and I'm buggered if I'm going to pay to heat the garden! So I use a cheap ZigBee door sensor, and a ST app which stores the current heating mode, then restores it when she closes the door.

      Must have paid for the ST kit by now in gas savings ;-)

      P.
      Originally posted by freeranger View Post
      Disappointingly simple

      I have exactly the same problem - Mrs O must be a doppleganger of my Mrs
      I though the TRV's "open window" sensing function would help here because there is a rad right next to the back door, but it's not that helpful if the temp doesn't drop significantly enough - ie it's not the middle of winter!
      Hmm..could be the excuse I've been looking for to treat myself to ST. Does this all work out of the box - If door open THEN shut off evohome heating in ZONE XX?
      Originally posted by paulockenden View Post
      Evo's open window function only works for 30mins, then resets!

      I set the system to off (which is at system rather than zone level), but you could easily tweak the code to just lower the setpoint of a zone instead.
      Any I also have the same problem with my other half The kitchen rad is the only one that works with the 'open window' function - and it works very often . Probably because the rad is opposite the back door and the cold draft runs straight across the room. I hadn't really thought about the 30 minute reset. Now I have found a use for those Orvibo sensors that I bought.

      Comment

      • DBMandrake
        Automated Home Legend
        • Sep 2014
        • 2361

        #48
        Originally posted by paulockenden View Post
        Evo's open window function only works for 30mins, then resets!
        Just for completeness you can increase that to 60 or 90 minutes in the HR92 config.... There is also a 0 setting but unfortunately rather than disabling automatic re-enabling of the radiator after a timer it simply disables the window mode completely. (A missed opportunity, as a temperature rise will still disable window mode before the timeout)

        Also I'm sure you already know but its worth pointing out to other readers that the HR92 supports a remote switch for direct triggering of window mode - you could fit a reed switch to the door similar to what you would use for an alarm and run that to the HR92 for direct window mode. This would turn the radiator off as soon as the door was opened regardless of whether there was a temperature drop, and with the maximum 90 minute setting it would be a workable alternative. As soon as the door was closed it would come back on again too. This is quite a bit faster than the temperature based window mode detection which I've found takes about 10 minutes to detect a door has been opened or closed - and only if its pretty cold outside and/or quite windy.

        One other point I'd make is that window mode using temperature based detection always works directly on the HR92 using its internal sensor - it doesn't matter whether you have a remote sensor like a DTS92, its the rate of temperature drop measured at the HR92 that triggers window mode. In a multiple radiator single room mode zone an individual HR92 would first detect the drop and enable window mode - this sends a window mode command back to the evotouch and I believe (but can't test as I don't have multiple radiator zones) the evotouch will then send out the 5 degree set point to other radiators in the zone.

        I assume this would also happen if you used a window mode switch - in which case the HR92 that the door was wired to would turn off and on immediately with the door but any other radiators in the same zone would respond with up to a 4 minute delay.
        Last edited by DBMandrake; 18 June 2016, 09:06 PM.

        Comment

        • tmh007
          Automated Home Lurker
          • Oct 2016
          • 1

          #49
          Hi, Im after some advice, i have followed you guide, and it says successfully sent data to plot.ly but the graphs on plot.ly just say 0??
          any ideas?

          Thanks

          Comment

          • Tempted
            Automated Home Jr Member
            • Aug 2016
            • 19

            #50
            Hi,

            Sorry to bring up an old thread. I have been using the method posted by the OP since I got Evohome around a year and a half ago and in the most part it has done all that I need.

            That is until I checked my graphs this morning and notice my Emoncms feeds hadn't received data in 18hrs. I tried running the Python script (evologger.py) manually and notice some errors (when I believe previously, it would have given the current temps within the DOS window.Evo.jpg

            Could anyone shed any light at all please? Whilst I do work in IT, programming is pretty far removed from my day job to be honest, so I am out of my depth here

            Comment

            • Tempted
              Automated Home Jr Member
              • Aug 2016
              • 19

              #51
              Originally posted by Tempted View Post
              Hi,

              Sorry to bring up an old thread. I have been using the method posted by the OP since I got Evohome around a year and a half ago and in the most part it has done all that I need.

              That is until I checked my graphs this morning and notice my Emoncms feeds hadn't received data in 18hrs. I tried running the Python script (evologger.py) manually and notice some errors (when I believe previously, it would have given the current temps within the DOS window.[ATTACH=CONFIG]1217[/ATTACH]

              Could anyone shed any light at all please? Whilst I do work in IT, programming is pretty far removed from my day job to be honest, so I am out of my depth here
              So it turns out the scripts that facilitate the evologger logging don't have any error handling for temperatures that aren't numbers. That is to say "- -" throws an error which breaks the whole lot. Someone in the household had 'OK'd' the warning about an actuator battery running flat and thus when it did, it couldn't communicate, hence reporting a null value.

              As you were.

              Comment

              • DBMandrake
                Automated Home Legend
                • Sep 2014
                • 2361

                #52
                Zones that have no temperature reported (hour glass on the controller or - - on the iphone app) are actually still reported by the API as a number, 128.0 degrees C.

                I added a patch to evohome-munin a couple of years ago to handle this and prevent it literally being graphed as 128 degrees. (Which kind of ruins an autoscaling graph )

                …ne app for example after changing Evotouch batteries) the Honeywell servers report 128.0 for the room temp. Set a maximum limit of 50 to prevent a huge spike on the graph that crushes the rest of ...

                Comment

                • Dbldutch
                  Automated Home Lurker
                  • Mar 2019
                  • 3

                  #53
                  Enhancement to the originalscript

                  First of all, a big thank you for the posters in this section.
                  I had my app up and running in very little time.
                  I collect the data in rrdtool repositories, and use the simple graphing of that toolset for my use. It's adequate as far as I'm concerned.

                  I did however notice a little problem while querying the server. I use cron to do that every 5 minutes, and just about every 5 to 10 queries results in an exception ( TypeError: list indices must be integers, not str) from this line:
                  Code:
                  userId = userData ['userInfo']['userID']
                  The root cause is that the query sometimes yields a warning:
                  Code:
                  userData = [{u'message': u'Request count limitation exceeded, please try again later.', u'code': u'TooManyRequests'}]
                  An this of course causes the TypeError.

                  To test this, I have used a try-except around the above line, and simply wait for an additional 30 seconds and try again. This always solves the problem. The better solution is to add a few seconds to the 5 min. repetition rate, or use an appropriate sleeptime in the code to extend the 5 min of the cron timer.

                  The net-net is that it seems that a repetition of 5 minutes is just about on the border.

                  Comment

                  • Dbldutch
                    Automated Home Lurker
                    • Mar 2019
                    • 3

                    #54
                    The TypeError is caused by the server sending you a message that you exceeded the number of times with a request. The maximum time seems to be just over 5 minutes. I have put the statement in a try-except and simply wait 30 secs before I try again.

                    Comment

                    • DBMandrake
                      Automated Home Legend
                      • Sep 2014
                      • 2361

                      #55
                      Authentication attempts are severely rate limited since about August 2018, so if the script re-authenticates for every polling period you will have problems, even with a 5 minute polling period.

                      Actual API requests are not rate limited only authentication requests so if the script is re-written to cache the session id or access token (depending on API used) between runs it will solve the issue.

                      For a very long winded discussion on this issue and how it was solved for the evohome-client library have a look here:

                      In recent months Honeywell have made substantial changes to their API servers, one of these is that new, aggressive rate limiting has been applied for client connection authentication attempts. Thi...


                      Without looking back through this thread I'm not sure if it uses watchforstock's evohome-client library - if it does, you'd want to update to the latest version in master and then make some modifications to the script to save and restore session id or access token between runs.

                      Comment

                      • Dbldutch
                        Automated Home Lurker
                        • Mar 2019
                        • 3

                        #56
                        Thank you, in the very many posts about this topic, I missed this development.
                        I'll update my code.

                        Comment

                        Working...
                        X