Return Message Documentation

Return Messages

SatVUE uses messages to communicate between the SatVUE device and website. Messages can be sent to or from the SatVUE device, this documentation will focus on messages sent from the device, which are know as return messages.

The actual raw data is slightly different to what is decribed below, but SatVUE does some pre-processing of the messages to make the data easier to work with and manipulate.

To reduce the data usage, there are three return message types in SatVUE. Your SatVUE device will send the appropriate message type depending on the data that needs to be transmitted. If both port and modbus sampling is used then your device will send both a port and modbus message at its scheduled message sending time.

  • Single Sample Port Message: These are sent when a single sample of the port values are sent.
  • Multi-Sample Port Message: These are send when multiple samples of port values are sent.
  • Modbus Sample Message: These are send when either single or multiple samples of Modbus values are sent.

Message Processing

When a message is recevied by the SatVUE website, it is processed on a sample by sample basis. When each sample is processed a timestamp for that sample is calculated as well as all the device's fields that are defined. The exception to this is if your field has only once per message set, when this is set the field is only calculated on the last sample for that message.

The only once per message should be used on fields that not multi-sample, an example of this is the TerminalTemperature or SupplyVoltage field. This could also be used for other instances where you do not want the field calculated on every sample of a message.

The message_data array that exposed to the Lua engine as well as used internally in SatVUE provide access to the current sample's data. This array will include all the non-array elements in the message payload (e.g. includes SupplyVoltage but not ModbusSlaves fields). The array message fields contain multi-sample data, these are broken up into individual samples which are processed one by one, each with their own independant message_data array.

The message_data array is not a static array that is supplied to each field when calculating its value. As each device field is calculated it is added to this array, indexed by its name. This allows you access to all previously defined field values, and can reduce duplication of your algorithms when a particular value is required in multple calculations.

Single Sample Port Message

Name Type Size Description
UTCHour Unsigned Int 5 bits The Time (hour) the message was created, in UTC timezone.
UTCMinute Unsigned Int 6 bits The Time (minute) the message was created, in UTC timezone.
UTCSecond Unsigned Int 6 bits The Time (second) the message was created, in UTC timezone.
Port1Value Unsigned Int 12 or 31 bits The analog (milli-volts) or pulse count value of port 1.
Port2Value Unsigned Int 12 or 31 bits The analog (milli-volts) or pulse count value of port 2.
Port3Value Unsigned Int 12 or 31 bits The analog (milli-volts) or pulse count value of port 3.
Port4Value Unsigned Int 12 or 31 bits The analog (milli-volts) or pulse count value of port 4.
SupplyVoltage Unsigned Int 16 bits The supply/battery voltage of the SatVUE, in milli-volts.
TerminalTemperature Signed Int 10 bits The internal temperature of the SatVUE device, in °C.
SignalStrength Unsigned Int 10 bits The signal strength of the satillite to the SatVUE, in 10 * dbHz.
You must divide this value by 10 to get the dbHz value.

Multi-Sample Port Message

Name Type Size Description
UTCHour Unsigned Int 5 bits The Time (hour) the message was created, in UTC timezone.
UTCMinute Unsigned Int 6 bits The Time (minute) the message was created, in UTC timezone.
UTCSecond Unsigned Int 6 bits The Time (second) the message was created, in UTC timezone.
SampleInterval Unsigned Int 12 bits The interval between each sample in the PortValues array, in minutes
PortValues Array up to 1440
Elements
An array where each element is another array of values.
Each element in this sub-array contains, Port1, Port2, Port3, and Port4 fields as unsigned integers.
SupplyVoltage Unsigned Int 16 bits The supply/battery voltage of the SatVUE, in milli-volts.
TerminalTemperature Signed Int 10 bits The internal temperature of the SatVUE device, in °C.
SignalStrength Unsigned Int 10 bits The signal strength of the satillite to the SatVUE, in 10 * dbHz.
You must divide this value by 10 to get the dbHz value.

Modbus Sample Message

Name Type Size Description
UTCHour Unsigned Int 5 bits The Time (hour) the message was created, in UTC timezone.
UTCMinute Unsigned Int 6 bits The Time (minute) the message was created, in UTC timezone.
UTCSecond Unsigned Int 6 bits The Time (second) the message was created, in UTC timezone.
SampleInterval Unsigned Int 12 bits The interval between each sample in the PortValues array, in minutes
ModbusSlaves Array up to 1440
Elements
An array where each element is another array of values.
The elements in this sub-array is dependent on the Modbus configuration for this device.
Each of your defined registers will appear in this array and can be accessed using the defined registers name.
SupplyVoltage Unsigned Int 16 bits The supply/battery voltage of the SatVUE, in milli-volts.
TerminalTemperature Signed Int 10 bits The internal temperature of the SatVUE device, in °C.
SignalStrength Unsigned Int 10 bits The signal strength of the satillite to the SatVUE, in 10 * dbHz.
You must divide this value by 10 to get the dbHz value.