No it will just delay all metrics being recorded in the database for that table.
Announcement
Collapse
No announcement yet.
Jon00 Database Charting Utility for Homeseer 3 & Homeseer 4
Collapse
X
-
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
-
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
-
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
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
Comment
Comment