update_health_check
Чтобы настроить диагностику объекта, используйте метод unit/update_health_check.
В Wialon Local этот метод доступен начиная с версии 2504.
Конечная точка
svc=unit/update_health_check¶ms={
"itemId": <long>,
"settings": <object>
}
Параметры
В запросе должны содержаться следующие параметры:
| Параметр | Описание |
|---|---|
itemId |
ID объекта. |
settings |
Объект с настройками диагностики. См. Критерии диагностики. |
Критерии диагностики
Объект settings может содержать следующие ключи. Каждый ключ необязателен. Если ключ не указан, применяются настройки этого критерия по умолчанию. Другие ключи игнорируются.
| Ключ | Критерий |
|---|---|
missing_position_data |
Нет GPS-данных |
insufficient_satellite_coverage |
Количество спутников |
low_battery |
Заряд батареи устройства |
voltage_out_of_range |
Уровень напряжения. Применяется ко всем датчикам напряжения объекта. |
max_messages_last_hour |
Количество сообщений в час |
max_distance_between_messages |
Расстояние между сообщениями. Значение указывается в метрах. |
no_data |
Нет сообщений |
stuck_fls |
Данные о топливе не меняются. Применяется ко всем датчикам уровня топлива объекта. |
ignition_is_off |
Зажигание выключено. Применяется ко всем датчикам зажигания объекта. |
Описание каждого критерия см. в разделе Список критериев.
Чтобы получить текущие настройки диагностики объекта, запросите данные объекта с флагом Расширенные свойства 0x00000100 (256). Настройки возвращаются в ключе hch.
Каждый ключ содержит объект со следующими параметрами:
| Параметр | Описание |
|---|---|
period |
Обязательный. Период, по истечении которого устройство объекта считается неисправным: 1m, 10m, 1h, 1d, <N>s (количество секунд от 0 до 2592000) или none, чтобы отключить критерий. В Wialon Local формат <N>s доступен начиная с версии 2604. |
unhealthy_conditions |
Необязательный. Массив условий. Каждое условие содержит type (less, greater, equal, not_equal или unchanged) и value (double). |
Пример JSON
Ниже приведен пример объекта settings.
{
"low_battery": {
"period": "1h",
"unhealthy_conditions": [
{
"type": "less", // less (меньше), greater (больше), equal (равно), not_equal (не равно), unchanged (не изменяется)
"value": 20.0
}
]
},
"max_messages_last_hour": {
"period": "1m",
"unhealthy_conditions": [
{
"type": "greater", // less (меньше), greater (больше), equal (равно), not_equal (не равно), unchanged (не изменяется)
"value": 1000.0
}
]
},
"no_data": {
"period": "1d"
},
"missing_position_data": {
"period": "1m"
},
"insufficient_satellite_coverage": {
"period": "1m",
"unhealthy_conditions": [
{
"type": "less", // less (меньше), greater (больше), equal (равно), not_equal (не равно), unchanged (не изменяется)
"value": 4.0
}
]
},
"max_distance_between_messages": {
"period": "1h",
"unhealthy_conditions": [
{
"type": "greater", // less (меньше), greater (больше), equal (равно), not_equal (не равно), unchanged (не изменяется)
"value": 100000.0 // м
}
]
},
"voltage_out_of_range": {
"period": "1m",
"unhealthy_conditions": [
{
"type": "less", // less (меньше), greater (больше), equal (равно), not_equal (не равно), unchanged (не изменяется)
"value": 12.0
},
{
"type": "greater", // less (меньше), greater (больше), equal (равно), not_equal (не равно), unchanged (не изменяется)
"value": 13.0
}
]
},
"stuck_fls": {
"period": "1m",
"unhealthy_conditions": [
{
"type": "unchanged", // less (меньше), greater (больше), equal (равно), not_equal (не равно), unchanged (не изменяется)
"value": 0.0 // не используется
}
]
},
"ignition_is_off": {
"period": "1m",
"unhealthy_conditions": [
{
"type": "equal", // equal (равно), not_equal (не равно)
"value": 0.0 // 0.0: выкл., 1.0: вкл.
}
]
}
}
Пример
Ниже приведен пример запроса unit/update_health_check.
svc=unit/update_health_check¶ms={
"itemId": 1583,
"settings": {
"low_battery": {
"period": "1h",
"unhealthy_conditions": [
{
"type": "less",
"value": 20.0
}
]
},
"max_messages_last_hour": {
"period": "1m",
"unhealthy_conditions": [
{
"type": "greater",
"value": 1000.0
}
]
},
"no_data": {
"period": "1d"
},
"missing_position_data": {
"period": "1m"
},
"insufficient_satellite_coverage": {
"period": "1m",
"unhealthy_conditions": [
{
"type": "less",
"value": 4.0
}
]
},
"max_distance_between_messages": {
"period": "1h",
"unhealthy_conditions": [
{
"type": "greater",
"value": 100000.0
}
]
},
"voltage_out_of_range": {
"period": "1m",
"unhealthy_conditions": [
{
"type": "less",
"value": 12.0
},
{
"type": "greater",
"value": 13.0
}
]
},
"stuck_fls": {
"period": "1m",
"unhealthy_conditions": [
{
"type": "unchanged",
"value": 0.0
}
]
},
"ignition_is_off": {
"period": "1m",
"unhealthy_conditions": [
{
"type": "equal",
"value": 0.0
}
]
}
}
}
Ответ
При успешном выполнении запроса возвращается пустой объект:
{}
Если запрос выполнить не удалось, возвращается код ошибки.
Коды ошибок
| Код ошибки | Описание |
|---|---|
| 4 | Неверные входные параметры, или значение period критерия отсутствует или некорректно. |
| 6 | Не удалось изменить настройки диагностики. |
| 7 | Объект не существует, не подключена услуга Объекты: Диагностика или у пользователя нет права доступа Редактирование неупомянутых свойств на объект. |