Logic Machine Forum
SMS not received - Printable Version

+- Logic Machine Forum (https://forum.logicmachine.net)
+-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1)
+--- Forum: Gateway (https://forum.logicmachine.net/forumdisplay.php?fid=10)
+--- Thread: SMS not received (/showthread.php?tid=5940)



SMS not received - andrepneves@gmail.com - 20.03.2025

Hi,

We are using a LogicMachine5 Reactor GSM to send SMS in case of alarm of some variables. The script uses a for to send the message to multiple numbers, with a delay between them. You can see the code below (I changed the phone numbers with generic ones for security purposes).

The problem is that not every SMS is received. What could be causing this? Is there any way to check if the SMS is received?

Thank you in advance,
André Neves

Code:
require('user.sms')
Nrs_Tlf={'123456789',
       '987654321',
     '147852369'}

tab = string.split(name, ">")

if value==1 then
    Alarme="Alarme:\n"..tab[2].."\n"..timestamp

elseif (value==2) then
   Alarme="Alarme Reconhecido:\n"..tab[2].."\n"..timestamp

elseif (value==3) then
   Alarme="Alarme Reposto:\n"..tab[2].."\n"..timestamp
end

if (value<4 and value>0) then
    for i = 1, 3, 1 do
      sendsms(Nrs_Tlf[i],Alarme)
      os.sleep(30)
    end
  log("SMS enviados")
else
  log("Out of bounds.")
end



RE: SMS not received - admin - 21.03.2025

See this post on how to add additional logging to the SMS script:
https://forum.logicmachine.net/showthread.php?tid=5403&pid=38043#pid38043


RE: SMS not received - andrepneves@gmail.com - 23.05.2025

Hello,

I've updated the scripts as indicated on the link from @admin but some users are still not receiveing the messages. It's not always the same user, it's random.

In the alerts, the SMS handler indicate that all messages are sent but not all are received. 

Please help, the client is using this LM to check high priority alarms and with this behavior is system simply isn't reliable.

Thanks in advance.

BR,
André Neves


RE: SMS not received - admin - 26.05.2025

Restart the SMS script after making changes to the library.


RE: SMS not received - andrepneves@gmail.com - 26.05.2025

Did a reboot to the LM. There are still some SMS that get lost in the process.


RE: SMS not received - admin - 26.05.2025

Check that you have replaced AT:read() in the library correctly. When done correctly it will log everything that the modem sends to LM.


RE: SMS not received - andrepneves@gmail.com - 26.05.2025

Chage AT:read with the version here https://forum.logicmachine.net/showthread.php?tid=5403&pid=38043#pid38043



when sending SMS the log looks like the 1st image.

In standby, it's always logging 'timeout' as shown in the second image


RE: SMS not received - admin - 26.05.2025

Update the function once more, it won't spam the log with empty messages.
Code:
function AT:read(timeout)
  local char, err, timeout, deftimeout, line

  -- default timeout is 2 seconds, converted to 0.1 sec ticks
  timeout = tonumber(timeout) or 2
  timeout = timeout * 10

  deftimeout = timeout

  -- read until got one line or timeout occured
  while timeout > 0 do
    -- read 1 char
    char, err = self.port:read(1, 0.1)

    -- got data
    if char then
      -- got LF, end of line
      if char == '\n' then
        -- convert to string and empty buffer
        line = table.concat(self.buffer)
        self.buffer = {}
        line = line:trim()

        -- return only lines with data
        if #line > 0 then
          log('read line', line)
          return line
        -- reset timeout
        else
          timeout = deftimeout
        end
      -- ignore CR
      elseif char ~= '\r' then
        table.insert(self.buffer, char)
      end
    -- read timeout
    elseif err == 'timeout' then
      timeout = timeout - 1
    -- other error
    else
      break
    end
  end

  line = table.concat(self.buffer)
  if #line > 0 then
    log('read timeout', line)
  end

  return nil, err
end

Post your logs when SMS does not reach the recipient.


RE: SMS not received - andrepneves@gmail.com - 26.05.2025

Users Nº1 and 4 didn't get the SMS. 

I think they'tre the ones with +CMS ERROR:665

Log in attach. 

Thank's for the quick reply


RE: SMS not received - admin - 26.05.2025

This error indicates poor network signal quality. Check this thread on how to monitor signal level: https://forum.logicmachine.net/showthread.php?tid=5369&pid=34692#pid34692