Skip to main content

MQTT Communication Protocol

1 Gateway → SEER

MQTT Topic: auralabsgw/##/data/##

1.1 Device Data

Fan Example:

{
"devEUI": "21ae6207-3ec5-440f-9913-02d098bf8fb2",
"deviceName": "Wallfan", // FloorAirBlower, VentilationFan or other string
"time": "2024-01-03T03:16:45.608527Z",
"data": {
"status": 1, // 0:Off, 1:On
"swing": 1, // 0: no swing, 1: swing
"value": 50, // 0-100, use one of the field (value or gear) only
"gear": 1 // int, use one of the field (value or gear) only
}
}

Thermostat Example:

{
"devEUI": "70b3d57ed0040a0b",
"deviceName": "Thermostat",
"time": "2023-03-24T15:30:00.000Z",
"data": {
"power": 1,
"setTemp": 22,
"currentTemp": 20.5,
"mode": 1,
"fanSpeed": 1,
"online": 1
}
}

7-inch Pad Data Example:

{
"devEUI": "some_ext_id",
"deviceName": "7InchPad",
"time": "2024-01-03T03:16:45.608527Z",
"data": {
"aiControl": true // or false
}
}

1.2 Device Command Log

{
"devEUI": "21ae6207-3ec5-440f-9913-02d098bf8fb2",
"deviceName": "VentilationFan", // FloorAirBlower, VentilationFan or other string
"time": "2024-01-03T03:16:45.608527Z",
"cmdLog": {
"command": "set.cmd",
"requester": "on-premises", // string
"status": 1, // 0:Off, 1:On
"swing": 1, // 0: no swing, 1: swing
"value": 50, // 0-100, use one of the field (value or gear) only
"gear": 1, // int, use one of the field (value or gear) only
"aiControl": true // or false
}
}

2 SEER → Gateway

MQTT Topic: auralabsseer/{{workspace id}}

Subscribed topic to receive data including people count and control commands.

Format:

{
"type": "string", // "data" || "rule" || "cmd"
"time": "Date", // send time
"payload": "any" // please refer to payload below
}

2.1 Command Payload Example

WALL_FAN through GW03:

{
"type": "cmd",
"time": "2024-01-17T08:09:18.243Z",
"payload": {
"id": "some-seer-device-id", // string
"extName": "test_devEUI", // string
"command": "set.cmd", // string
"requester": "system", // string, or user email
"description": "Set FAN_SPEED:0,POWER_ON:false", // string
"type": "WALL_FAN", // string, "FLOOR_BLOWER" or "EXHAUST_FAN"
"status": 1, // control field, power on or off
"swing": 1, // 0: no swing, 1: swing
"gear": 1,
"value": 50,
"aiControl": true // or false
}
}

DAKIN THERMOSTAT through GW03:

{
"type": "cmd",
"time": "2023-03-24T15:30:00.000Z",
"payload": {
"extName": "70b3d57ed0040a0b",
"power": 1,
"setTemp": 22,
"currentTemp": 20.5,
"mode": 1,
"fanSpeed": 1
}
}

In the payload, the target control field names (status, gear, value) are the same as the device fields used when pushing to platform.

2.2 Rules Payload Example

{
"type": "rule",
"time": "2024-01-17T08:09:18.243Z",
"payload": [
{ "field": "online", "operator": "=", "value": "true", "deviceType": null, "triggerState": 1, "targetState": 0 },
{ "field": "online", "operator": "=", "value": "false", "deviceType": null, "triggerState": 0, "targetState": 1 },
{ "field": "H2S_PPM", "operator": "<=", "value": "6.175", "deviceType": null, "triggerState": 1, "targetState": 0 },
{ "field": "H2S_PPM", "operator": ">", "value": "6.5", "deviceType": null, "triggerState": 0, "targetState": 1 },
{ "field": "NH3_PPM", "operator": "<=", "value": "0.057", "deviceType": null, "triggerState": 1, "targetState": 0 },
{ "field": "TVOC_UGM3", "operator": ">", "value": "0.5", "deviceType": null, "triggerState": 0, "targetState": 1 },
{ "field": "CO2_PPM", "operator": "<=", "value": "950", "deviceType": null, "triggerState": 1, "targetState": 0 },
{ "field": "NH3_PPM", "operator": ">", "value": "0.06", "deviceType": null, "triggerState": 0, "targetState": 1 },
{ "field": "CO2_PPM", "operator": ">", "value": "1000", "deviceType": null, "triggerState": 0, "targetState": 1 },
{ "field": "HUMIDITY", "operator": ">=", "value": "50", "deviceType": null, "triggerState": 0, "targetState": 1 },
{ "field": "HUMIDITY", "operator": "<=", "value": "47.5", "deviceType": null, "triggerState": 1, "targetState": 0 }
]
}

2.3 Data Payload Example

People count whenever people count are updated:

{
"type": "data",
"time": "2024-01-17T08:09:18.243Z",
"payload": {
"extName": "test_devEUI",
"id": "some-seer-device-id",
"type": "PEOPLE_FLOW",
"peopleFlowToday": 734,
"peopleFlowYesterday": 1244,
"peopleFlowCurMonth": 12345,
"peopleFlowTotal": 21321,
"workspace": "5dd78515-0d24-4100-9a57-12dbf7d0ad31",
"time": "2024-01-17T08:09:18.243Z",
"category": "peopleFlow"
}
}