Announcement

Collapse
No announcement yet.

Jon00 Database Charting Utility for Homeseer 3 & Homeseer 4

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

    No it will just delay all metrics being recorded in the database for that table.
    Jon

    Comment


      Thank you for the clarification, Jon. So I gather with the settings above that I would continue to get multiple records seconds apart, but they would be recorded 5 seconds after they actually happened but with a timestamp representing when they actually did happen. I also assume from this that the plugin gathers and stores the values at trigger time and does not wait until after the delay to obtain the new values.

      Do you happen to have any suggestions for this goal, short of disabling automatic updates and performing all updates from HS events?

      To expand on my goal, I wanted a maximum update frequency of 2 minutes, but I didn't want to use a timer and create records when nothing changes. DB efficiency mainly, as I intend/hope to keep a couple years of records before purge. I could create a single HS event to update the DB when any one of my 10 devices changes, and then tell it not to run again for 2 minutes, but that could potentially miss an update if something else changes within that 2 minutes. All other event or script based solutions in my head right now seem overly complicated.

      Open to suggestions from anyone.

      Thanks!
      Last edited by mrceolla; January 6, 2017, 08:20 PM.
      HS4, Insteon, Z-wave, USB-UIRT, Harmony Hubs, Google Hub/Chromecasts/Speakers, Foscam & Amcrest cameras, EZVIZ DB1 doorbell
      Plugins: BLLAN, BLOccupied, BLUSBUIRT, Chromecast, Harmony Hub, Insteon, Jon00 Homeseer/Echo Skill Helper, Harmony Hub, Jon00 DB Charting, MediaController, NetCAM, PHLocation2, Pushover 3P, weatherXML, Z-wave

      Comment


        I cannot think of any solution. As you say, data loss within the 2 minute window is possible via your event method. Personally, I would prefer to have duplicate records over lost records.

        I'm not sure why you are worried about Database efficiency as SQlite can handle records up to 140Tb!
        Jon

        Comment


          Hi Jon,

          Thanks for the reply. Wow 140TB! Good to know. My concern stemmed from a post I read a while back where someone was having performance issues generating graphs. I thought the reason was a large DB with many datapoints in his graph's time range, but I didn't pay super close attention at the time.

          Yes, I too would prefer duplicate records over lost records, but the developer in me still wants to be as efficient as reasonably possible.

          I think I may have thought of a way to accomplish my goal. I could setup an event to run right after my polling routine which is every two minutes. This event would run a script that creates a packed string of all device values and stores that in a global variable. Each time the script runs it checks the newly created packed string against the previous run's values stored in a global variable. If it's different, update the DB. I think that would work unless I'm overlooking something. I'll give it a try in the next couple days.

          Thanks!
          HS4, Insteon, Z-wave, USB-UIRT, Harmony Hubs, Google Hub/Chromecasts/Speakers, Foscam & Amcrest cameras, EZVIZ DB1 doorbell
          Plugins: BLLAN, BLOccupied, BLUSBUIRT, Chromecast, Harmony Hub, Insteon, Jon00 Homeseer/Echo Skill Helper, Harmony Hub, Jon00 DB Charting, MediaController, NetCAM, PHLocation2, Pushover 3P, weatherXML, Z-wave

          Comment


            I think the DB performance issue you read was related to another charting package. As you know, I have multiple databases with a maximum of 10 metrics in each so individually they are very light.

            I'm sure your method will work, however (IMO) all your effort to do this is unnecessary.
            Jon

            Comment


              Version 1.1.2 is now available.

              This corrects a longstanding regional bug which caused chart crashes/errors in errorlog.txt when a comma is used as the decimal separator in Windows regional settings.
              Jon

              Comment


                Jon,

                Im now at version 1.1.1.
                To update to this version i only have to replace Jon00DBChartingHS3.exe and
                Jon00DBSetupASP.vben ?
                Because in latest readme i read :

                ***** Relating to V1.1.1 *****

                If running V1.0.0. just replace:

                Jon00DBChartingHS3.exe
                Jon00DBSetupASP.vben

                Egbert

                Comment


                  Just the exe.
                  Jon

                  Comment


                    Originally posted by jon00 View Post
                    Just the exe.
                    Thanks Jon, im gonna try.

                    Egbert

                    Comment


                      Hi,

                      I've set up a custom palette, but now I get this "spam" in my log. The values are what I set in the custom palette.

                      Also, which fonts are supported in chartingstyle.ini? I tried changing it to Calibri, but the font stayed the same. Calibri is installed on my HS3 computer.

                      Comment


                        Forgot the picture:

                        Comment


                          I believe it was debug code left in by mistake but was removed in later versions.

                          Please upgrade to the latest version with the new web page configuration setup. All fonts will be listed so you will find it much easier to create charts.
                          Jon

                          Comment


                            Yep, that did the trick I thought I had the latest version..

                            Thanks!

                            Comment


                              Jon00DBChartingHS3.exe locking up

                              Hi John, I have a bit of a problem with Jon00DBChartingHS3.exe
                              On my setup it appears to lock up every 5 or 6 hours and needs to be restarted.

                              The Taskbar icon disappears but the application does not terminate properly, it just drops to 0% CPU usage and
                              stops recording data. So I then have to end the task with Task Manager and restart the exe.

                              I am sure that the installation is correct.

                              I'm on the latest version of the plugin, latest version of HS3 which is stable and am running everything as Administrator.
                              Win 10 64Bit box. Only slight oddity is that my HS3 box is headless and I access it via Remote Desktop.

                              The errorlog file starts growing with the same error once the exe has locked up but I assume this is because the exe is not running as follows:

                              2017-01-28 01:45:32.746 Watchdog activated - Restarting plugin
                              2017-01-28 01:45:33.091 Error in OnTimedEvent: System.NullReferenceException: Object reference not set to an instance of an object.
                              at System.Runtime.Remoting.Messaging.LogicalCallContext.Propaga teIncomingHeadersToCallContext(IMessage msg)
                              at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(Mess ageData& msgData, Int32 type)
                              at HomeSeerAPI.IHSApplication.SystemUpTimeTS()
                              at Jon00DBChartingHS3.Form1.????????(Object ????????, ElapsedEventArgs ????????)
                              2017-01-28 01:45:33.607 Error in OnTimedEvent: System.NullReferenceException: Object reference not set to an instance of an object.
                              at System.Runtime.Remoting.Messaging.LogicalCallContext.Propaga teIncomingHeadersToCallContext(IMessage msg)
                              at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(Mess ageData& msgData, Int32 type)
                              at HomeSeerAPI.IHSApplication.SystemUpTimeTS()
                              at Jon00DBChartingHS3.Form1.????????(Object ????????, ElapsedEventArgs ????????)
                              2017-01-28 01:45:34.119 Error in OnTimedEvent: System.NullReferenceException: Object reference not set to an instance of an object.

                              Has me completely stumped. Any thoughts?
                              - John
                              Attached Files

                              Comment


                                For the internal watchdog to kick in indicates a poor connection to Homeseer. It may be caused by other plugins communicating at the same time but I really don't know the architecture of HS3 to make proper judgment.

                                You can turn off the Watchdog which may assist if this is just a temporary blip.

                                Open up Jon00DBCharting.ini and find the [Settings] heading.

                                Change/add the following:

                                Watchdog=0
                                Jon

                                Comment

                                Working...
                                X