Skip to content
На этой странице:

10. Связывание правила с группой устройств

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

Создание группы устройств

В рамках примера группа устройств будет определяться классом, полученном на шаге Создание класса устройства.

Чтобы создать группу устройств, используйте метод POST front-api-srv/api/v1.0/rule/device-group.

ПараметрТипТип данныхОбяз.ОписаниеПример
namebodystring+Название группы устройствГруппа устройств
isValidationSkipbodybool+Признак необходимости валидации принадлежности устройств к классуfalse
typesbodyarray[object]+Тип группы устройств. Массив данных. Пример - класс устройств00d00000-0ed0-0a0f-beb0-df0b000a0000

Пример тела запроса:

json
{
    "name": "Группа устройств",
    "isValidationSkip": false,
    "types": [
      "00d00000-0ed0-0a0f-beb0-df0b000a0000"
    ]
}

После успешного выполнения запроса будет получен ответ, содержащий данные сохраненной группы. Полученное значение уникального идентификатора группы устройств потребуется для дальнейших действий.

Пример ответа:

json
{
    "id": "d82cf582-6a88-459d-8dce-02b3bbc1d87c",
    "name": "Группа устройств",
    "isValidationSkip": false,
    "types": [
      "00d00000-0ed0-0a0f-beb0-df0b000a0000"
    ]
}

Привязка группы устройств к правилу

Привязка группы устройств к правилу осуществляется с помощью метода POST /front-api-srv//api/v1.0/rule/rule-set/bind.

Тело запроса содержит следующие параметры:

ПараметрТипТип данныхОбяз.ОписаниеПример
ruleSetIdbodystring+Идентификатор правила17b894de-56bb-4dc6-97e6-8f3e0087ddff
deviceGroupIdbodystring+Идентификатор группы устройствd82cf582-6a88-459d-8dce-02b3bbc1d87c

Пример тела запроса:

json
{
    "ruleSetId": "17b894de-56bb-4dc6-97e6-8f3e0087ddff",
    "deviceGroupId": "d82cf582-6a88-459d-8dce-02b3bbc1d87c"
}

При успешном выполнении запроса будет получен ответ с кодом 200 ОК.

Проверка работы правила

Для проверки работы правила можно выполнить запрос эмуляции передачи телеметрии для устройства с помощью метода POST /front-api-srv//api/v1.0/rule/put-telemetry.

Тело запроса содержит следующие параметры:

ПараметрТипТип данныхОбяз.ОписаниеПример
deviceIdbodystring+Идентификатор устройства000000b0-00ca-0000-00f0-0a0000000eb0
classIdbodystring+Идентификатор класса00d00000-0ed0-0a0f-beb0-df0b000a0000
valuesbodyarray[object]+Значения телеметрии-

object "values"

ПараметрТипТип данныхОбяз.ОписаниеПример
rssibodystring-Параметр телеметрии5

Пример тела запроса:

json
{
    "deviceId": "000000b0-00ca-0000-00f0-0a0000000eb0",
    "classId": "00d00000-0ed0-0a0f-beb0-df0b000a0000",
    "values": {
        "rssi": 5
    }
}

При успешном выполнении запроса в ответе будет получен код 200 ОК. Установленное правило должно будет запустить действие на отправку уведомления пользователю.