Difference between revisions of "Connectivity/Agent Communication Protocol in MQTT"
From ESS-WIKI
Eric.liang (talk | contribs) (→Send or Auto Update Device's Capability) |
Eric.liang (talk | contribs) (→EventNotify) |
||
| (31 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
| − | =Overview= | + | = Overview = |
| + | |||
:Introduction for "WISEAgent communication protocol". WISEAgent communication protocol is base on standard MQTT protocol. We also define Advantech IoT Topic and message in JSON format. Follow standard to design our [[http://ess-wiki.advantech.com.tw/view/IoTGateway/SDK/WirelessSensorNetworkSDK|Advantech Sensor Format in JSON ]] | :Introduction for "WISEAgent communication protocol". WISEAgent communication protocol is base on standard MQTT protocol. We also define Advantech IoT Topic and message in JSON format. Follow standard to design our [[http://ess-wiki.advantech.com.tw/view/IoTGateway/SDK/WirelessSensorNetworkSDK|Advantech Sensor Format in JSON ]] | ||
| − | =Protocol= | + | = Protocol = |
| − | ==Connect== | + | |
| − | *Description: Agent Client sends the "Connect Info" to Server for on-line notification. | + | == Connect == |
| + | |||
| + | *Description: Agent Client sends the "Connect Info" to RMM Server for on-line notification. | ||
*Type: Info | *Type: Info | ||
*Direction: Agent -> Server | *Direction: Agent -> Server | ||
| − | *Topic: /cagent/admin/ | + | *Topic: /cagent/admin/<devID>/agentinfoack |
*QoS: 2 | *QoS: 2 | ||
*Retained: 0 | *Retained: 0 | ||
*Payload: | *Payload: | ||
| + | |||
{ | { | ||
"susiCommData": { | "susiCommData": { | ||
| Line 30: | Line 34: | ||
} | } | ||
| − | ==Disconnect== | + | == Disconnect == |
| + | |||
*Description: Agent Client sends the "Disconnect Info" to Server for off-line notification. | *Description: Agent Client sends the "Disconnect Info" to Server for off-line notification. | ||
*Type: Info | *Type: Info | ||
*Direction: Agent -> Server | *Direction: Agent -> Server | ||
| − | *Topic: /cagent/admin/ | + | *Topic: /cagent/admin/<devID>/agentinfoack |
*QoS: 2 | *QoS: 2 | ||
*Retained: 0 | *Retained: 0 | ||
*Payload: | *Payload: | ||
| + | |||
{ | { | ||
"susiCommData": { | "susiCommData": { | ||
| Line 57: | Line 63: | ||
} | } | ||
| − | == | + | == Will Message == |
| + | |||
| + | *Description: While Client lost connection or keep-alive timeout, the will message will send to the client that subscribe the topic | ||
| + | *Type: Info | ||
| + | *Direction: Agent -> Broker | ||
| + | *Topic: /cagent/admin/devId/willmessage | ||
| + | *QoS: 0 | ||
| + | *Retained: 0 | ||
| + | *Payload: | ||
| + | |||
| + | { | ||
| + | "susiCommData": { | ||
| + | "devID": "000014DAE996BE04", | ||
| + | "hostname": "PC001104", | ||
| + | "sn": "14DAE996BE04", | ||
| + | "mac": "14DAE996BE04", | ||
| + | "version": "1.0.0.0", | ||
| + | "type": "IPC", | ||
| + | "product": "", | ||
| + | "manufacture": "", | ||
| + | "account": "anonymous", | ||
| + | "password": "", | ||
| + | "status": 0, | ||
| + | "commCmd": 1, | ||
| + | "requestID": 21, | ||
| + | "agentID": "000014DAE996BE04", | ||
| + | "handlerName": "general", | ||
| + | "sendTS": 1423536737 | ||
| + | } | ||
| + | } | ||
| + | |||
| + | == OS Info == | ||
| + | |||
| + | *Description: Agent Client sends the OS Info" to RMM Server for device OS information. | ||
| + | *Type: Info | ||
| + | *Direction: Agent -> Server | ||
| + | *Topic: /cagent/admin/<devID>/agentactionreq | ||
| + | *QoS: 0 | ||
| + | *Retained: 0 | ||
| + | *Payload: | ||
| + | <pre>{ | ||
| + | "susiCommData":{ | ||
| + | "osInfo": | ||
| + | { | ||
| + | "cagentVersion":"3.1.23", | ||
| + | "cagentType":"IoTGW", | ||
| + | "osVersion":"SnailOS", | ||
| + | "biosVersion":"", | ||
| + | "platformName":"", | ||
| + | "processorName":"SnailGW", | ||
| + | "osArch":"SnailX86", | ||
| + | "totalPhysMemKB":123, | ||
| + | "macs":"000E40ABCDEF", | ||
| + | "IP":"192.168.0.100" | ||
| + | }, | ||
| + | "commCmd":116, | ||
| + | "requestID":109, | ||
| + | "agentID":"0000000E40ABCDEF", | ||
| + | "handlerName":"general", | ||
| + | "sendTS":1466730390 | ||
| + | } | ||
| + | }</pre> | ||
| + | |||
| + | |||
| + | |||
| + | == Info or Update Device's Capability == | ||
| + | |||
*Description: Agent will send it's capability to Server for description all resource. | *Description: Agent will send it's capability to Server for description all resource. | ||
*Type: Auto update | *Type: Auto update | ||
*Direction: Agent-> Server | *Direction: Agent-> Server | ||
| − | *Topic: /cagent/admin/ | + | *Topic: /cagent/admin/<devID>/agentactionreq |
*QoS: 0 | *QoS: 0 | ||
*Retained: 0 | *Retained: 0 | ||
| − | *Payload: | + | *Payload: |
| + | |||
| + | Example: SenHub's Capability | ||
| + | |||
{ | { | ||
"susiCommData":{ | "susiCommData":{ | ||
| Line 97: | Line 172: | ||
} | } | ||
| − | ==Auto Update Sensor Data Value== | + | == Eable Auto Update == |
| − | + | ||
| − | + | *Description: Server can send start auto report command to Agent | |
| − | + | *Type: Auto report | |
| − | + | *Direction: Server -> Agent | |
| − | + | *Topic: /cagent/admin/<device>/agentcallbackreq | |
| − | + | *Broadcast Topic: /cagent/admin/broadcast/agentctrl | |
| − | + | *QoS: 0 | |
| + | *Retained: 0 | ||
| + | *Payload: | ||
| + | |||
| + | { | ||
| + | "susiCommData": { | ||
| + | "commCmd": 2053, | ||
| + | "requestItems": {"All":{}}, | ||
| + | "autoUploadIntervalSec": 10, | ||
| + | "handlerName": "general" | ||
| + | } | ||
| + | } | ||
| + | |||
| + | *Description: Agent reply | ||
| + | *Type: Reply of auto report command | ||
| + | *Direction: Server -> Agent | ||
| + | *Topic: /cagent/admin/<device>/agentactionreq | ||
| + | *QoS: 0 | ||
| + | *Retained: 0 | ||
| + | *Payload: | ||
| + | <pre>{ | ||
| + | "susiCommData": { | ||
| + | "result": "SUCCESS", | ||
| + | "dataFlow": "general/NetMonitor", | ||
| + | "seq": "70_1611629702692", | ||
| + | "srcTs": 1611629702692, | ||
| + | "commCmd": 2054, | ||
| + | "agentID": "NetMonitor", | ||
| + | "handlerName": "general", | ||
| + | "sendTS": : 1611629702692 | ||
| + | } | ||
| + | }</pre> | ||
| + | |||
| + | == Stope Auto Update == | ||
| + | |||
| + | *Description: Server can send stop auto report command to Agent | ||
| + | *Type: Auto update | ||
| + | *Direction: Server -> Agent | ||
| + | *Topic: /cagent/admin/<device>/agentcallbackreq | ||
| + | *Broadcast Topic: /cagent/admin/broadcast/agentctrl | ||
| + | *QoS: 0 | ||
| + | *Retained: 0 | ||
| + | *Payload: | ||
| + | |||
| + | { | ||
| + | "susiCommData": { | ||
| + | "requestID": 1001, | ||
| + | "catalogID": 4, | ||
| + | "commCmd": 2056, | ||
| + | "handlerName": "general", | ||
| + | "requestItems": { | ||
| + | "All": {} | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | == Auto Update Sensor Data Value == | ||
| + | |||
| + | *Description: Agent will update latest value to server. | ||
| + | *Type: Auto update | ||
| + | *Direction: Agent-> Server | ||
| + | *Topic: /cagent/admin/<devID>/deviceinfo | ||
| + | *QoS: 0 | ||
| + | *Retained: 0 | ||
| + | *Payload: | ||
| + | |||
{ | { | ||
"susiCommData":{ | "susiCommData":{ | ||
| Line 110: | Line 250: | ||
"SenHub":{ | "SenHub":{ | ||
"SenData":{ | "SenData":{ | ||
| − | "e":[ | + | "e":[{"n":"Temperature","v":1}, |
| − | + | {"n":"Humidity","v":57}, | |
| − | + | {"n":"GPIO1","bv":0}, | |
| − | + | {"n":"GPIO2","bv":0}], | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
"bn":"SenData" | "bn":"SenData" | ||
}, | }, | ||
| Line 140: | Line 266: | ||
} | } | ||
} | } | ||
| − | ==Get Sensor Data== | + | |
| − | + | == Start Monitor Request == | |
| − | + | ||
| − | + | *Description: Server send the start monitor requestto Agent to trigger a plugin to report data with reply topic. | |
| − | + | *Type: Auto update | |
| − | + | *Direction: Server -> Agent | |
| − | + | *Topic: /cagent/admin/<devID>/agentcallbackreq | |
| − | + | *QoS: 0 | |
| + | *Retained: 0 | ||
| + | *Payload: | ||
| + | |||
| + | { | ||
| + | "susiCommData": { | ||
| + | "commCmd": 533, | ||
| + | "catalogID": 4, | ||
| + | "requestID": 10, | ||
| + | "autoUploadIntervalMs": 10000, | ||
| + | "autoUploadTimeoutMs": 30000 | ||
| + | } | ||
| + | } | ||
| + | |||
| + | *Description: Agent will reply sensor data every autoUploadIntervalMs ( millisecond ) duration autoUploadTimeoutMs. | ||
| + | *Type: Reply | ||
| + | *Direction: Agent -> Server | ||
| + | *Topic: /cagent/admin/<devID>/agentactionreq | ||
| + | *QoS: 0 | ||
| + | *Retained: 0 | ||
| + | *Payload: Refer to Auto Update Sensor Data Value | ||
| + | <pre>{ | ||
| + | "susiCommData": { | ||
| + | "OPCUAClient": { | ||
| + | "info": { | ||
| + | "bn": "info", | ||
| + | "e": [ | ||
| + | { | ||
| + | "n": "type", | ||
| + | "sv": "Protocol-Converter", | ||
| + | "asm": "r" | ||
| + | }, | ||
| + | { | ||
| + | "n": "name", | ||
| + | "sv": "OPCUAClient", | ||
| + | "asm": "r" | ||
| + | } | ||
| + | ] | ||
| + | } | ||
| + | }, | ||
| + | "commCmd": 534, | ||
| + | "requestID": 30002, | ||
| + | "agentID": "OPCUAClient", | ||
| + | "handlerName": "OPCUAClient", | ||
| + | "sendTS": 1587353254699 | ||
| + | } | ||
| + | }</pre> | ||
| + | |||
| + | == Get Sensor Data == | ||
| + | |||
| + | *Description: Server can send mqtt message to get sensor data value. | ||
| + | *Type: Request | ||
| + | *Direction: Server -> Agent | ||
| + | *Topic: /cagent/admin/<devID>/agentcallbackreq | ||
| + | *QoS: 0 | ||
| + | *Retained: 0 | ||
| + | *Payload: | ||
| + | |||
{ | { | ||
"susiCommData":{ | "susiCommData":{ | ||
| Line 166: | Line 349: | ||
} | } | ||
| − | + | *Description: Agent will reply its data value. | |
| − | + | *Type: Reply | |
| − | + | *Direction: Agent -> Server | |
| − | + | *Topic: /cagent/admin/<devID>/agentactionreq | |
| − | + | *QoS: 0 | |
| − | + | *Retained: 0 | |
| − | + | *Payload: | |
| + | |||
{ | { | ||
"susiCommData":{ | "susiCommData":{ | ||
| Line 189: | Line 373: | ||
} | } | ||
} | } | ||
| − | ==Set Sensor Data== | + | |
| + | == Set Sensor Data == | ||
| + | |||
| + | *Description: Server can send mqtt message to set sensor data value. | ||
| + | *Type: Request | ||
| + | *Direction: Server -> Agent | ||
| + | *Topic: /cagent/admin/<devID>/agentcallbackreq | ||
| + | *QoS: 0 | ||
| + | *Retained: 0 | ||
| + | *Payload: | ||
| + | |||
| + | { | ||
| + | "susiCommData":{ | ||
| + | "sensorIDList":{ | ||
| + | "e":[ | ||
| + | { | ||
| + | "sv":"SenHub1", | ||
| + | "n":"SenHub/Info/Name" | ||
| + | } | ||
| + | ] | ||
| + | }, | ||
| + | "sessionID":"4DDF0B6DE2773176095F55E8C930507A", | ||
| + | "commCmd":525, | ||
| + | "requestID":0, | ||
| + | "agentID":"", | ||
| + | "handlerName":"SenHub", | ||
| + | "sendTS":1466088605 | ||
| + | } | ||
| + | } | ||
| + | |||
| + | *Description: Agent will reply its result. | ||
| + | *Type: Reply | ||
| + | *Direction: Agent -> Server | ||
| + | *Topic: /cagent/admin/<devID>/agentactionreq | ||
| + | *QoS: 0 | ||
| + | *Retained: 0 | ||
| + | *Payload: | ||
| + | |||
| + | { | ||
| + | "susiCommData":{ | ||
| + | "commCmd":526, | ||
| + | "handlerName":"SenHub", | ||
| + | "sessionID":"4DDF0B6DE2773176095F55E8C930507A", | ||
| + | "sensorInfoList":{ | ||
| + | "e":[ | ||
| + | { | ||
| + | "n":"/Info/Name", | ||
| + | "sv":"SenHub1", | ||
| + | "StatusCode":200 | ||
| + | } | ||
| + | ] | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | == EventNotify == | ||
| + | |||
| + | *Description:Event Notify | ||
| + | *Type: Auto update | ||
| + | *Direction: Agent -> Server | ||
| + | *Topic: /cagent/admin/<devID>/eventnotify | ||
| + | *QoS: ? | ||
| + | *Retained: ? | ||
| + | *Payload: | ||
| + | <pre>{ | ||
| + | "susiCommData":{ | ||
| + | "commCmd":2059, | ||
| + | "requestID":2001, | ||
| + | "agentID":"000014DAE996BE04", | ||
| + | "handlerName":"general", | ||
| + | "sendTS":1453356274, | ||
| + | "eventnotify": { | ||
| + | "subtype": "predict", | ||
| + | "msg": "Hard disk long-term operation in more than 40°C or vibration environment.", | ||
| + | "severity": 4, | ||
| + | "handler": "HDD_PMQ", | ||
| + | "extMsg": { | ||
| + | "n": "WDC WD3200BUCT-63TWBY0", | ||
| + | "eventID":"e2" | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | }</pre> | ||
| + | |||
| + | |||
| + | <pre>severity: | ||
| + | Severity_Emergency = 0, | ||
| + | Severity_Alert = 1, | ||
| + | Severity_Critical = 2, | ||
| + | Severity_Error = 3, | ||
| + | Severity_Warning = 4, | ||
| + | Severity_Informational = 5, | ||
| + | Severity_Debug = 6, | ||
| + | |||
| + | subtype: | ||
| + | THRESHOLD_CHECK_INFO | ||
| + | THRESHOLD_CHECK_ERROR | ||
| + | </pre> | ||
| + | |||
| + | == [[Connectivity/AdvHeartBeat|AdvHeartBeat]] == | ||
Latest revision as of 06:56, 17 February 2023
Contents
Overview
- Introduction for "WISEAgent communication protocol". WISEAgent communication protocol is base on standard MQTT protocol. We also define Advantech IoT Topic and message in JSON format. Follow standard to design our [Sensor Format in JSON ]
Protocol
Connect
- Description: Agent Client sends the "Connect Info" to RMM Server for on-line notification.
- Type: Info
- Direction: Agent -> Server
- Topic: /cagent/admin/<devID>/agentinfoack
- QoS: 2
- Retained: 0
- Payload:
{
"susiCommData": {
"devID":"0017000E40000001",
"hostname":"AAA",
"sn":"0017000E40000001",
"mac":"0017000E40000001",
"version":"3.1.23",
"type":"SenHub",
"product":"WISE-1020",
"manufacture":"",
"status":"1",
"commCmd":1,
"requestID":30002,
"agentID":"0017000E40000001",
"handlerName":"general",
"sendTS":160081026
}
}
Disconnect
- Description: Agent Client sends the "Disconnect Info" to Server for off-line notification.
- Type: Info
- Direction: Agent -> Server
- Topic: /cagent/admin/<devID>/agentinfoack
- QoS: 2
- Retained: 0
- Payload:
{
"susiCommData": {
"devID":"0017000E40000001",
"hostname":"AAA",
"sn":"0017000E40000001",
"mac":"0017000E40000001",
"version":"3.1.23",
"type":"SenHub",
"product":"WISE-1020",
"manufacture":"",
"status":"0",
"commCmd":1,
"requestID":30002,
"agentID":"0017000E40000001",
"handlerName":"general",
"sendTS":160081026
}
}
Will Message
- Description: While Client lost connection or keep-alive timeout, the will message will send to the client that subscribe the topic
- Type: Info
- Direction: Agent -> Broker
- Topic: /cagent/admin/devId/willmessage
- QoS: 0
- Retained: 0
- Payload:
{
"susiCommData": {
"devID": "000014DAE996BE04",
"hostname": "PC001104",
"sn": "14DAE996BE04",
"mac": "14DAE996BE04",
"version": "1.0.0.0",
"type": "IPC",
"product": "",
"manufacture": "",
"account": "anonymous",
"password": "",
"status": 0,
"commCmd": 1,
"requestID": 21,
"agentID": "000014DAE996BE04",
"handlerName": "general",
"sendTS": 1423536737
}
}
OS Info
- Description: Agent Client sends the OS Info" to RMM Server for device OS information.
- Type: Info
- Direction: Agent -> Server
- Topic: /cagent/admin/<devID>/agentactionreq
- QoS: 0
- Retained: 0
- Payload:
{
"susiCommData":{
"osInfo":
{
"cagentVersion":"3.1.23",
"cagentType":"IoTGW",
"osVersion":"SnailOS",
"biosVersion":"",
"platformName":"",
"processorName":"SnailGW",
"osArch":"SnailX86",
"totalPhysMemKB":123,
"macs":"000E40ABCDEF",
"IP":"192.168.0.100"
},
"commCmd":116,
"requestID":109,
"agentID":"0000000E40ABCDEF",
"handlerName":"general",
"sendTS":1466730390
}
}
Info or Update Device's Capability
- Description: Agent will send it's capability to Server for description all resource.
- Type: Auto update
- Direction: Agent-> Server
- Topic: /cagent/admin/<devID>/agentactionreq
- QoS: 0
- Retained: 0
- Payload:
Example: SenHub's Capability
{
"susiCommData":{
"infoSpec": {
"SenHub": {
"SenData": {"e":[ {"n":"Temperature","u":"Cel","v":0.000000,"min":-100.000000,"max":200.000000,"asm":"r","type":"d","rt":"ucum.Cel","st":"ipso","exten":""},
{"n":"Humidity","u":"%","v":0.000000,"min":0.000000,"max":100.000000,"asm":"r","type":"d","rt":"ucum.%","st":"ipso","exten":""},
{"n":"GPIO1","u":"","bv":0,"min":0.000000,"max":1.000000,"asm":"r","type":"b","rt":"","st":"ipso","exten":""},
{"n":"GPIO2","u":"","bv":0,"min":0.000000,"max":1.000000,"asm":"r","type":"b","rt":"","st":"ipso","exten":""}
],
"bn":"SenData"
},
"Info": {"e":[{"n":"Name","sv":"SenHub1","asm":"rw"},
{"n":"sw","sv":"1.0.00","asm":"r"}
],
"bn":"Info"
},
"Net": {"e":[{"n":"sw","sv":"1.0.00","asm":"r"},
{"n":"Neighbor","sv":"","asm":"r"},
{"n":"Health","v":"100.000000","asm":"r"}
],
"bn":"Net"
}
}
},
"commCmd":2052,
"requestID":2001,
"agentID":"0017000E40000001",
"handlerName":"general",
"sendTS":160081024
}
}
Eable Auto Update
- Description: Server can send start auto report command to Agent
- Type: Auto report
- Direction: Server -> Agent
- Topic: /cagent/admin/<device>/agentcallbackreq
- Broadcast Topic: /cagent/admin/broadcast/agentctrl
- QoS: 0
- Retained: 0
- Payload:
{
"susiCommData": {
"commCmd": 2053,
"requestItems": {"All":{}},
"autoUploadIntervalSec": 10,
"handlerName": "general"
}
}
- Description: Agent reply
- Type: Reply of auto report command
- Direction: Server -> Agent
- Topic: /cagent/admin/<device>/agentactionreq
- QoS: 0
- Retained: 0
- Payload:
{
"susiCommData": {
"result": "SUCCESS",
"dataFlow": "general/NetMonitor",
"seq": "70_1611629702692",
"srcTs": 1611629702692,
"commCmd": 2054,
"agentID": "NetMonitor",
"handlerName": "general",
"sendTS": : 1611629702692
}
}
Stope Auto Update
- Description: Server can send stop auto report command to Agent
- Type: Auto update
- Direction: Server -> Agent
- Topic: /cagent/admin/<device>/agentcallbackreq
- Broadcast Topic: /cagent/admin/broadcast/agentctrl
- QoS: 0
- Retained: 0
- Payload:
{
"susiCommData": {
"requestID": 1001,
"catalogID": 4,
"commCmd": 2056,
"handlerName": "general",
"requestItems": {
"All": {}
}
}
}
Auto Update Sensor Data Value
- Description: Agent will update latest value to server.
- Type: Auto update
- Direction: Agent-> Server
- Topic: /cagent/admin/<devID>/deviceinfo
- QoS: 0
- Retained: 0
- Payload:
{
"susiCommData":{
"data":{
"SenHub":{
"SenData":{
"e":[{"n":"Temperature","v":1},
{"n":"Humidity","v":57},
{"n":"GPIO1","bv":0},
{"n":"GPIO2","bv":0}],
"bn":"SenData"
},
"ver":1
}
},
"commCmd":2055,
"requestID":2001,
"agentID":"0017000E40000001",
"handlerName":"general",
"sendTS":160081031
}
}
Start Monitor Request
- Description: Server send the start monitor requestto Agent to trigger a plugin to report data with reply topic.
- Type: Auto update
- Direction: Server -> Agent
- Topic: /cagent/admin/<devID>/agentcallbackreq
- QoS: 0
- Retained: 0
- Payload:
{
"susiCommData": {
"commCmd": 533,
"catalogID": 4,
"requestID": 10,
"autoUploadIntervalMs": 10000,
"autoUploadTimeoutMs": 30000
}
}
- Description: Agent will reply sensor data every autoUploadIntervalMs ( millisecond ) duration autoUploadTimeoutMs.
- Type: Reply
- Direction: Agent -> Server
- Topic: /cagent/admin/<devID>/agentactionreq
- QoS: 0
- Retained: 0
- Payload: Refer to Auto Update Sensor Data Value
{
"susiCommData": {
"OPCUAClient": {
"info": {
"bn": "info",
"e": [
{
"n": "type",
"sv": "Protocol-Converter",
"asm": "r"
},
{
"n": "name",
"sv": "OPCUAClient",
"asm": "r"
}
]
}
},
"commCmd": 534,
"requestID": 30002,
"agentID": "OPCUAClient",
"handlerName": "OPCUAClient",
"sendTS": 1587353254699
}
}
Get Sensor Data
- Description: Server can send mqtt message to get sensor data value.
- Type: Request
- Direction: Server -> Agent
- Topic: /cagent/admin/<devID>/agentcallbackreq
- QoS: 0
- Retained: 0
- Payload:
{
"susiCommData":{
"sessionID":"2746E3B65BAB115338B9668CDC5C35C4",
"sensorIDList":{
"e":[
{
"n":"SenHub/Info/sw"
}
]
},
"commCmd":523,
"requestID":0,
"agentID":"",
"handlerName":"SenHub",
"sendTS":1466057267
}
}
- Description: Agent will reply its data value.
- Type: Reply
- Direction: Agent -> Server
- Topic: /cagent/admin/<devID>/agentactionreq
- QoS: 0
- Retained: 0
- Payload:
{
"susiCommData":{
"commCmd":524,
"handlerName":"SenHub",
"sessionID":"2746E3B65BAB115338B9668CDC5C35C4",
"sensorInfoList":{
"e":[
{
"n":"/Info/sw",
"sv":"1.0.00",
"StatusCode":200
}
]
}
}
}
Set Sensor Data
- Description: Server can send mqtt message to set sensor data value.
- Type: Request
- Direction: Server -> Agent
- Topic: /cagent/admin/<devID>/agentcallbackreq
- QoS: 0
- Retained: 0
- Payload:
{
"susiCommData":{
"sensorIDList":{
"e":[
{
"sv":"SenHub1",
"n":"SenHub/Info/Name"
}
]
},
"sessionID":"4DDF0B6DE2773176095F55E8C930507A",
"commCmd":525,
"requestID":0,
"agentID":"",
"handlerName":"SenHub",
"sendTS":1466088605
}
}
- Description: Agent will reply its result.
- Type: Reply
- Direction: Agent -> Server
- Topic: /cagent/admin/<devID>/agentactionreq
- QoS: 0
- Retained: 0
- Payload:
{
"susiCommData":{
"commCmd":526,
"handlerName":"SenHub",
"sessionID":"4DDF0B6DE2773176095F55E8C930507A",
"sensorInfoList":{
"e":[
{
"n":"/Info/Name",
"sv":"SenHub1",
"StatusCode":200
}
]
}
}
}
EventNotify
- Description:Event Notify
- Type: Auto update
- Direction: Agent -> Server
- Topic: /cagent/admin/<devID>/eventnotify
- QoS: ?
- Retained: ?
- Payload:
{
"susiCommData":{
"commCmd":2059,
"requestID":2001,
"agentID":"000014DAE996BE04",
"handlerName":"general",
"sendTS":1453356274,
"eventnotify": {
"subtype": "predict",
"msg": "Hard disk long-term operation in more than 40°C or vibration environment.",
"severity": 4,
"handler": "HDD_PMQ",
"extMsg": {
"n": "WDC WD3200BUCT-63TWBY0",
"eventID":"e2"
}
}
}
}
severity:
Severity_Emergency = 0,
Severity_Alert = 1,
Severity_Critical = 2,
Severity_Error = 3,
Severity_Warning = 4,
Severity_Informational = 5,
Severity_Debug = 6,
subtype:
THRESHOLD_CHECK_INFO
THRESHOLD_CHECK_ERROR