5 hours ago
Create scheduled scripts that run at required intervals. For monthly/yearly mode the current day data won't be included into calculation because the data has not been aggregated yet.
Daily:
Monthly:
Yearly:
Daily:
Code:
require('trends')
name = 'energy'
dates = {}
dates['start'] = os.date('*t')
dates['end'] = os.date('*t')
dates['end'].day = dates['end'].day + 1
sum = 0
values = trends.fetch(name, dates)
for _, value in ipairs(values) do
sum = sum + (value or 0)
end
grp.checkupdate('0/0/1', sum)Monthly:
Code:
require('trends')
name = 'energy'
dates = {}
dates['start'] = os.date('*t')
dates['start'].day = 1
dates['end'] = os.date('*t')
sum = 0
values = trends.fetch(name, dates, 86400)
for _, value in ipairs(values) do
sum = sum + (value or 0)
end
grp.checkupdate('0/0/2', sum)Yearly:
Code:
require('trends')
name = 'energy'
dates = {}
dates['start'] = os.date('*t')
dates['start'].month = 1
dates['start'].day = 1
dates['end'] = os.date('*t')
sum = 0
values = trends.fetch(name, dates, 86400)
for _, value in ipairs(values) do
sum = sum + (value or 0)
end
grp.checkupdate('0/0/3', sum)