分享方式:


設定 IoT 提供者動作

設置IoT(物聯網)供應商 ,您可以根據從組織的IoT設備捕獲的數據指定要 發射鍵 一組操作。 除了五個預先定義的動作之外,您還可以建立與提供者相關聯的自訂動作,進行 Connected Field Service 作業各方面的自動化。

Connected Field Service 提供下列動作:

提取裝置資料

提取裝置資料動作會從 IoT 提供者擷取一個裝置或一系列裝置的最新資料。 這會顯示在裝置資料歷程記錄索引標籤中。

由於資料可能來自多個裝置,因此「提取裝置資料」動作必須有 EntityCollection 做為輸入。 下表描述 EntityCollection 的參數。

參數 類型​ 詳細資料​
msdyn_iotdeviceid string Connected Field Service 中已轉換為字串的 GUID 裝置識別碼 (msdyn_iotdevice)
msdyn_name string 裝置的名稱
@odata.type string 實體的 OData 類型

輸入範例:

{
  "EntityCollection":[
      {
    "msdyn_iotdeviceid":"B25B5E21-326E-4C36-9296-C195286DGEC9",
    "msdyn_name":" HVAC 32443",
    "@odata.type":"Microsoft.Dynamics.CRM.msdyn_iotdevice"
      },
      {
    "msdyn_iotdeviceid":"B25B5E21-326E-4C36-9296-C195286DGEE9",
    "msdyn_name":" HVAC 92232",
    "@odata.type":"Microsoft.Dynamics.CRM.msdyn_iotdevice"
      }
  ]
}

「提取裝置資料」動作會以序列化 JSON 格式返回讀取的資料。 下表描述 PullDeviceDataResultsJSON 輸出的參數。

JSON 屬性 類型​ 詳細資料​
識別碼 string Connected Field Service 中已轉換為字串的 GUID 裝置識別碼 (msdyn_iotdevice)
ConnectionState boolean 裝置已中斷連接 (false) 還是已連接 (true)
ConnectionStateUpdatedTime datetime IoT 提供者中的上次連線狀態更新的時間戳記
DeviceReportedProperties string 格式已設定為 JSON 字串的裝置報告屬性
LastActivityTime datetime 裝置上次報告活動的時間戳記

範例輸出:

{
  "PullDeviceDataResultsJSON":[
     {
    "Id":"B25B5E21-326E-4C36-9296-C195286DGEC9",
    "ConnectionState":true,
    "ConnectionStateUpdatedTime":"2019-08-2911:00:00",
    "DeviceReportedProperties":{
      "temperature":65.6366305680316,
      "humidity":21.3333366666
      },
    "LastActivityTime": "2019-08-2011:00:00"
    },
    {
    "Id":"B25B5E21-326E-4C36-9296-C195286DGEE9",
    "ConnectionState":true,
    "ConnectionStateUpdatedTime":"2019-08-2911:00:00",
    "DeviceReportedProperties":{
      "temperature":62.8366305680316,
      "humidity":19.5333366666
    },
    "LastActivityTime": "2019-08-2011:00:00"
     }
  ]
}

註冊裝置

「註冊裝置」動作會在裝置或裝置集合與 IoT 提供者之間建立關聯。 可以註冊新的裝置以及技術人員換出的裝置或元件。 註冊裝置之後,該裝置會出現在 IoT 裝置記錄的註冊歷程記錄索引標籤中。

由於可以一次註冊多個裝置,因此「註冊裝置」動作必須有 EntityCollection 做為輸入。 下表描述 EntityCollection 的參數。

參數 類型​ 詳細資料​
msdyn_iotdeviceid string Connected Field Service 中已轉換為字串的 GUID 裝置識別碼 (msdyn_iotdevice)
msdyn_name string 裝置的名稱
@odata.type string 實體的 OData 類型

輸入範例:

{
  "EntityCollection": [
    {
      "msdyn_iotdeviceid": "5754578D-1F9A-4720-BC21-3C3042C05B2F",
      "msdyn_name": "Coffee maker 1",
      "@odata.type": "Microsoft.Dynamics.CRM.msdyn_iotdevice"
    },
    {
      "msdyn_iotdeviceid": "5754578D-1F9A-4720-BC21-3C3042C06C5F",
      "msdyn_name": "Coffee maker 2",
      "@odata.type": "Microsoft.Dynamics.CRM.msdyn_iotdevice"
    }
  ]
}

「註冊裝置」動作會以序列化 JSON 格式傳回註冊結果。 下表描述 RegistrationResultsJSON 輸出的參數。

JSON 屬性 類型​ 詳細資料​
識別碼 string Connected Field Service 中已轉換為字串的 GUID 裝置識別碼 (msdyn_iotdevice)
RegistrationStatus OptionSetValue 從 IoT 提供者回到 Connected Field Service 的註冊狀態
值和標籤:
- 192350000:未知
- 192350001:未註冊
- 192350002:進行中
- 192350003:已註冊
- 192350004:錯誤
注意:OptionSet 是包含標籤值對應的選項清單,例如下拉式清單控制項。
DeviceId string IoT 提供者系統中裝置的識別碼
訊息 string 給 Connected Field Service 使用者的關於註冊的詳細訊息

範例輸出:

{
   "RegistrationResultsJSON":[
      {
         "Id":"5754578D-1F9A-4720-BC21-3C3042C05B2F",
         "RegistrationStatus":{"Value":192350003},
         "DeviceId":"DeviceIdFromThirdPartyOrUserDefined",
         "Message":"Registration info/warning/error message"   
      },
      {
         "Id":"5754578D-1F9A-4720-BC21-3C3042C06C5F",
         "RegistrationStatus":{"Value":192350003},
         "DeviceId":"DeviceIdFromThirdPartyOrUserDefined",
         "Message":"Registration info/warning/error message"   
      }   
  ]
}

彙總裝置讀數

「彙總裝置讀數」動作會從 IoT 提供者提取彙總的裝置資料。 彙總資料在 Connected Field Service 的摘要圖標中提供裝置狀況的快速快照集。

Field Service 中的 IoT 裝置螢幕擷取畫面,顯示彙總讀數。

下表描述「彙總裝置讀數」動作的輸入參數。

參數 類型​ 詳細資料​
deviceId string Connected Field Service 中已轉換為字串的 GUID 裝置識別碼 (msdyn_iotdevice)
量值 string JSON 格式的測量結果清單;如需範例,請參閱下列程式碼片段

輸入範例:

[
    {
        "Measure":"Humidity",
        "Aggregate":"Min",
        "TimeRangeType":"Days",
        "TimeRangeValue":7
    },
    {
        "Measure":"Temperature",
        "Aggregate":"Avg",
        "TimeRangeType":"Days",
        "TimeRangeValue":14
    }
]

「彙總裝置讀數」動作會以序列化 JSON 格式傳回測量結果。 下表顯示輸出參數。

JSON 屬性 類型​ 詳細資料​
measuresOutput string JSON 格式的測量傳回值;如需範例,請參閱下列程式碼片段

範例輸出:

[
    {
        "Name":"Humidity",
        "Aggregate":"Min",
        "Unit":"F",
        "TimeRangeValue":7,
        "TimeRangeType":"Days",
        "Position":1,
        "Value":"39.13334"
    },
    {
        "Name":"Temperature",
        "Aggregate":"Avg",
        "Unit":"F",
        "TimeRangeValue":14,
        "TimeRangeType":"Days",
        "Position":2,
        "Value":"65.13334"
    }
]

如果您使用的不是「彙總裝置讀數」動作,則彙總裝置讀數會以裝置資料歷程記錄實體為根據。

查詢裝置讀數

「查詢裝置讀數」動作會從 IoT 提供者提取歷史裝置資料 (例如溫度和濕度),並將其顯示為時間序列圖表。

隨時間變化之裝置溫度和濕度的螢幕擷取畫面。

下表描述「查詢裝置讀數」動作的輸入參數。

參數 類型​ 詳細資料​
寄件人 datetime ISO 格式的讀數 (測量) 開始時間;例如,"2020-04-10T13:51:55.781Z"
目標 datetime ISO 格式的讀數 (測量) 結束時間
IoTDeviceId string Connected Field Service 中已轉換為字串的 GUID 裝置識別碼 (msdyn_iotdevice)
間隔 string 以 ISO-8601 期間格式指定之繪圖點的間隔大小;例如,1 分鐘是 "PT1M",1 毫秒是 "PT 0.001S"
所有間隔的大小都相同。 一個月通常會轉換為 30 天,而一年永遠為 365 天。

輸入範例:

{
    "From":"2023-04-01T18:05:37.661Z", 

    "To":"2023-05-31T18:05:37.661Z", 

    "IotDeviceId":"50fce36f-9e3e-ed11-bba3-000d3a8b1de9", 

    "Interval":"P1D"
} 

「查詢裝置讀數」動作會以序列化 JSON 格式傳回資料。 下表顯示輸出參數。

JSON 屬性 類型​ 詳細資料​
AggregatedDeviceReadings 字串 JSON 格式的測量傳回值;如需範例,請參閱下列程式碼片段

範例輸出:

{
  "HVAC Unit 123": {
    "Temperature": {
      "2017-04-01T06:00:00Z": {
        "min": -29,
        "max": 62.59,
        "avg": 16.89,
        "sum": 4054.14,
        "count": 240
      },
      "2017-04-01T08:00:00Z": {
        "min": -29,
        "max": 62.59,
        "avg": 16.89,
        "sum": 4054.14,
        "count": 480
      }
    },
    "Humidity": {
      "2017-04-01T06:00:00Z": {
        "min": 10,
        "max": 48.3,
        "avg": 29.25,
        "sum": 7020.62,
        "count": 240
      },
      "2017-04-01T08:00:00Z": {
        "min": 10,
        "max": 48.3,
        "avg": 29.25,
        "sum": 7020.62,
        "count": 480
      }
    }
  }
}    

取得裝置事件

「取得裝置事件」動作會從裝置服務歷程記錄擷取事件,並在「查詢裝置讀數」動作所建立的圖表底端,將這些事件顯示為圖釘。 您可以包含任何自訂實體,例如上次執行的資產升級。

在隨時間變化之裝置溫度和濕度的圖表底下顯示為圖釘的螢幕擷取畫面。

注意

您不需要建立新增動作。 在 msdyn_IoTGetDeviceEvents 動作上註冊自訂外掛程式,例如建立事件的外掛程式。

下表描述「取得裝置事件」動作的輸入參數。

JSON 屬性 類型​ 詳細資料​
寄件人 datetime ISO 格式的讀數 (測量) 開始時間;例如,"2020-04-10T13:51:55.781Z"
目標 datetime ISO 格式的讀數 (測量) 結束時間
IoTDeviceId string Connected Field Service 中已轉換為字串的 GUID 裝置識別碼 (msdyn_iotdevice)

輸入範例:

{ 
    "IotDeviceId": "50fce36f-9e3e-ed11-bba3-000d3a8b1de9", 
    "From": "2023-06-12T18:57:54.864Z", 
    "To": "2023-06-12T19:57:54.864Z" 
} 

「取得裝置事件」動作會以序列化 JSON 格式傳回資料。 下表顯示輸出參數。

JSON 屬性 類型​ 詳細資料​
EventsName string 事件類別的簡短描述;使用此屬性來顯示或隱藏該類別中的所有事件
TimeStamp string 格式化為 ISO 格式字串的事件時間戳記;事件圖釘的 X 軸時間戳記
Color string 以十六進位碼字串提供的事件圖釘色彩
名描述 string 當使用者將游標暫留在圖釘上,或使用者選取圖釘以檢視詳細資料時所顯示的事件簡短描述
識別碼 string 事件的識別碼;可以是名稱或其他方便使用的值,例如工單編號或預約確認代碼
Entity string 與事件相關的 Dataverse 實體名稱;例如,"msdyn_workorder"
URL string 事件詳細資料頁面的 URL,例如工單表單的連結
如果您傳遞實體和 GUID,系統就會自動產生超連結。
GUID string Dataverse 中已轉換為字串的實體記錄 GUID

範例輸出:

{
  "Service History": {
    "2019-08-07T19:14:53Z": {
      "color": "#FF6300",
      "description": "Work Order Created",
      "id": "00001",
      "entity": "msdyn_workorder",
      "url": "",
      "guid": "952a7592-8818-ea11-a811-000d3a5466d7"
    },
    "2019-08-08T19:14:53Z": {
      "color": "#ECC5AC",
      "description": "Work Order Created",
      "id": "00002",
      "entity": "msdyn_workorder",
      "url": "",
      "guid": "952a7592-8818-ea11-a811-000d3a5466d9"
    },
    "2019-09-21T09:34:53Z": {
      "color": "#ECC5AC",
      "description": "Case Created",
      "id": "000121",
      "entity": "msdyn_incident",
      "url": "",
      "guid": "952a7592-8818-ea11-a811-000d3a5466d0"
    }
  },
  "Asset History": {
    "2019-08-07T19:14:53Z": {
      "color": "#FF6400",
      "description": "Asset Model Upgraded",
      "id": "001223",
      "entity": "new_assetupgraded",
      "url": "",
      "guid": "952a7592-8818-ea11-a811-000d3a5466d7"
    }
  }
}

後續步驟