IoT プロバイダー アクションの設定

IoT (モノのインターネット) プロバイダーを設定した後、組織の IoT デバイスから取得したデータに基づいてトリガーするアクションのセットを指定できます。 5 つの事前定義アクションに加えて、プロバイダーに関連付けられた カスタム アクション を作成して、Connected Field Service 操作におけるさまざまな作業を自動化できます。

以下のアクションは、Connected Field Service に含まれています。

デバイス データの取得

デバイス データのプル アクション は、IoT プロバイダーから 1 つのデバイスまたはデバイスのコレクションの最新データを取得します。 デバイス データ履歴 タブに表示されます。

データは複数のデバイスから取得される場合があるため、デバイス データのプル アクションには「EntityCollection」と入力する必要があります。 次のテーブルに、EntityCollection のパラメーターを示します。

パラメーター タイプ Details
msdyn_iotdeviceid string 文字列に変換された、Connected Field Service 内の GUID デバイス ID (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 プロパティ タイプ Details
ID string 文字列に変換された、Connected Field Service 内の GUID デバイス ID (msdyn_iotdevice)
ConnectionState ブール値 デバイスが切断されている (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 のパラメーターを示します。

パラメーター タイプ Details
msdyn_iotdeviceid string 文字列に変換された、Connected Field Service 内の GUID デバイス ID (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 プロパティ タイプ Details
ID string 文字列に変換された、Connected Field Service 内の GUID デバイス ID (msdyn_iotdevice)
RegistrationStatus OptionSetValue IoT プロバイダーから Connected Field Service に戻る登録の状態
値とラベル:
- 192350000: 不明
- 192350001: 未登録
- 192350002: 処理中
- 192350003: 登録済
- 192350004: エラー
注 : OptionSet は、ドロップダウンボックス リスト コントロールなどのラベルと値のマッピングを含むオプションのリストです。
DeviceId string IoT プロバイダー システム内のデバイスの ID
Message 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 デバイスのスクリーンショット。

次のテーブルでは、集約されたデバイスの読み取りアクションの入力パラメーターについて説明しています。

パラメーター タイプ Details
deviceId string 文字列に変換された、Connected Field Service 内の GUID デバイス ID (msdyn_iotdevice)
measures string JSON 形式の測定値のリスト。次のコード スニペットで例を参照してください

サンプル入力 :

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

集約されたデバイスの読み取りアクションは、シリアル化された JSON 形式で測定値を返します。 次のテーブルには、出力パラメーターが表示されています。

JSON プロパティ タイプ Details
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 プロバイダーから取得し、時系列グラフとして表示します。

経時的に記録したデバイスの温度と湿度のスクリーンショット。

次のテーブルでは、デバイス読み取りのクエリ アクションの入力パラメーターについて説明しています。

パラメーター タイプ Details
送信者 datetime ISO 形式で表示された読み取り (測定) の開始時刻。たとえば、"2020-04-10T13:51:55.781Z"
受信先 datetime ISO 形式で表示された読み取り (測定) の終了時刻
IoTDeviceId string 文字列に変換された、Connected Field Service 内の GUID デバイス ID (msdyn_iotdevice)
Interval string ISO-8601 期間形式で指定されたプロット ポイントの間隔の大きさ。たとえば、1 分は "PT1M"、1 ミリ秒は "PT0.001S" です
すべての間隔は同じサイズです。 1 か月は常に 30 日に変換され、1 年は常に 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 プロパティ タイプ Details
AggregatedDeviceReadings String 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 プロパティ タイプ Details
送信者 datetime ISO 形式で表示された読み取り (測定) の開始時刻。たとえば、"2020-04-10T13:51:55.781Z"
受信先 datetime ISO 形式で表示された読み取り (測定) の終了時刻
IoTDeviceId string 文字列に変換された、Connected Field Service 内の GUID デバイス ID (msdyn_iotdevice)

サンプル入力 :

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

デバイス イベントの取得アクションは、シリアル化された JSON 形式でデータを返します。 次のテーブルには、出力パラメーターが表示されています。

JSON プロパティ タイプ Details
EventsName string イベントのカテゴリに関する簡単な説明。これを使用して、そのカテゴリ内のすべてのイベントを表示または非表示にします
Timestamp string ISO 形式の文字列としてフォーマットされたイベントのタイムスタンプ。イベント ピンの X 軸のタイムスタンプ
カラー string 16 進数文字列で表したイベント ピンの色
Description string ユーザーがピンの上にカーソルを置いたとき、またはユーザーがピンを選択して詳細を表示したときに表示されるイベントの短い説明
ID string 名前、または作業指示書番号や予約確認コードなど、他のわかりやすい値を使用したイベント ID
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"
    }
  }
}

次の手順