PagerSend
SmsSend

value PagerSend ( value BYREF Result, string strMobileNumber, string strMessage, string strService = "" );
value SmsSend ( value BYREF Result, string strMobileNumber, string strMessage, string strService = ""  );

Rückgabewert

Rückgabewert

Beschreibung

>= 0

Die ID der Nachricht mit der diese in der Tabelle 'PagerJobs' der Systemdatenbank angelegt wurde.

-1

SMS-Nachricht konnte nicht entgegengenommen werden, da kein Empfänger strAccount bzw. eine leere Nachricht strMessage übergeben wurde.

Parameter

Result

Status des Sendevorgangs. Soll der Status des Sendevorgangs nicht ausgewertet werden, so kann hier eine Null übergeben werden.

Result

Beschreibung

2

Nachricht wartet in der Warteschlange auf den Versand

1

Versenden der Nachricht läuft

0

Nachricht wurde erfolgreich versandt

-1

Nachricht konnte nicht versandt werden

 

strMobileNumber

Der Empfängernummer (Handyrufnummer) der SMS-Nachricht.

strMessage

Die Nachricht die an den Empfänger übertragen werden soll. Die maximale Länge der Nachricht hängt vom verwendeten Dienst ab. Ist der Inhalt von strMessage länger als die max. Nachrichtenlänge des verwendeten Dienstes, so wird diese auf die max. Nachrichtenlänge verkürzt versendet.
Die Begrenzungen bzw. Bedeutung von
strMessage abhängig vom Pagerdienst:

bei strService gilt

max. Nachrichtenlänge

"D1-SMS"

230 Zeichen

"D2-SMS"

230 Zeichen

"EPlus-SMS"

230 Zeichen

"Cityruf"

80 Zeichen (Pagerdienst nicht mehr verfügbar)

"Skyper"

80 Zeichen (Pagerdienst nicht mehr verfügbar)

""

160 Zeichen (Nachricht wird über GSM-Modem versandt)

 

strService

Der SMS-Dienst der zum Versenden der Nachricht verwendet soll.

strService

Beschreibung

"D1-SMS"

Nachricht wird als SMS an Empfänger im D1-Netz versandt

"D2-SMS"

Nachricht wird als SMS an Empfänger im D2-Netz versandt

"EPlus-SMS"

Nachricht wird als SMS an Empfänger im e-plus-Netz versandt

"Cityruf"

Nachricht wird an Cityruf-Emfänger versandt
(Pagerdienst nicht mehr verfügbar)

"Skyper"

Nachricht wird an Skyper-Empfänger versandt
(Pagerdienst nicht mehr verfügbar)

""

Nachricht wird als SMS über GSM-Modem an Empfänger versandt

 

Bemerkung

Sendet die Nachricht strMessage an den Empfänger strMobileNumber über den gewählten SMS-Dienst strService.

Die CPL-Funktion SmsSend ermöglicht das Versenden von SMS-Nachrichten ausschließlich über ein verfügbares GSM-Modem. Wenn bei PagerSend kein Service angegeben wird, wird die Nachricht ebenfalls über ein GSM-Modem gesendet. Das Modem kann zum Beispiel ein USB-Surfstick sein, der über eine virtuelle COM-Schnittstelle (wie HUAWEI-E173 oder HUAWEI-E169) erreichbar ist oder ein COM-Schnittstellen GSM-Modem wie das Industriemodem "Siemens TC35i Terminal".

Da die Nachrichten asynchron übertragen werden, wird das Ergebnis des Sendevorgangs zeitverzögert an den Parameter Result übergeben.

Mit dem Aufruf von SmsSend/PagerSend wird die Nachricht mit allen Details in die Tabelle 'PagerJobs' eingetragen. Der eigentliche Versand der Nachricht erfolgt in einem eigenständigen Prozess. Dieser Parallelprozess überprüft die Tabelle 'PagerJobs' und versendet die eingetragenen Nachrichten an die entsprechenden Empfänger. Wenn das Versenden erfolgreich ist, löscht der Sendeprozess den Eintrag aus der Tabelle 'PagerJobs' und fügt ihn in die Tabelle 'PagerJobsDone' ein. Wenn das Versenden jedoch nicht erfolgreich ist, löscht der Sendeprozess den Eintrag aus der Tabelle 'PagerJobs' und fügt ihn in die Tabelle 'PagerJobsFailed' ein. Die Tabellen 'PagerJobsDone'/'PagerJobsFailed' enthalten jeweils maximal die letzten 100 versendeten Nachrichten. Mit dem Bauelement SQL-Tabelle kann die Visualisierung die Systemtabellen 'PagerJobs', 'PagerJobsDone' und 'PagerJobsFailed' darstellen.

Beispiele

Beispiel: Wenn die Variable bSendMessage einen Wechsel von 0 auf 1 aufweist, soll eine Nachricht abgesendet werden..

if (EdgeRaising(bSendMessage)) 
    SmsSend(SendResult, "01719999999", "Anlage überprüfen!");
end

 

Beispiel: Melder sollen automatisch eine SMS-Nachricht absenden, ohne dies jeweils in jedem Melder zu projektieren.

Hierzu wird die Ereignisfunktion _onReporterThrowsMessage aktiviert (Projektansicht: Meldeverarbeitung->Eigenschaften). In der Programmliste ist dann diese Funktion mit aufgeführt.


Die Funktion _onReporterThrowsMessage enthält folgende CPL-Anweisungen:

//_onReporterThrowsMessage (idRecord, ridAlarm, Status, idClass, strCategory, Time, Duration,
//                          strText1, strText2, strText3, strText4, strText5, strText6, strText7, strText8,
//                          Value1, Value2, Value3, Value4, Value5, Value6, Value7, Value8))
//
// idRecord    = Record number of this data record in the database
// ridAlarm    = Identification number of the reporter, which throws this message
// Status      = Status of this event
//               REPORT_Came, REPORT_CameConfirmed, REPORT_ConfirmCameTimeout
//               REPORT_Gone, REPORT_GoneConfirmed, REPORT_ConfirmGoneTimeout
// idClass     = Number of class/level (as defined by reporter at ridAlarm)
//               CLASS_Running, CLASS_Service, CLASS_Failure, CLASS_Danger, CLASS_Alarm
// strCategory = Name of category/group (as defined by reporter at ridAlarm)
// Time        = Timestamp of this event
// Duration    = If Status == REPORT_Came then 0.0 else how long this reporter was waiting for gone
// strText1... = Message (as defined by reporter at ridAlarm)
// Value1...   = Values  (as defined by reporter at ridAlarm)
//
//////////////////////////////////////////////////////////////////////
//nur Meldeklassen vom Typ Alarm auswerten 
if (idClass != CLASS_Alarm) 
    return; 
end
//nur Meldekategorien vom Typ Anlage auswerten 
if (strCategory != "Anlage") 
    return;
end 
//nur kommend-Meldungen auswerten 
if (Status != REPORT_Came)
  return; 
end 
//Text wie in Meldedatenbank an Handy senden
SmsSend (0,"01719999999", strText1);
 

Allgemeines zu den Pagerdiensten

Siehe auch PagerSetDevice, PagerCancelAllMessages, PagerGetDevice, PagerGetDeviceList, PagerGetPendingMessage, SmsGetOnErrorDelayTime, SmsGetSendMessageTimeout, SmsGetSignalStrength, SmsSetOnErrorDelayTime, SmsSetSendMessageTimeout