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.

influxdb
#5
This code will send everything it captures to influx, then you can filter whatever you want in grafana. Create resident script with zero delay



Code:
local socket = require('socket') local http = require('socket.http') http.TIMEOUT = 5 local dt_cache = {} function get_value(addr, datahex)   local dt = dt_cache[addr]   if(not dt) then     dt = grp.find(addr)     dt_cache[addr] = dt   end     return knxdatatype.decode(datahex, dt.datatype), dt end function knx_callback(event)   local addr = event.dst   local value, dt = get_value(addr, event.datahex)   send_metric('rawdata', dt.name, addr, value) end function send_metric(table, name, addr, value)   if(name == nil or name == '') then     return   end     name = string.gsub(name, ' ', '\\ ')     local url = 'http://IP:8086/write?db=knxdb'   local args   if(type(value) == 'boolean') then     args = string.format('%s,name=%s,addr=%s state=%s', table, name, addr, value)   else     -- most likely number     args = string.format('%s,name=%s,addr=%s value=%s', table, name, addr, value)   end   res, err = http.request(url, args)   if(err ~= 204) then     log('error sending to influx', res, err, args)   end end function run_loop()   local bus = require('localbus').new(1)   bus:sethandler('groupwrite', knx_callback)   local busfd = socket.fdmaskset(bus:getfd(), 'r')     while(true) do     res, fbus = socket.selectfds(10, busfd)     if(fbus) then       bus:step()     end   end end run_loop()
Reply


Messages In This Thread
influxdb - by mischa - 12.08.2018, 07:03
RE: influxdb - by admin - 13.08.2018, 11:25
RE: influxdb - by mischa - 13.08.2018, 12:44
RE: influxdb - by eirik - 19.11.2019, 18:49
RE: influxdb - by myg - 28.05.2020, 16:47
RE: influxdb - by thomasoppida - 14.12.2021, 09:07
RE: influxdb - by admin - 14.12.2021, 10:00
RE: influxdb - by thomasoppida - 14.12.2021, 13:07
RE: influxdb - by admin - 14.12.2021, 14:02
RE: influxdb - by jensmagnar - 23.12.2021, 14:56
RE: influxdb - by admin - 23.12.2021, 14:59
RE: influxdb - by jensmagnar - 06.01.2022, 22:12
RE: influxdb - by Re-G - 07.01.2022, 11:34
RE: influxdb - by admin - 07.01.2022, 12:12
RE: influxdb - by Re-G - 07.01.2022, 13:38
RE: influxdb - by sx3 - 06.10.2022, 16:14
RE: influxdb - by admin - 07.10.2022, 05:33
RE: influxdb - by sx3 - 07.10.2022, 14:31
RE: influxdb - by sx3 - 12.10.2022, 06:05
RE: influxdb - by admin - 12.10.2022, 06:13
RE: influxdb - by sx3 - 17.10.2022, 16:41
RE: influxdb - by admin - 18.10.2022, 06:36
RE: influxdb - by tigi - 27.10.2022, 14:16
RE: influxdb - by admin - 28.10.2022, 06:06
RE: influxdb - by tigi - 28.10.2022, 07:25
RE: influxdb - by sx3 - 23.12.2022, 10:06
RE: influxdb - by admin - 23.12.2022, 10:13
RE: influxdb - by DGrandes - 04.01.2024, 09:56
RE: influxdb - by admin - 04.01.2024, 12:01
RE: influxdb - by DGrandes - 04.01.2024, 13:11
RE: influxdb - by DGrandes - 12.01.2024, 12:08
RE: influxdb - by admin - 12.01.2024, 15:08
RE: influxdb - by DGrandes - 13.01.2024, 10:52
RE: influxdb - by admin - 13.01.2024, 11:02
RE: influxdb - by sck - 09.08.2024, 22:40
RE: influxdb - by admin - 12.08.2024, 07:10
RE: influxdb - by sck - 12.08.2024, 07:28
RE: influxdb - by admin - 12.08.2024, 07:38
RE: influxdb - by sck - 12.08.2024, 07:42
RE: influxdb - by admin - 12.08.2024, 08:26
RE: influxdb - by sck - 12.08.2024, 08:31
RE: influxdb - by admin - 12.08.2024, 08:49

Forum Jump: