Actions

Difference between revisions of "External Data Input"

From Zenitel Wiki

(Additional information)
(Example)
Line 40: Line 40:
  
 
== Example ==
 
== Example ==
 +
When receiving the test "Start alarm 3", terminated by Line Feed character, play alarm message 3 (8193) to group 85:
  
[[Image:EDI - External Data Input (3).jpg|thumb|right|500px]]
 
  
The rule below  will allow you to issue commands to EDI port like this: 
 
* Input command on EDI serial port: '''connect,101,103'''
 
:- Generates internal command '''$CALL L101 L103'''
 
 
*Input command on EDI serial port: '''disconnect,101,103'''
 
:- Generates internal commands '''$C L101'''
 
 
tmp 0 "%scutf(%edi,\,,0)"
 
tmp 1 "%scutf(%edi,\,,1)"
 
tmp 2 "%scutf(%edi,\,,2)"
 
if %scmp(%tmp(0),connect)
 
  $CALL L%tmp(1) L%tmp(2)
 
  stop
 
endif
 
if %scmp(%tmp(0),disconnect)
 
  $C L%tmp(1)
 
endif
 
  
 
[[Category:Event Handler]]
 
[[Category:Event Handler]]
 
[[Category:Event types]]
 
[[Category:Event types]]

Revision as of 12:59, 11 October 2019

AI.png

The EDI ports are defined in AlphaPro: Exchange & System -> Serial Ports.

  • The input message must have a termination character
  • Maximum 128 characters. If longer strings, the first 128 characters will be returned, the rest will be ignored.
  • Parsing the content is done in the action string in the Event Handler

Event description

Event Owner: EDI Text Config
Event type: 28 - External Data Input
Subevent: 1 – 10: specifies which EDI port
0: matches all ports
When change to ON: When valid data is received on EDI port
When change to OFF: N/A
When related to: N/A


Additional information

  • Context parameters
- %edi is the input text where termination character is excluded
- %sev is the EDI port (sub-event)
  • Useful macros and statements
  • %scutc - Extract substring by byte (character) position
  • %scutf - Extract field, fields defined by delimiter character
  • %sscan - Scan for string, extract rest of string after first match
  • %scmp - Compare strings
  • TMP - Set temporary variable
  • %tmp - Read temporary variable
Note icon The NUL character (ASCII 0x00) cannot be used in the EDI string. The processing of the string will be terminated when receiving NUL.


Example

When receiving the test "Start alarm 3", terminated by Line Feed character, play alarm message 3 (8193) to group 85: