The following discussion covers the configuration changes required for TelAlert to control how messages are displayed on your signboard. See “Alternative Signboard Setup
(
DeviceSubtype=1
)” below for instructions on configuring TelAlert to let another application control message display.9.4.1 TelAlert-Controlled Signboard Message Display
When TelAlert controls a signboard, it automatically rotates among active messages, up to the number set by the
MaxTextFiles
keyword value. You can raise that setting from its default of ten messages, but keep in mind that if you raise it too high, messages can take a very long time to cycle, which will delay response.By default, once the number of active signboard messages reaches the value of
MaxTextFiles
, the next signboard message sent will be held until one of the active messages is acknowledged.Alternatively, you can have TelAlert drop older messages from the display to make room for newer ones, by setting
TextFilesFIFO
toTrue
. With that setting, TelAlert will display each message for at least two minutes before bumping it. You can adjust that minimum display time by changing theTextFilesFIFOMinDisplayTime
value. Note that FIFO drops messages only from thesignboard; they remain active in TelAlert, and expire or escalate just as they would have if they had not been bumped.
9.4.2 Signboard [Port] Definition
Complete the tasks described in “Initial Signboard Firmware Setup” before proceeding with the instructions in this section.
The [
Port
] definition tells TelAlert where to find and how to communicate with the signboard. All signboards that share a single serial port (either on the computer running telalerte or on a terminal server) share a single [Port
] definition.Here is a typical [
Port
] definition for a UNIX system with a signboard attached to its serial port:[Port]
The configuration for Windows is the same, except for the
dev=
value:{SignboardPort}
...
Dev=com2
A signboard connected to a terminal server does NOT have a
dev=
value. Instead, it includes the following keyword values:{SignboardPort}
NetDevice=True
DeviceHost=192.168.168.140
DeviceService=3001
Model—This keyword identifies the kind of device connected to the port and allows TelAlert to determine the kinds of notifications for which the port may be used. In [
Port
] definitions relating to signboards, it must be set toDevice
.Types—Not relevant to signboards. Where
Model=Device
,Types
must also beDevice
. DeviceSubtype—Set to2
if you want TelAlert to control message display; set to1
if you want TelAlert to let another application control message display.SoftwareParity—Not relevant to signboards. Leave blank or set at default value of
False
. Dev—The name of the physical port to which the signboard is connected.Speed—For signboards, must be set to
9600
.AlphaAddresses—A list of the serial addresses (discussed under “Initial Signboard Firmware Setup”
above) of daisy-chained signboards sharing this port, expressed as two-digit decimal numbers separated by commas: for example,
1-3
,11-13
,21-23
. For a single signboard, normally left blank or set at default value of1
. (This keyword is ignored whenDeviceSubtype=1
.)NetDevice—Set to its default value of
False
if the signboard is connected to serial port of the computer runningtelalerte
. Set toTrue
if the signboard is connected to a terminal server.DeviceHost—The IP address or network name of the terminal server to which the signboard is connected.
DeviceService—The number of the TCP port TelAlert is to use to communicate with the terminal server to which the signboard is connected.
9.4.3 Signboard [Configurations] Definition
Normally you will create only one [
Configurations
] definition for each signboard [Port
] definition. Multiple signboards that share the same [Port
] definition can share the same [Configurations
] definition by referencing it in individual [Destinations
] definitions.[Configurations]
...
{SignConfigST2}
Type=Device DeviceSubtype=2 Parity=Even Mailbox=Z Terminator=””
ServiceMaxMessageLength=960 MaxTextFiles=10
TextFilesFIFO=True
TextFilesFIFOMinDisplayTime=2m FailWait=2
TextFilesEmptyMessage= \x1B m \x1c3\x13
Type—With signboards, always set
Type=Device
(to match the setting in the [Port
] definition).DeviceSubtype—Must be set to match the setting in the [
Port
] definition.Parity—For signboards, must be set to
Even
.Mailbox—This keyword uniquely identifies the signboard with which this [
Configurations
] definition is associated.Mailbox
values are comprised of (1) a letter indicating type (one-line vs.two-line, for instance) and (2) a two-digit hexadecimal number (
01
toFF
) corresponding to the signboard’s serial address (discussed under “Initial Signboard Firmware Setup” above).Mailbox should normally be set to
Z
in the [Configurations
] definition. (TheZ
type will work with all models.) Set the serial address in the [Destinations
] definitions, and TelAlert will combine the type and serial address values when sending messages to the destinations. With this setup, you can also specify the serial address on the command line, for example:telalertc -c signconfigst2 -mailbox 02 -m "this is a test"
-ackwait 10m
Terminator—Not relevant to signboards. Leave blank.
ServiceMaxMessageLength—Not relevant to signboards. Leave blank or set at default value of
960
.MaxTextFiles—The maximum number of messages you want the signboard to be able to hold and cycle among. (This keyword is ignored when
DeviceSubtype=1
.)TextFilesFIFO—“First in, first out.” When this value is set to
False
, TelAlert will count as “failed”any message sent to the signboard when it is already holding the maximum number of active messages. When this value is set to
True
and a message is sent to a signboard already holding the maximum number of active messages, TelAlert will eliminate the oldest such message to make room for the new one. (This keyword is ignored whenDeviceSubtype=1
.)TextFilesFIFOMinDisplayTime—When
TextFilesFIFO=True
, the minimum amount of time TelAlert will display a message on the signboard. (This keyword is ignored whenDeviceSubtype=1
.)FailWait—Controls how many minutes TelAlert will wait before trying to send the message again after finding that the signboard is full. You should set this to a shorter length of time than that set by
TextFileFIFOMinDisplayTime
.TextFilesEmptyMessage—Controls what is displayed on a signboard controlled by TelAlert when there are no active messages. The default value (
\x1B b \x1C1\x13
) displays the current time.(This keyword is ignored when
DeviceSubtype=1
.)9.4.4 Signboard [Destinations] Definitions
Though it is not always necessary to create a [
Destinations
] definition for a signboard, doing so may offer certain advantages. For instance, the application with which you integrate TelAlert may be set up to begin all message-generating commands as if sending to a destination, that is, when using the-i
option. Creating a signboard [Destinations
] definition lets you avoid making an exception to this general procedure.The following definition assumes the
Mailbox
type has been set in the indicated configuration:[Destinations]
...
{Sign}
Configuration=SignConfigST2 Mailbox=01
Configuration—This keyword simply points to the [
Configurations
] definition you want TelAlert to use when processing alerts directed to this signboard.Mailbox—Set the signboard’s serial address here. If you have multiple signboards, this keyword will control which will display messages sent with this [
Destinations
] definition. See the discussion ofMailbox
in “Signboard [Configurations
] Definition,” above.9.4.5 Sending Messages to the Signboard
You can send messages to the signboard represented in the above example using either the –I or
–c
command line options:telalertc -i Sign -m "this is a test" -ackwait 10m
telalertc -c SignConfigST2 -mailbox 01 -m "this is a test"
-ackwait 10m
The
-ackwait
option is required, as it determines how long the message stays on the signboard. If you send a message with no–ackwait
value, it will not appear on the board, or will flash for just an instant.9.4.6 Controlling Signboard Text Color and Effects
The display effect and color of a TelAlert signboard message is determined by an 11-character string of signboard control codes, which as discussed below can be specified either in the signboard’s [
Destinations
] definition, or at the command line with-mi
.The control string’s format is:
\x1B0[mode]\x1C[color]
To create a usable signboard control string, replace [
mode
] and [color
] with codes from the following table:mode
code effect color
code color a slow continuous scroll 1 red
right to left
b no motion 2 gree
n
c flash 3 ambe
r e scroll up
f scroll down
g scroll right to center h scroll left to center i wipe up
j wipe down k wipe left l wipe right
m scroll up with pauses p split message and scroll in
from sides
q split message and scroll out from center
r split message and wipe in from sides
s split message and wipe out from center
Including Control Codes in a [
Destinations
] DefinitionYou can include signboard control codes in the
MessagePrefix
value in a [Destinations
] definition. With this approach, you can create a separate [Destinations
] definition for each combination of color and effects you wish to use. For example, if your signboard supports it you could create a destination for each color:[Destinations]
...
{SignRed}
MessagePrefix=’\x1B0a\x1C1’
...
{SignGreen}
MessagePrefix=’\x1B0a\x1C2’
...
{SignAmber}
MessagePrefix=’\x1B0a\x1C3’
...
Assuming the three definitions’ other settings were identical, with this setup you could make a message appear in the desired color by sending it to the matching destination.
Specifying Control Codes at the Command Line
Alternatively, you can specify signboard control codes at the command line. Note that you cannot do this with signboard destinations that have control codes specified in
MessagePrefix
; you must use destinations whereMessagePrefix
is blank.The first step is to create a [
Message
] definition that will insert the parts of the control string that are always the same. For example:[Message]
...
{Subtype2Msg}
Device=’\x1B0${Parm1}\x1C${Parm2}${Parm3}’
When you invoke that definition at the command line with
-mi
, TelAlert replaces${Parm1}
,${Parm2}
, and${Parm3}
with the mode code, color code, and message. In other words, the syntax is:telalertc -i Sign -mi Subtype2Msg mode_code color_code "message text"
So, for example, the following commands will display the same message in red, green, and amber, respectively:
telalertc -i Sign -mi Subtype2Msg a 1 "node 2042 down"
telalertc -i Sign -mi Subtype2Msg a 2 "node 2042 down"
telalertc -i Sign -mi Subtype2Msg a 3 "node 2042 down"
9.4.7 Configuring Multiple Signboards
If you have more than one signboard, you must program each with a separate
Mailbox
number (serial address), as discussed in “Initial Signboard Firmware Setup” above. You can then use those numbers to create a separate [Destinations
] definition for each signboard. For example:telalertc -i signboard1 -m "message for signboard 1"
-ackwait 10m
telalertc -i signboard2 -m "message for signboard 2"
-ackwait 10m
Alternatively, you can have the controlling application send messages to the appropriate signboard by using the -
mailbox
command-line option. For example:telalertc -c signboard -mailbox 01 -m "this is a test"
-ackwait 10m
TelAlert supports the wildcarding of numeric
Mailbox
values. For instance,??
points to allsignboards,
?1
points to those with addresses that end in “1,” and 1? points to those with addresses that start with “1.” You can use these wildcards to route a single message to multiple destinations.For example: