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"
}
}