ORIX Device Messages

An ORIX Core sends three types of messages.
 * When it receives certain commands from a Device, it may reply by sending a Response back to just that Device. This may be a response to a query, confirmation that the command was successfully carried out, or an error indicating that the command was not carried out.
 * When certain events occur, a Core will llSay an Announcement message spontaneously to inform nearby Devices of the event (which is often a change in the robot's state).
 * A Core will send commands to certain types of Devices when instructed to do so, if it is aware of that Device's existence (via an *register: command).

All ORIX Device Messages are structured as in the following examples:

/rlvfolders:{"prefix":"/Outfits","folders":["Dress","Skirt","Slacks"]} /power:0
 * The first character is /, indicating an ORIX Core-to-Device message
 * Following that is the message name, such as "rlvfolders:", which MUST end in a colon.
 * Following that is one of the following:
 * A set of arguments specified in a JSON format, or
 * A single string argument, or
 * Nothing (if the command needs no arguments)

An ORIX Core sends these messages on channel -15180925, either using llRegionSayTo (for replies to a single Device's command) or llSay (to make information available to any nearby Device). ORIX devices may listen on this channel generally, to receive Announcement messages from any nearby ORIX Core (for example, a robot detector); they may listen to a specific Core (for example, an access panel listens only to the Core of the robot it is installed in); or they may listen only when sending a query so as to receive the Response.

If the Core does not provide the function that would generate a particular message, it need never send that message. However, if the function is supported it should announce the relevant events. It may also announce additional information not mentioned in this specification..

The Core should consider these messages to be informational only. It should not expect any reply to an Announcement or Response, nor should it draw any conclusion from a failure to receive one.

An ORIX Device should also consider these messages to be informational only. Therefore, it should silently ignore any message or component of a messages on channel -15180925 that it cannot act on, whether because it does not fit the structure of an ORIX message, is not recognized, has invalid arguments, or simply is not useful to the device. [show]==Universal ParametersEdit== Any of the following parameters may be used with any Device Message unless otherwise specified:

operator: If provided, specifies the key (UUID) of an individual to whom the message specifically applies.

Security

 * (asks the device to prove it was made by a trusted creator)

Responses

 * (response to )
 * (response to
 * (response to any command)
 * (response to )
 * (response to
 * (response to

Information

 * (after or, notifies the Device that its registration is gone)
 * (sent to a Device that has subscribed, to inform it of changes in the unit's restraints)
 * incorporates CCU V1 power, motion, speech, selfuse
 * (sent to a Device that has subscribed, to inform it of other changes in the unit's state)
 * incorporates CCU V1 setwidget, charging, setstatus
 * (probably junk?)
 * (probably junk?)
 * (sent to a device to which has been sent notifying it that the information provided is out of date)

Requests

 * (tells the Device another object wants to talk to it directly)
 * (verifies that the Device is still listening)
 * (tells the Device the Core wants it to detach itself)
 * (tells the Device the Core wants it to make itself detachable or not)
 * (tells the Device the Core wants it to provide debugging information)
 * (tells a subscribed Device that a specified type of action has occurred)
 * (tells a subscribed Device that the Core wants to change its charge level)
 * (tells a subscribed Device that the Core wants to change its charge level)


 * }