設備觸發節點是將設備上報的屬性(讀寫型)、事件數據或狀態變更作為服務的輸入,觸發服務后續的業務邏輯。設備觸發節點支持通過虛擬設備上報屬性或事件觸發服務,幫助您自定義設備信息響應的服務流。

節點配置

在業務邏輯開發編輯頁面的節點 > 觸發列表中,拖拽設備觸發節點到中間畫布并進行配置,如圖所示。

設備觸發
配置項說明
節點名稱設置節點名稱。支持中文漢字、英文字母、數字和下劃線(_),長度不超過30個字符。
選擇產品選擇觸發服務的產品。
選擇設備選擇產品下的全部設備指定設備

選擇設備后,系統將自動指定一個在線調試服務的設備。具體的調試方法請參見步驟三:調試

重要 單個設備不支持同時應用于10個以上的設備觸發服務。
觸發條件設置全部或指定的屬性上報事件上報狀態變更來觸發服務。

節點輸出

  • 屬性上報類型的輸出數據格式:
    {
            "deviceContext": {
                "productKey": "設備的ProductKey",
                "deviceName": "設備的DeviceName",
                "gmtCreate": 設備的創建時間戳
            },
            "props": {
                "屬性標識符": {
                "time": 設備上報信息的時間戳,
                "value": 設備上報的屬性值
            }
        }
     }
  • 事件上報類型的輸出數據格式:
    {
            "deviceContext": {
                "productKey": "設備的ProductKey",
                "deviceName": "設備的DeviceName",
                "gmtCreate": 設備的創建時間戳
            },
            "event": {
                "事件標識符": {
                   "outputs": {
                       "出參標識符": 出參值
                   },
                   "eventCode": "事件標識符",
                   "eventName": "事件名稱" ,
                   "eventType": "事件類型(信息/告警/故障)" 
                }
           }
    }
  • 狀態變更類型的輸出數據格式:
    { 
             "deviceContext":{
                "productKey":"設備的ProductKey",
                "deviceName":"設備的DeviceName",
                "gmtCreate":設備的創建時間戳
            },
            "status":{
                "time":狀態變更的時間戳,
                "value":"狀態值"
            },
            "dataSource":{
                "status":"狀態值"
            }
    }
字段描述示例
deviceContext設備信息。
{
  "productKey": "XXX", // 設備的productKey

  "deviceName": "XXX", // 設備的deviceName

  "gmtCreate": 1538109258028 // 設備創建時間戳
}
props設備上報的屬性信息。當選擇的上報類型中包含屬性上報時,會出現該字段。

props字段內的具體內容,請在產品的功能定義頁查看。

{
   "LightStatus":{  // 設備屬性LightStatus
        "time":1538109258010,
        "value":0
    },
    "LightVolt":{ // 設備屬性LightVolt
         "time":1538109258010,
         "value":1
    }
}
event設備上報的事件信息。當選擇的上報類型中包含事件上報時,會出現該字段。

event字段內的具體內容,請在產品的功能定義頁查看。

{
    "Identifier1": {// 事件標識符
        "eventCode": "Identifier1", // 事件標識符 
        "eventName": "Warm", // 事件名稱
        "eventType": "info", // 事件類型
        "outputs": { // 輸出參數
            "outPara1": 2, 
            "outPara2": 0
        }
    }, 
    "Identifier2": {
        "eventCode": "Identifier2", 
        "eventName": "Warm", 
        "eventType": "info", 
        "outputs": {
            "outPara1": 2, 
            "outPara2": 0
        }
    }
}
status狀態變更的狀態信息。當選擇的上報類型中包含屬性上報時,會出現該字段。

status字段內的具體內容,請在產品的功能定義頁查看。

{
   "time":1630913898783,
   "value":"在線"
 }
       
dataSource表示當前的狀態信息。當選擇的上報類型中包含屬性上報時,會出現該字段。
{
   "status":"在線"
 }

后續節點使用該節點輸出數據

如果該服務的其他節點需要調用設備上報的屬性或事件,可以通過query訪問具體參數,或將本節點選擇為后續節點的輸入源。

  • 通過query訪問。

    在配置后續節點,如腳本節點或釘釘機器人節點,編輯內容時,可使用query調用屬性或事件數據。如:

    • query.props.屬性標識符.value:調用設備上報的某屬性值。
    • query.deviceContext.deviceName:調用設備名稱。
    • query.props.event.事件標識符.eventName:調用設備上報的某事件名稱。

    配置釘釘機器人調用設備上報的屬性數據示例:

    釘釘機器人
  • 通過配置項訪問。

    在配置后續節點時,如條件判斷節點或路徑選擇節點,選擇數據源為設備觸發節點的某類型數據。

    配置項訪問