Настройка действий поставщика Интернета вещей

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

Следующие действия идут вместе с Connected Field Service:

Извлечь данные устройства

Действие получения данных устройств извлекает последние данные для одного устройства или группы устройств от поставщика Интернета вещей. Оно отображается на вкладке История данных устройств.

Поскольку данные могут поступать с нескольких устройств, для действия «Извлечь данные устройств» в качестве входных данных требуется EntityCollection. В следующей таблице описываются параметры EntityCollection.

Параметр Type Details
msdyn_iotdeviceid string Идентификатор устройства GUID (msdyn_iotdevice) в Connected Field Service, преобразованный в строку
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 Type Details
Идентификатор string Идентификатор устройства GUID (msdyn_iotdevice) в Connected Field Service, преобразованный в строку
ConnectionState boolean Отключено ли устройство (false) или подключено (true)
ConnectionStateUpdatedTime datetime Метка времени последнего обновления состояния подключения от поставщика Интернета вещей
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"
     }
  ]
}

Зарегистрировать устройство

Действие «Зарегистрировать устройство» создает связь между устройством или набором устройств и поставщиком Интернета вещей. Новые устройства и устройства или компоненты, которые заменяет технический специалист, могут быть зарегистрированы. После регистрации устройства оно появится на вкладке История регистрации записи устройства Интернета вещей.

Поскольку одновременно можно зарегистрировать несколько устройств, для действия «Зарегистрировать устройство» в качестве входных данных требуется EntityCollection. В следующей таблице описываются параметры EntityCollection.

Параметр Type Details
msdyn_iotdeviceid string Идентификатор устройства GUID (msdyn_iotdevice) в Connected Field Service, преобразованный в строку
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 Type Details
Идентификатор string Идентификатор устройства GUID (msdyn_iotdevice) в Connected Field Service, преобразованный в строку
RegistrationStatus OptionSetValue Статус регистрации от поставщика Интернета вещей обратно в Connected Field Service
Значения и метки:
- 192350000: Неизвестно
- 192350001: Не зарегистрировано
- 192350002: Выполняется
- 192350003: Зарегистрировано
- 192350004: Ошибка
Примечание. OptionSet — это список параметров с сопоставлением "метка-значение", как в элементе управления раскрывающегося списка.
DeviceId string Идентификатор устройства в системе поставщика Интернета вещей
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"   
      }   
  ]
}

Агрегированные показания устройства

Действие «Агрегированные показания устройства» извлекает агрегированные данные устройства из поставщика Интернета вещей. Агрегированные данные предоставляют быстрый снимок состояния устройства на сводных плитках в Connected Field Service.

Снимок экрана устройства Интернета вещей в Field Service, показывающий сводные показания.

В следующей таблице описаны входные параметры действия «Агрегированные показания устройства».

Параметр Type Details
deviceId string Идентификатор устройства GUID (msdyn_iotdevice) в Connected Field Service, преобразованный в строку
измерения string Список измерений в формате JSON; примеры см. в следующем фрагменте кода

Образец ввода:

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

Действие «Агрегированные показания устройства» возвращает измерения в сериализованном формате JSON. В следующей таблице показаны выходные параметры.

Свойство JSON Type 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"
    }
]

Агрегированные показания устройства основаны на сущности истории данных устройства, если вы не используете действие агрегированных показаний устройства.

Запрос показаний устройства

Действие «Запрос показаний устройства» получает исторические данные устройства, такие как температура и влажность, от поставщика Интернета вещей и отображает их в виде диаграммы временных рядов.

Снимок экрана изменения температуры и влажности устройства с течением времени.

В следующей таблице описаны входные параметры действия «Запрос показаний устройства».

Параметр Type Details
From datetime Время начала отсчета (измерения) в формате ISO; например, «2020-04-10T13:51:55.781Z»
Действие datetime Время окончания отсчета (измерения) в формате ISO
IoTDeviceId string Идентификатор устройства GUID (msdyn_iotdevice) в Connected Field Service, преобразованный в строку
Интервал string Размер интервала точки построения, указанный в формате длительности 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 Type 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 Type Details
From datetime Время начала отсчета (измерения) в формате ISO; например, «2020-04-10T13:51:55.781Z»
Действие datetime Время окончания отсчета (измерения) в формате ISO
IoTDeviceId string Идентификатор устройства 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 Type Details
EventsName string Краткое описание категории события; используйте его, чтобы показать или скрыть все события в этой категории
Метка времени string Метка времени события в виде строки в формате ISO; временная метка оси X для булавки события
Color string Цвет булавки события, указанный в виде шестнадцатеричной строки
Description string Краткое описание события, отображаемое, когда пользователь наводит курсор на булавку или выбирает булавку, чтобы увидеть подробные сведения
Идентификатор string Идентификатор события; может быть именем или другим удобным для пользователя значением, например номером заказа на работу или кодом подтверждения резервирования
Объект string Имя сущности Dataverse, связанной с событием; например, «msdyn_workorder»
URL string URL-адрес страницы сведений для события, например ссылка на форму заказа на работу
Если вы передаете сущность и GUID, система автоматически создает гиперссылку.
GUID string Преобразованный в строку идентификатор 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"
    }
  }
}

Следующие шаги