If as you say that your zones are only used occasionally, a few extra bytes is not going to make much difference to your database size!
Announcement
Collapse
No announcement yet.
Jon00 Database Charting Utility for Homeseer 3 & Homeseer 4
Collapse
X
-
Originally posted by jon00 View PostMaybe record the temperatures at shorter intervals?
I thought about that but was concerned about the number of data points on the graph. Right now I load the data base and plot at 15 minute interval, for 4 locations, for 24 hrs: Number of plot points=4 lines X 4/hr X 24 hr=384 data points.
If I upped the sample rate to 20/hr(every 3 min) the Number of Data Points to plot is almost 2000. When do I have too many and the program will not plot?
Thanks
Bob
Comment
-
Originally posted by jon00 View PostIf as you say that your zones are only used occasionally, a few extra bytes is not going to make much difference to your database size!
Cheers
AlHS 4.2.8.0: 2134 Devices 1252 Events
Z-Wave 3.0.10.0: 133 Nodes on one Z-Net
Comment
-
Originally posted by BobSpen View PostJon00,
I thought about that but was concerned about the number of data points on the graph. Right now I load the data base and plot at 15 minute interval, for 4 locations, for 24 hrs: Number of plot points=4 lines X 4/hr X 24 hr=384 data points.
If I upped the sample rate to 20/hr(every 3 min) the Number of Data Points to plot is almost 2000. When do I have too many and the program will not plot?
Thanks
Bob
[Settings]
MaxDataPoints=6000
Depending on the chart style, you should be able to go up to 8000 before it fails to plot.
Comment
-
This is a GREAT addition and so useful. I have one question though.
I just started using the fitseer to track and plot my weight form the fitbit bathroom scales. I want to chart this but i only need a new chart point added each time the scales update. is there a way to only do a bar graph showing each time the weight changes or the scale is used ( shown my an update on the time on the virtual device. ?detail of setup in profile. Link to videos of my projects there as well. Over 300 scripts running every min and counting
Comment
-
Probably best to manually update the database via an event and trigger how you wish.
From the docs:
Manual updating of a database is achieved via a standard HS3 event.
Select "Control a Device"
From the Drop down select "Utility Jon00 DBChart Database Update"
Finally select "Update [DBTableX] where X is the database number you wish to update.
If you leave the Timer entry blank under the [DBTableX], then the database can only be updated via a manual update.
(The DBTable/timer entries are within Jon00DBCharting.ini)
Comment
-
Love, love, love this program! Donation is in your inbox!
My RadioThermostat plugin devices update with bad values frequently. I'm using the Data1MinValue to filter those. Contrary to the documentation, the database is recording the specified Data1MinValue rather than the "previous in-range value".
What I'd actually prefer, is to ignore and not log the value at all.
Thanks for the great work!
Comment
-
Originally posted by KurtLutterman View PostLove, love, love this program! Donation is in your inbox!
My RadioThermostat plugin devices update with bad values frequently. I'm using the Data1MinValue to filter those. Contrary to the documentation, the database is recording the specified Data1MinValue rather than the "previous in-range value".
What I'd actually prefer, is to ignore and not log the value at all.
Thanks for the great work!
If you are updating the database on a recurring basis, it has to record a value.
Originally posted by KurtLutterman View PostOn the ASPX page, if I set the "to" time in the future, I get
Error: Chart could not be created - check the Homeseer log
with nothing actually in the log. Is this intentional? It took me quite a bit to figure it out.
Originally posted by KurtLutterman View PostDocumentation Request: It would be helpful if you had a sample of each chart type printed in the doc.
Originally posted by KurtLutterman View PostAlso as maverick reported, I do not get a popup when left or right clicking on the tray icon. The only way I can stop it is Task Manager, End Process.
Comment
-
Originally posted by bartg View PostIt did had a challange adding device values into the database which keep adding (no todays per day). What I did for that is creating Virtual devices for a day, week and month. With a small script I calculate each day/week/month total and have Jon's graphing tool importing that into the database. So I have an event that runs at midnight to calculate the total for that day. In the devicevalue is the every increasing value and in the devicestring is the total for that day which the graphing utily writes in the database. If anybody is intrested in more details, please let me know.
Regards,
Bart
Comment
-
Here is a script which uses an ini file to store data and calculate the hourly and daily total. You need to change the 1234 to the device reference number of your water device.
Code:Sub Main(ByVal Parm As Object) Dim CurrentHour As Integer = DateTime.Now.ToString("HH") Dim CurrentValue As Double = hs.DeviceValueEx(1234) Dim HourlyValue As Double Dim DailyValue As Double Dim LastDailyValue As Double Dim LastHourlyValue As Double 'Setup ini file for first use to ensure numeric data If hs.GetINISetting("User", "Hourly", "", "Jon00DBChartingData.ini") = "" Then hs.SaveINISetting("User", "Hourly", "0", "Jon00DBChartingData.ini") If hs.GetINISetting("User", "Daily", "", "Jon00DBChartingData.ini") = "" Then hs.SaveINISetting("User", "Daily", "0", "Jon00DBChartingData.ini") hs.Waitsecs(1) LastHourlyValue = hs.GetINISetting("User", "Hourly", "", "Jon00DBChartingData.ini") HourlyValue = CurrentValue - LastHourlyValue hs.SaveINISetting("User", "Hourly", CurrentValue.ToString, "Jon00DBChartingData.ini") hs.SaveINISetting("User", "LastHour", HourlyValue.ToString, "Jon00DBChartingData.ini") 'hs.writelog("Hourly",HourlyValue.ToString) If CurrentHour = 0 Then LastDailyValue = hs.GetINISetting("User", "Daily", "", "Jon00DBChartingData.ini") DailyValue = CurrentValue - LastDailyValue hs.SaveINISetting("User", "Daily", CurrentValue.ToString, "Jon00DBChartingData.ini") hs.SaveINISetting("User", "LastDay", DailyValue.ToString, "Jon00DBChartingData.ini") 'hs.writelog("Daily",DailyValue.ToString) End If End Sub
Finally define your data sources in the database settings as follows :
For the hourly rate:
PHP Code:Data1=$ini:User,Lasthour,Jon00DBChartingData.ini
PHP Code:Data2=$ini:User,Lastday,Jon00DBChartingData.ini
I've used Data1 and Data2 in this example - change as appropriate.
If using a line chart, you can then manually update the database after running this script with a short delay using the same hourly event.
Remember if manually updating, don't forget to disable the recurring timer by leaving the entry blank.
You may get strange readings for the first hour/day as the counter is set to 0 for calculation purposes.
Comment
Comment