This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Error during export objectlogs
#6
Hi Bart,

This script creates a csv of the object logs on your ftp folder:

Code:
-- get past year data logtime = os.time() - 60 * 60 * 24 * 365 -- list of objects by id objects = {} -- objects with logging enabled query = 'SELECT address, datatype, name FROM objects WHERE disablelog=0' for _, object in ipairs(db:getall(query)) do  objects[ tonumber(object.address) ] = {    datatype = tonumber(object.datatype),    name = tostring(object.name or ''),  } end -- csv buffer buffer = { '"date","address","name","value"' } -- get object logs query = 'SELECT src, address, datahex, logtime, eventtype FROM objectlog WHERE logtime >= ? ORDER BY id DESC' for _, row in ipairs(db:getall(query, logtime)) do  object = objects[ tonumber(row.address) ]  -- found matching object and event type is group write  if object and row.eventtype == 'write' then    datatype = object.datatype    -- check that object datatype is set    if datatype then      -- decode data      data = knxdatatype.decode(row.datahex, datatype)      -- remove null chars from char/string datatype      if datatype == dt.char or datatype == dt.string then        data = data:gsub('%z+', '')      -- date to DD.MM.YYYY      elseif datatype == dt.date then        data = string.format('%.2d.%.2d.%.2d', data.day, data.month, data.year)      -- time to HH:MM:SS      elseif datatype == dt.time then        data = string.format('%.2d:%.2d:%.2d', data.hour, data.minute, data.second)      end    else      data = ''    end    -- format csv row    logdate = os.date('%Y.%m.%d %H:%M:%S', row.logtime)    csv = string.format('%q,%q,%q,%q', logdate, knxlib.decodega(row.address), object.name, tostring(data))    -- add to buffer    table.insert(buffer, csv)  end end dst = '/home/ftp/logs.csv' io.writefile(dst, table.concat(buffer, '\r\n'))

BR,

Erwin
Reply


Messages In This Thread
Error during export objectlogs - by bmodeco - 11.03.2017, 18:20
RE: Error during export objectlogs - by admin - 12.03.2017, 10:22
RE: Error during export objectlogs - by Erwin van der Zwart - 13.03.2017, 22:46

Forum Jump: