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.

How to control the KNX bus via SMS and send notices via SMS?
#43
1. Modify the user library send function so it returns the command reply/result:
Code:
-- send command to terminal function AT:send(cmd)   local res, err = self.port:write(cmd .. '\r\n')   local reply   -- write ok, get local echo   if res then     res, err = self:readuntil(cmd)     reply = self:read()   end   return res, err, reply end

2. Add before handler = function(sms) in the resident script:
Code:
readcsq = function()     local res, err, reply = modem:send('AT+CSQ')     local rssi     if reply then       rssi = reply:match('%+CSQ:%s+(%d+),(%d+)')     end     rssi = tonumber(rssi) or 0     if 2 <= rssi and rssi <= 9 then       quality = 'marginal'     elseif 10 <= rssi and rssi <= 14 then       quality = 'ok'     elseif 15 <= rssi and rssi <= 19 then       quality = 'good'     elseif 20 <= rssi and rssi <= 30 then       quality = 'excellent'     else       quality = 'unknown'     end   end   csqtime = os.time()

3. Add before udphandler(server) in the resident script:
Code:
now = os.time()     delta = math.abs(now - csqtime)     if delta >= 15 then       csqtime = now       readcsq()     end

This will read the signal quality every 15 seconds and will set global variable quality that you can use in the SMS reply message.
Reply


Messages In This Thread
RE: How to control the KNX bus via SMS and send notices via SMS? - by admin - 05.01.2023, 13:16

Forum Jump: