设备数据格式

不同设备类型的数据格式

设备数据通过 Topic inteagle/{customerId}/p/{projectId}/d/{deviceId} 推送。

通用消息结构

所有 MQTT 消息采用统一的包装结构:

{
  "type": "telemetry | 3A | event | image | attributes",
  "ts": 1735560000000,
  "payload": {
    ...
  }
}
字段类型说明
typeString消息类型
tsLongUnix 毫秒时间戳
payloadObject具体数据内容

开发者可以统一解析:

const { type, ts, payload } = message;
switch(type) {
  case 'telemetry': handleTelemetry(payload); break;
  case '3A':        handleAlarm(payload); break;
  case 'event':     handleEvent(payload); break;
  case 'image':     handleImage(payload); break;
  case 'attributes': handleAttributes(payload); break;
}

消息类型

type说明payload 内容
telemetry遥测数据位移、环境、状态
3A告警告警详情
event事件事件类型和数据
image图像图片 URL 和元数据
attributes属性变更变更的属性

告警消息 (3A)

{
  "type": "3A",
  "ts": 1735560000000,
  "payload": {
    "id": "alm_20251230_001",
    "alarmType": "LOW_BATTERY",
    "severity": "alarm",
    "status": "ACTIVE_UNACK",
    "originator": {
      "entityType": "DEVICE",
      "id": "dev_001"
    },
    "detail": {
      "metric": "pwr.battery",
      "value": 3.2,
      "threshold": 3.5,
      "message": "电池电压低"
    }
  }
}

payload 字段说明

字段类型必填说明
idString告警唯一标识
alarmTypeString告警类型(见数据字典)
severityString告警级别
statusString告警状态
originator.entityTypeString实体类型:DEVICEPOINT
originator.idString实体 ID
detail.metricString触发告警的指标
detail.valueNumber触发时的实际值
detail.thresholdNumber阈值
detail.messageString告警描述

告警级别 (severity)

说明
ALERT预警
ALARM报警
ACTION紧急

告警状态 (status)

说明
ACTIVE_UNACK触发未确认
ACTIVE_ACK触发已确认
CLEARED_UNACK恢复未确认
CLEARED_ACK恢复已确认

事件消息 (event)

事件分为通用事件(所有设备)和设备事件(取决于设备能力)。

{
  "type": "event",
  "ts": 1735560000000,
  "payload": {
    "deviceId": "dev_001",
    "eventType": "DEVICE_ONLINE",
    "data": {}
  }
}

payload 字段说明

字段类型说明
deviceIdString设备 ID
eventTypeString事件类型
dataObject事件相关数据

通用事件类型

eventType说明
DEVICE_ONLINE设备上线
DEVICE_OFFLINE设备离线

设备特有事件参见各设备文档。

属性变更消息 (attributes)

{
  "type": "attributes",
  "ts": 1735560000000,
  "payload": {
    "deviceId": "dev_001",
    "data": {
      "firmwareVersion": "2.1.0"
    }
  }
}