X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=sensor_graph%2Fsample_sensor.lua;h=bcd6ec382f5d135b7fc143c994ee0ecb68275b9d;hb=d715b3325c695a96bb34763e3d60b89e56496eb9;hp=ad3550df961c052847fde5f99dc08471c672a146;hpb=514a0e3aa78b091b9a5ed6e8f1ca68d5cdad144a;p=svn42.git diff --git a/sensor_graph/sample_sensor.lua b/sensor_graph/sample_sensor.lua index ad3550d..bcd6ec3 100644 --- a/sensor_graph/sample_sensor.lua +++ b/sensor_graph/sample_sensor.lua @@ -24,36 +24,42 @@ function parse_value(str) 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) + local client = 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")) + if client then + client:settimeout(30) + while 1 do + local line, err = client:receive() + if not err then + parse_value(line) + elseif err ~= "timeout" then + break + end + client:send("T") + line, err = client:receive() + if not err then + parse_value(line) + elseif err ~= "timeout" then + break + end + client:send("P") + line, err = client:receive() + if not err then + parse_value(line) + elseif err ~= "timeout" then + break + end + save_values() + end + client:shutdown("both") end - save_values() + socket.select(nil, nil, 10) end