diff options
Diffstat (limited to 'silence-watch.lua')
-rw-r--r-- | silence-watch.lua | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/silence-watch.lua b/silence-watch.lua index cc47437..d3c1b48 100644 --- a/silence-watch.lua +++ b/silence-watch.lua @@ -1,7 +1,7 @@ -- -- rhctl -- --- Copyright (C) 2009 Christian Pointner <equinox@spreadspace.org> +-- Copyright (C) 2009-2013 Christian Pointner <equinox@helsinki.at> -- -- This file is part of rhctl. -- @@ -23,7 +23,7 @@ socket = require("socket") function send_mail(address, subject, bodytext) local fp = assert(io.popen("/usr/sbin/mini_sendmail -smailrelay -fnoreply@helsinki.at " .. address, "w")) - + fp:write("Subject: " .. subject .. "\n") fp:write("To: " .. address .. "\n") fp:write("\n") @@ -36,35 +36,35 @@ current_state = nil function process_cmd(message) log.printf(log.DEBUG, "received message: '%s'", message) - + silence_state = string.match(message, "S0S,(%d)") if(silence_state and silence_state ~= current_state) then if(silence_state == "0") then log.printf(log.NOTICE, "seen some noise") - send_mail("silence@helsinki.at", "[RHCTL] sees some noise", - "There is some noise at output 1 of the audioswitch\nCurrent State is: " .. message) + send_mail("silence@helsinki.at", "[RHCTL] sees some noise", + "There is some noise at output 1 of the audioswitch\nCurrent State is: " .. message) else if (silence_state == "1") then log.printf(log.NOTICE, "silence detected") - send_mail("silence@helsinki.at", "[RHCTL] silence detected ", - "Silence detected at output 1 of the audioswitch, make some noise!!\nCurrent State is: " .. message) + send_mail("silence@helsinki.at", "[RHCTL] silence detected ", + "Silence detected at output 1 of the audioswitch, make some noise!!\nCurrent State is: " .. message) end end - current_state = silence_state + current_state = silence_state end - + return 0 end -function main_loop(opt) +function main_loop(opt) log.printf(log.NOTICE, "main_loop started") local sig = signal.init() local cmdfd = cmd.init() - + cmd.send_string("listen silence"); cmd.send_string("switch *0SS"); - + local return_value = 0 while return_value == 0 do local readable, _, err = socket.select({ sig , cmdfd }, nil) @@ -76,7 +76,7 @@ function main_loop(opt) if(input == sig) then return_value = signal.handle() if(return_value == 1) then break end - else + else if(input == cmdfd) then return_value = cmd.recv_data(process_cmd) if(return_value ~= 0) then break end @@ -89,7 +89,7 @@ function main_loop(opt) end end end - + signal.stop() return return_value end |