Поділитися через


Налаштування дій провайдера IoT

Налаштувавши постачальника IoT (Інтернету речей), ви можете вказати набір дій, які потрібно ініціювати на основі отриманих даних із пристроїв IoT вашої організації. Поряд із п’ятьма попередньо визначеними діями, ви можете створювати власні дії , пов’язані з вашим постачальником, щоб автоматизувати різні аспекти ваших операцій Connected Field Service.

Наступні дії супроводжують Connected Field Service:

Отримати дані пристроїв

Дія Pull device data отримує найновіші дані для одного пристрою або колекції пристроїв від постачальника IoT. Він відображається на вкладці «Історія даних пристрою».

Оскільки дані можуть надходити з кількох пристроїв, дія Pull device data вимагає EntityCollection як вхідні дані. Наступна таблиця описує параметри EntityCollection.

Параметр Ввести Докладні відомості
msdyn_iotdeviceid рядок Ідентифікатор пристрою GUID (msdyn_iotdevice) у Connected Field Service, перетворений на рядок
msdyn_name рядок Ім’я пристрою
@odata.type рядок Тип 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"
      }
  ]
}

Дія Pull device data повертає отримані дані у серіалізованому форматі JSON. Наступна таблиця описує параметри виводу PullDeviceDataResultsJSON.

Властивість JSON Ввести Докладні відомості
ІДЕНТИФІКАТОР рядок Ідентифікатор пристрою GUID (msdyn_iotdevice) у Connected Field Service, перетворений на рядок
ConnectionState boolean Чи пристрій відключено (false) або підключено (true)
ConnectionStateUpdatedTime datetime Позначка часу останнього оновлення стану з’єднання від постачальника IoT
DeviceReportedProperties рядок Властивості звіту пристрою, відформатовані як рядок 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 рядок Ідентифікатор пристрою GUID (msdyn_iotdevice) у Connected Field Service, перетворений на рядок
msdyn_name рядок Ім’я пристрою
@odata.type рядок Тип 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 Ввести Докладні відомості
ІДЕНТИФІКАТОР рядок Ідентифікатор пристрою GUID (msdyn_iotdevice) у Connected Field Service, перетворений на рядок
RegistrationStatus Значення набору параметрів Статус реєстрації від провайдера IoT назад до Connected Field Service
Цінності та ярлики:
- 192350000: Unknown (Невідомо)
- 192350001: Unregistered (Незареєстровано)
- 192350002 : In progress (Виконується)
- 192350003: Registered (Зареєстровано)
- 192350004: Error (Помилка)
Примітка: Набір опцій — це список параметрів із зіставленням між міткою-значенням, як елемент керування випадаючим списком.
DeviceId рядок ID пристрою в системі IoT-провайдера
Нагадати про таке завдання: рядок Детальне повідомлення користувачу 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.

Скріншот пристрою IoT у Field Service, що показує зведені показники.

У наступній таблиці описані вхідні параметри дії агрегованих показань приладу.

Параметр Ввести Докладні відомості
deviceId рядок Ідентифікатор пристрою GUID (msdyn_iotdevice) у Connected Field Service, перетворений на рядок
міри рядок Список вимірювань у форматі JSON; Дивіться наступний фрагмент фрагмента коду для прикладу

Приклад вхідних даних:

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

Дія «Агреговані показання пристрою» повертає вимірювання у серійному форматі JSON. У наступній таблиці відображені параметри виводу.

Властивість JSON Ввести Докладні відомості
measuresOutput рядок Значення повернутих вимірювань у форматі 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 і відображає їх у вигляді діаграми часових рядів.

Скріншот температури та вологості пристрою за певний проміжок часу.

У наведеній нижче таблиці описані вхідні параметри дії зчитування пристрою Query.

Параметр Ввести Докладні відомості
Відправник datetime Час початку зняття показань (вимірювань) у форматі ISO; Наприклад, "2020-04-10T13:51:55.781Z"
To datetime Час закінчення зняття показань (вимірювань) у форматі ISO
IoTDeviceId рядок Ідентифікатор пристрою GUID (msdyn_iotdevice) у Connected Field Service, перетворений на рядок
Інтервал рядок Розмір інтервалу точки побудови графіка, заданий у форматі тривалості ISO-8601; наприклад, 1 хвилина – це «PT1M», 1 мілісекунда — «PT0,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 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 Ввести Докладні відомості
Відправник datetime Час початку зняття показань (вимірювань) у форматі ISO; Наприклад, "2020-04-10T13:51:55.781Z"
To datetime Час закінчення зняття показань (вимірювань) у форматі ISO
IoTDeviceId рядок Ідентифікатор пристрою GUID (msdyn_iotdevice) у Connected Field Service, перетворений на рядок

Приклад вхідних даних:

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

Дія «Отримати події пристрою» повертає дані у серіалізованому форматі JSON. У наступній таблиці відображені параметри виводу.

Властивість JSON Ввести Докладні відомості
EventsName рядок Короткий опис категорії заходу; Використовуйте його, щоб відобразити або приховати всі події в цій категорії
Позначка часу рядок Часова позначка події, відформатована у вигляді рядка у форматі ISO; Позначка часу осі X для піну події
Колір рядок Колір піну події, наданий у вигляді рядка шістнадцяткового коду
Опис рядок Короткий опис події, що відображається, коли користувач наводить курсор на пін або вибирає пін для перегляду деталей
ІДЕНТИФІКАТОР рядок Ідентифікатор події; може бути ім’ям або іншим зручним для користувача значенням, наприклад, номером замовлення або кодом підтвердження бронювання
Об'єкт рядок Назва Dataverse сутності, пов’язана з подією, наприклад "msdyn_workorder"
URL-адреса рядок URL-адреса сторінки з відомостями про подію, як-от пов’язане з формою замовлення-замовлення.
Якщо ви передасте сутність і GUID, система автоматично згенерує гіперпосилання.
GUID рядок GUID, перетворений на рядок, запису сутності в Dataverse

Зразок виводу:

{
  "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"
    }
  }
}

Наступні кроки