5.5.10 Message

With the sat-nms software, all volatile data gets exchanged as a Message. A message may carry a parameter like a value read from a device or a setting for this device. Beside this, data type and range information about parameters are exchanged as messages as well.

Because of this there are several flavors of messages defined, based of a hierarchical model derived from object oriented programming. The diagram below shows the known variants of Message as they depend on each other. Data models with yellow background do not exist in reality, they are defined as 'abstract base classes' which define the common parameters of their siblings.

Messages

Messages are used either with the /api/v1/peek and /api/v1/poke API calls or with the subscription model over a websocket connection.

The core property of a Message is its message ID. The message ID describes, which parameter of which device connected to which M&C server is addressed with the information of the message. The general format of a message ID is:

{M&C-Name}.{Device-Name}.{Parameter-Name}[.R]

The message ID is composed of at least three words with dots in between. The first word describes the M&C server to which the device is connected which is addressed by the second word. The third word identifies one parameter of this device, this identifier again may contain dots, if the parameter in the device are organized in a tree-like structure. Finally, the character sequence .R may be appended to the ID. This marks the message containing the range information about the parameter instead of the actual parameter value. Example:

MNC-1.DEVICE-3.parameter

Data Model

Key Type Value
id String The message ID associated with this message.
type String The message type (see below).
time String Timestamp in format 'YYYY-MM-DDTHH:MM.SSZ' (UTC)

Defined Message Types

Token Data Type
VALUE A Parameter message.
RANGE A Range message.
SPECTRUM A SpectrumTrace message. This message may not be sent with a /api/v1/poke call, it is read-only from the front end's point of view.
EVENTLOG An EventLog message. This message may not be sent with a /api/v1/poke call, it is read-only from the front end's point of view.
FAULTLIST A FaultList message. This message may not be sent with a /api/v1/poke call, it is read-only from the front end's point of view.
PONG Echo reply (PONG is only an example, the front end may send any message type other than VALUE or RANGE, the backend will echo the message as it is received. )

Message IDs of Range messages always end with .R - this is the way the underlying sat-nms M&C software marks these messages.