1
0
forked from Tank/braga
braga/database/sensors.lua

55 lines
1.3 KiB
Lua

local array = require("database.array")
local flatdb = require('database.flatdb')
local date = require('date')
local db = flatdb(ngx.var.document_root..'/database')
local _M = {}
_M.cellar = {}
_M.room = {}
if not db.cellar then
db.cellar = {{temp=0, date = os.date('%Y-%m-%d %H:%M:%S'), warm=0, warm_status='is-danger',temp_status='is-warning'}}
db:save()
end
if not db.room then
db.room = {{temp=0, date = os.date('%Y-%m-%d %H:%M:%S'), warm=0, warm_status='is-danger',temp_status='is-warning'}}
db:save()
end
function _M.cellar.now()
return db.cellar[#db.cellar]
end
function _M.cellar.data(start,ends)
if not start then start = date(start) else start = date():addhours(-24) end
if not ends then ends = date(ends) else ends = date() end
local res = {}
for key,val in pairs(db.cellar) do
if date(val.date) >= start and date(val.date) <= ends then
table.insert(res,val)
end
end
return res
end
function _M.room.now()
return db.room[#db.room]
end
function _M.room.data(start,ends)
if not start then start = date(start) else start = date():addhours(-24) end
if not ends then ends = date(ends) else ends = date() end
local res = {}
for key,val in pairs(db.room) do
if date(val.date) >= start and date(val.date) <= ends then
table.insert(res,val)
end
end
return res
end
return _M