Command: *announce:

Command: *announce:
Until and unless an announce: command is received, the Core should NOT normally notify the unit of any communications with a Device unless the unit specifically asks (for example, by running a check for connections). An ORIX device may send this command to ask the Core to make its presence known to the unit, with or without calling attention to it. All parameters are optional, but type and/or method may be required by some Cores.

It is acceptable for a Core to require some or all devices to have sent before sending. A device that intends to both register and have itself announced should send first.

Important: If a device sends an *announce: command, it must also send a *goodbye: command if at all possible when it ends its interest in or disconnects from the Core. However, the Core should not rely on this, as the device may not have the opportunity (e.g. if its script is reset).

Usable in: Commands only

Parameters

 * name
 * A short name for the device that the Core may (but need not) present to the unit.


 * type
 * Specifies a generic device type that the Core may (but need not) inform the unit of, and may (but need not) take other actions based on. For example, it may use this device type to override a specified icon, sound, or alert.
 * method
 * See Universal Parameters, but most Cores will require it for this command, so it is best to include it.
 * See Universal Parameters, but most Cores will require it for this command, so it is best to include it.


 * icon
 * Specifies the key of a small (16x16 or 32x32 recommended) texture that the Core may (but need not) use as an icon to indicate the presence of the device to the unit. The texture should be exclusively white on transparent, as the Core may display it in a color of its choice, and designed to be displayed in a 2:1 aspect ratio (horizontally). In order to ensure that the icons will look good together, it is recommended that all such icons be surrounded by a one-pixel-wide white square, with a one-pixel-wide transparent square inside that.


 * sound
 * Specifies the key of a sound that the Core may (but need not) play to alert the unit to the connection.


 * alert
 * If 1, notifies the Core that the unit should be actively alerted that the device has connected. If 0, the Core may passively notify the unit of the connection but should NOT call attention to the connection. If unspecified, the Core may decide how to handle it.

Expected Action by Core
Upon receiving this message, the Core should notify the unit that the device has contacted it. The device may determine how obvious its connection is. If  then the notification should be passive and subtle, such as an icon added to a HUD. If  then the notification should typically be more active and noticeable (such as a sound being played or a message with llOwnerSay), although in some cases this may be inappropriate (if, for example, the unit is shut down or otherwise unable to notice events that it normally would notice).

Although the Device is expected to send *goodbye: when disconnecting, the Core should check periodically (e.g. with *ping:) to verify that the Device is still present and responding as the Device may not be able to send the *goodbye: message.

Response(s) Expected
None.

Examples
*announce:{"name":"ACS Remote Control","alert":1} *announce:

Typical usage
This command is used by a device that makes an ongoing connection to a Core, such as a Remote Control or Access Panel, to let the Core and its unit know that it is connected.

Implementation Details: ACS
Minimum Level: None

Other constraints: None