Publish Errors

This section provides an overview of how device / sensor errors are sent to the AWS Broker.

Broker Namespace Topic - Errors

All errors are sent to the error subtopic of a designated Buoy ID. This conveniently identifies the erroring buoy and allows the dashboard to interpret the data easily, translating it onto their interface.

$aws/<version#>/<buoy_id>/error/

For example (error for Buoy ID = 1, version 0 of this project):

$aws/0/1/error/

MQTT Packet Payload

The payload that will be published to the error topic is a JSON message. This message will include a timestamp key representing time of error and a variable number of other keys which will represent the error type. Each of these keys will be paired with an object value. This object contains two keys: code is an error identifier and message explains the error generally.

For example (Buoy with connectivity error):

{
    “timestamp”: 10032,
    “connectivity-error”: {
        code: 1,
        message: “bad connection”
    },
}

For example (Buoy with all the errors):

{
    “timestamp”: 10032,
    “fatal-error”: {
        code: 1,
        message: “arduino crashed”
    },
    “connectivity-error”: {
        code: 1,
        message: “bad connection”
    },
    “sensor-error”: {
        code: 1,
        message: “PH sensor values out of range”
    },
}

For specific error breakdown please refer to the relevant pages (under construction).