Справочный центр Wialon

update_health_check

Чтобы настроить диагностику объекта, используйте метод unit/update_health_check.

В Wialon Local этот метод доступен начиная с версии 2504.

Конечная точка

Copied!
svc=unit/update_health_check&params={
    "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.

Copied!
{
    "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.

Copied!
svc=unit/update_health_check&params={
    "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
                }
            ]
        }
    }
}

Ответ

При успешном выполнении запроса возвращается пустой объект:

Copied!
{}

Если запрос выполнить не удалось, возвращается код ошибки.

Коды ошибок

Код ошибки Описание
4 Неверные входные параметры, или значение period критерия отсутствует или некорректно.
6 Не удалось изменить настройки диагностики.
7 Объект не существует, не подключена услуга Объекты: Диагностика или у пользователя нет права доступа Редактирование неупомянутых свойств на объект.

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter.