SMS-Versand von SPS via E-Mail

RrBd

Level-1
Beiträge
97
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Da immer wieder mal die Frage auftaucht, wie man zweckmäßig SMS-Störmeldungen von einer SPS aus absetzen kann, hier eine von mir für Phoenix ILC 1x1 realisierte Lösung mit „Email to SMS!


Mein Standard-Problem: Nachricht soll an Heizungsfirmen etc. gehen, tagsüber Annahme am Zentralen-Telefon (daher bei Besetzt Wiederholung notwendig), außerhalb der Dienstzeit Rufweiterleitung dort an reihum wechselnde Bereitschaftsmoneurs-Handies, die dann auf die Meldung hin tätig werden sollen.


Einrichtung des Probeaccounts beim Email-to-SMS-Anbieter GTC TeleCommunication GmbH war einfach, wenn ich auch nicht gleich verstanden hatte, wie es geht. Um eine SMS-Benachrichtigung auszulösen muss der Mail-Body in vorgegebener Syntax Informationen zum Useraccount, Passwort, Ziel-Handynummer, Rückmeldungsverfahren (Auswahl beispeiesweise „nur bei erfolgloser SMS“ oder „Immer“?), Ziel-Emailaccount etc. enthalten. Da einige Linefeeds im Mailbody zwingend erforderlich sind wird der Mailbody-String mit etlichen CONCAT-Befehlen zusammengestrickt.
Für den E-Mail-Versand benutze ich den OSCAT-SMTP_CLIENT, den ich etwas „handlicher“ als den aus der Phoenix-IT-Library finde.

Das funktonierte auf Anhieb, allerdings belegen die „Formalien“ im Mail-Body bereits 168 Zeichen, so das für die eigentliche Information im Mail-Body (oscat_STRING_250) nur noch ca. 80 Bytes übrig blieben - das ist dürftig. Außerdem funktionierte SMS-Vorlesen am Festnetzanschluss nicht.

Innerhalb weniger Stunden hatte GTC meinen Account so umgeroutet, dass SMS-Vorlesen nun funktionierte, und für das Platz-Problem den Rat, das-Mail-Subject für den eigentlichen SMS-Text zu nutzen. Bringt im konkreten Fall allerdings keine Verbesserung, da der Oscat - SMTP_CLIENT als Summary 80-Zeichen-Strings verwendet. Zwar kann man an den Eingang des Bausteins auch oscat_STRING_250 „anschließen“, um Problemen während der Laufzeit vorzubeugen habe ich lieber einen passenden SMTP_CLIENT2 gebastelt. Verfahren: Oscat-Library pcworx_network_130.mwt in PCWORX geöffnet, SMTP_CLIENT als POE in die Task kopiert, dort die lokale Ausgangs-Variable „SUBJECT“ von „String“ auf „oscat_STRING160“ geändert – fertig!

Damit funktionierte der Versand einwandfrei. Kleiner Schönheitsfehler derzeit noch: gebe ich als Ziel-Telefonnummer einen Festnetzanschluss an, wird die SMS auch bei Sofort-Weiterleitung (in Fritzbox als Telefonanlage) auf ein Handy dem Handynutzer vorgelesen. Ich werde weiter forschen, ob das so machbar ist, dass auf einem Handy tatsächlich ein SMS-Text ankommt, das ist irgendwie praktischer, als wenn man in der Fußgängerzone ohne Schreibzeug so einen Nachrichten-Text auswendig lernen muss.

Nach diesen Tests hat mir GTC freundlicher Weise einen zweiten Test-SMS „gestiftet“, mit dem ich den Versand von einer SAIA PCD3 aus getestet habe. Auf die Spitzen Klammern in der Syntax für „SMS-Text im Mail-body“:
Code:
username=123456
password=987654321
text=<“Text der SMS“>
sms=Zielhandynummer
confirmation=off
confirmationaddress=Ihre@Mailadresse.de

reagierte die Programmierumgebung PG5 mit Fehlermeldung, ob das per Codierung funktionieren würde habe ich nicht überprüft, stattdessen SMS-Text in den Betreff verlagert, den
ich dafür vom Default 80 Zeichen auf 160 Zeichen „aufbohrte".
Damit kann ich nun gut arbeiten.
 
Zuletzt bearbeitet:
Hallo RrBd,

dein Lösungsansatz höhrt sich wirklich interressant an, besonders dann wenn man hier auf einen kostenlosen Dienstanbieter (z.B. : http://www.teltarif.de/internet/free-sms.html) zurückgreifen kann.

Hier noch ein kleiner Tip:
Wenn Du SMS direkt an ein Mobiltelefon senden willst, kannst Du so etwas auch mit unserer Kleinsteuerung ILC 151 GSM/GPRS realisieren. Hier steht Dir unter PC Worx der Baustein SMS_SEND zur Verfügung.

Mit freundlichen Grüßen
Michael Bächle
 
Zuviel Werbung?
-> Hier kostenlos registrieren
dein Lösungsansatz hört sich wirklich interressant an

Hallo,
Sinnhaftigkeit der Lösung hängt wie gewohnt vom Umfeld ab, bei mir senden eh alle SPS schon Emails als Störmeldung über das WWW, da liegt nahe, "irgendwie" aus einer Email eine SMS zu machen. Bei einem Regenrückhaltebecken irgendwo in der Pampa oder anderen Umständen kann wieder GSM/GPRSdie einfachste Lösung sein.
Bisher habe ich nur Erfahrung von "Laborversuchen", ich werde in ein paar Wochen dann die praktischen Erfahrungen mit dem System hier zur Diskussion stellen.

Gruß

Rainer Bielefeld
 
Hallo, hier nun nach ein paar Wochen Betrieb ein erster Erfahrungsbericht!

Der Email-to-SMS Versand von der SPS auf Handys funktioniert prima, zuverlässig ist spätestens nach wenigen Minuten die Meldung auf dem Handy, und über Statusmeldungen, die in der Regel nach wenigen Minuten bei mir auflaufen, sehe ich den Erfolg der Benachrichtigung - empfehlenswert!

Schlechter sieht es beim Versand von SMS auf Festnetzanschlüsse aus, die über einen "Vorlesedienst" laufen. Mit etwas Glück erfolgt auch hier die Benachrichtigung innerhalb weniger Minuten, die Aussprache ist auch bei Zahlenangaben gut verständlich, lediglich ungewöhnliche Eigennamen (Przybilla GmbH, Dzialosinsky KG) führen zu gewöhnungsbedürftigen Ansagen. Leider ist die Zuverlässigkeit der rechtzeitigen Meldung schlecht. Die längste von mir selbst beobachtete Verzögerung zwischen Email-Versand und Anruf auf dem Festnetz lag bei gut 36 Stunden, das ist unbrauchbar. Zudem wird es Kundendienstmonteure nicht freuen, wenn Sie wegen einer Störung von vorgestern noch ein paar mal Nachts 'rausgeklingelt werden. Die vorgelesene Meldung enthält zwar auch einen Hinweis auf Uhrzeit und Datum des Email-Versands, aber ist der Angabe zu trauen, und bekommt der schlaftrunkene Monteur das mit?

Ich bin allerdings gar nicht sicher, ob die Zustellung überhaupt während der Nacht erfolgt, laut http://www.sms-im-festnetz.de/sms/index.php?id=32 wird nur von 7:00 bis 22:00 zugestellt. Für wichtige Störmeldungen (Wasserrohrbruch ...) muss aber eine Rund-um-die-Uhr-Zustellung gewährleistet sein.

Der bei GTC gebuchte Dienst läuft nach meiner Recherche über den "Any Way" Service der Firma "MATERNA GmbH Information & Communications", die für das vorlesen wiederum Dienste der "mr.next id GmbH" in Anspruch nimmt; die Verzögerung scheint durch Überlastung bei letztgenanntem Dienstleister verursacht zu werden.

Ich werde heute diesen Dienst bis zur Klärung wieder deaktivieren und mit den Anbietern Lösungen diskutieren. Vielleicht gibt es ja einen Premiumdienst mit 24/7 Zustellung und bevorzugter Abwicklung mit garantierter Zustellzeit?

Gibt es andere Erfahrung mit SMS-Vorlesediensten (nutzbar beispielsweise auch von SPS mit GSM-Modem) oder anderen Lösungen, einen Anruf mit Störmeldung auf ein Festnetztelefon zu erzeugen?

Gruß

Rainer Bielefeld
 
Wegen der o.g. Probleme habe ich nun eine Weile den Dienst Any-SMS der Firma mes.mo getestet. Zunächst gab es nur ein Gateway, das nur text/plain E-Mails akzeptierte, so dass ich mir für Phoenix-ILC aus dem OSCAT-SMTP_CLIENT etwas passendes zurecht basteln musste. Während meiner Tests wurde zusätzlich ein Gateway für Multipart-Messages freigeschaltet, für das ich nun auch den normalen OSCAT SMTP_CLIENT für die "Einlieferung" benutzen kann. Das alles funktioniert sowohl für SMS als auch für "vorgelesene" SMS auf Festnetzanschlüsse sehr schnell und zuverlässig, stets erfolgte auch der Anruf auf den Festnetzanschluss innerhalb von weniger als 1 Minute nach dem E-Mail-Versand. Die Sprachqualität ist allerdings (zumindest für meine Texte) etwas schlechter als bei der GTC-Lösung.

Damit ist das Problem für Phoenix ILC für mich gut gelöst, damit habe ich gleich auch einen Preislich akzeptablen "Telefonwähler" für Störmeldungen aus dem Internet.

Leider bin ich aber immer noch nicht ganz am Ziel. Das mesmo-Gateway ist extrem pingelig und sortiert Emails, die ich von SAIA-PCD zur SMS-Generierung schicke, aus. mes.mo benutzt für die Extrahierung der SMS-Informationen eine Fremdsftware, so dass die mir bisher nicht einmal genau sagen können, woran es denn hakt. Allerdings würde mir das Wissen wohl auch nichts nutzen, da ich für SAIA keine Möglichkeit habe, Funktionsbausteine anzupassen.

Gruß

Rainer
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und nun ist die Lösung über mes.mo any-sms auch für SAIA PG5.2 tauglich -die Leute packte noch einmal der Ehrgeiz.

Der Weg dahin war etwas steinig:
  • Da Emails direkt von der SAIA PCD nicht verarbeitet werden konnten, plante ich für das konkrete Projekt, den Mailversand über eine Phoenix ILC 151 zu erledigen, Datenaustausch PCD-> ILC (Stör-Flags) via MODBUS-TCP. Mangels Erfahrung zunächst mit 2 Phoenix ILC probiert, ging. Schnell Funktionsbausteine in SAIA-Programm passig eingesetzt - Hoppla, MODBUS-Bibliothek ist kostenpflichtig, war mir zu teuer.
  • Also Plan B, ILC liest via OSCAT SPIDER_ACCESS auf der PCD mit und erfährt so, wann Stör-Emails abgesetzt werden sollen. Lief nach langer Vorbereitungszeit mit einem leicht angepassten SPIDER_ACCESS gleich beim ersten Versuch.
    Habe das dann so für die Anlage verwendet.
  • Und dann das Angebot, eine SAIA -> any-sms Lösung auszutüfteln, siehe oben. :)
 
Zurück
Oben