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

update_hw_params

Чтобы получить, проверить или изменить конфигурацию устройства или скачать файл конфигурации, используйте метод unit/update_hw_params.

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

Copied!
svc=unit/update_hw_params&params={
    "hwId": <long>,
    "action": <text>,
    ...
}

Параметры

Запрос должен содержать следующие параметры:

Параметр Описание
hwId ID типа устройства.
action Действие:
  • set — задать конфигурацию;
  • check_config — проверить, есть ли у устройства параметры для настройки;
  • download_file — скачать файл конфигурации;
  • get — получить конфигурацию.

Остальные параметры зависят от значения action (см. ниже).

Параметры для action=set

Если action=set, укажите следующие дополнительные параметры:

Параметр Описание
itemId ID объекта.
params_data Данные параметров.
params Массив конфигураций параметров.
name Имя параметра.
type Тип параметра (см. ниже).
value Значение параметра.
reset Флаг: 1 — сбросить до значения по умолчанию, 0 — не сбрасывать.
set_psw Флаг (если тип параметра — password): 1 — изменить пароль, 0 — не изменять пароль.
reset_all Сбросить конфигурацию типа устройства.
full_data Если передано значение 0, параметр value содержит путь к загружаемому файлу. Если передано значение 1, он содержит HEX-строку.

Пример:

Copied!
{
  "itemId": <long>,
  "params_data": {
    "params": [
      {
        "name": <text>,
        "type": <text>,
        "value": <text|int|double>,
        "reset": <uint>,
        "set_psw": <uint>
      }
    ],
    "reset_all": <uint>,
    "full_data": <uint>
  }
}

Доступны следующие типы параметров:

  • text
  • file
  • long
  • double
  • int
  • bool
  • password

Если параметр имеет тип file, для загрузки файла используйте POST-запрос с составным содержимым (multipart/form-data). Например:

Copied!
POST /wialon/ajax.html?svc=unit/update_hw_params&sid=<long> HTTP/1.1
Host: <host>
Connection: keep-alive
Content-Length: <uint>
Cache-Control: max-age=0
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryUZNF25nwwhMzU9Me
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.3
 
------WebKitFormBoundaryUZNF25nwwhMzU9Me
Content-Disposition: form-data; name="params"
 
{"itemId":<long>,"hwId":<long>,"params_data":{"reset_all":0,"params":[
{"name":"custom_polls_file","type":"file","value":"cfg_param_custom_polls_file","data":"","reset":0}],
"full_data":0},"action":"set"}
 
------WebKitFormBoundaryUZNF25nwwhMzU9Me
Content-Disposition: form-data; name="cfg_param_custom_polls_file"; filename="file.txt"
Content-Type: text/plain
 
<binary data>
------WebKitFormBoundaryUZNF25nwwhMzU9Me--

Параметры для action=download_file

Если action=download_file, укажите следующие дополнительные параметры:

Параметр Описание
itemId ID объекта.
fileId ID файла конфигурации.

Пример:

Copied!
{
    "itemId":<long>,
    "fileId":<text>
}

Параметры для action=get

Если action=get, укажите следующие дополнительные параметры:

Параметр Описание
itemId ID объекта.
fullData Флаг: 0 — запросить конфигурацию без файлов, 1 — запросить конфигурацию с файлами.

Пример:

Copied!
{
    "itemId":<long>,
    "fullData":<uint>
}

Ответ

Если запрос выполнен успешно, возвращаемый результат зависит от значения параметра action.

Для action=set:

Copied!
{}

Для action=check_config:

Copied!
{
    "error":<uint>    /* Если значение равно 0, у устройства есть дополнительные параметры. Любое другое значение означает, что параметров нет. */
}

Для action=download_file возвращаемый результат содержит файл конфигурации.

Для action=get:

Copied!
[
    {               /* Конфигурация параметра. */
        "default":<text|int|double>,  /* Значение по умолчанию. */
        "description":<text>,     /* Описание. */
        "label":<text>,           /* Имя. */
        "maxval":<int|double>,        /* Максимальное значение. */
        "minval":<int|double>,        /* Минимальное значение. */
        "name":<text>,            /* Системное имя. */
        "readonly":<bool>,        /* Только для чтения: 1 — да, 0 — нет. */
        "type":<text>,            /* Тип. */
        "value":<text|int|double> /* Значение. */
    }
]

Если у типа устройства нет конфигурации, для action=get возвращается {}.

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

Коды ошибок

Код ошибки Описание
3 У типа устройства нет конфигурации. Только для действия check_config.
4 Неверные входные параметры.
6 Не удалось изменить параметры устройства, или тип устройства не найден или недоступен в тарифном плане.
1005 Конфигурация типа устройства не содержит параметров. Только для действия check_config.

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