X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=sensor_graph%2Fsample_sensor.lua;h=31cdfc3b2cbb49dfe2bbc57381cf0fff780d7e46;hb=8b8bab09ff860da5804edf220740564c28ba9827;hp=ad3550df961c052847fde5f99dc08471c672a146;hpb=514a0e3aa78b091b9a5ed6e8f1ca68d5cdad144a;p=svn42.git diff --git a/sensor_graph/sample_sensor.lua b/sensor_graph/sample_sensor.lua old mode 100644 new mode 100755 index ad3550d..31cdfc3 --- a/sensor_graph/sample_sensor.lua +++ b/sensor_graph/sample_sensor.lua @@ -1,59 +1,28 @@ +#!/usr/bin/lua require('os') require('string') - -last_temp = 0.0 -last_light = 0 -last_movement = 0 - -function save_values() - os.execute(string.format("rrdtool update /home/sensordata.rrd -t temp:light:movement N:%f:%d:%d", last_temp, last_light, last_movement)) - last_movement=0 -end - +require('io') function parse_value(str) - if string.find(str,"Temp C:") then - last_temp = tonumber(string.sub(str,8)) + last_temp = 0.0 + last_light = 0 + if string.find(str,"temp0: Temp C:") then + last_temp = tonumber(string.sub(str,15)) + os.execute(string.format("rrdtool update /home/sensortemp.rrd -t temp N:%f", last_temp)) --print(string.format("t: %f Grad Celsius",last_temp)) end - if string.find(str,"Photo:") then - last_light = tonumber(string.sub(str,7)) + if string.find(str,"photo0: Photo:") then + last_light = tonumber(string.sub(str,15)) + os.execute(string.format("rrdtool update /home/sensorlight.rrd -t light N:%d", last_light)) --print(string.format("p: %d",last_light)) end - if string.find(str,"movement") then - last_movement=1 - --print "something moved" - end - end - - - -local socket = require("socket") -local client = assert(socket.connect("127.0.0.1",2010)) ---socket.unix = require("socket.unix") ---local socket = assert(socket.unix()) ---local client = assert(socket:connect("/var/run/power_sensor.socket")) -client:settimeout(10) - - - - while 1 do - local line, err = client:receive() - if not err then - parse_value(line) - end - client:send("T") - line, err = client:receive() - if not err then - parse_value(line) - end - client:send("P") - line, err = client:receive() - if not err then - parse_value(line) - end - save_values() + local line = io.read("*line") + if line then + parse_value(line) + else + break + end end