update_hw_params
Чтобы получить, проверить или изменить конфигурацию устройства или скачать файл конфигурации, используйте метод unit/update_hw_params.
Конечная точка
svc=unit/update_hw_params¶ms={
"hwId": <long>,
"action": <text>,
...
}
Параметры
Запрос должен содержать следующие параметры:
| Параметр | Описание |
|---|---|
hwId |
ID типа устройства. |
action |
Действие:
|
Остальные параметры зависят от значения 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-строку. |
Пример:
{
"itemId": <long>,
"params_data": {
"params": [
{
"name": <text>,
"type": <text>,
"value": <text|int|double>,
"reset": <uint>,
"set_psw": <uint>
}
],
"reset_all": <uint>,
"full_data": <uint>
}
}
Доступны следующие типы параметров:
textfilelongdoubleintboolpassword
Если параметр имеет тип file, для загрузки файла используйте POST-запрос с составным содержимым (multipart/form-data). Например:
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 файла конфигурации. |
Пример:
{
"itemId":<long>,
"fileId":<text>
}
Параметры для action=get
Если action=get, укажите следующие дополнительные параметры:
| Параметр | Описание |
|---|---|
itemId |
ID объекта. |
fullData |
Флаг: 0 — запросить конфигурацию без файлов, 1 — запросить конфигурацию с файлами. |
Пример:
{
"itemId":<long>,
"fullData":<uint>
}
Ответ
Если запрос выполнен успешно, возвращаемый результат зависит от значения параметра action.
Для action=set:
{}
Для action=check_config:
{
"error":<uint> /* Если значение равно 0, у устройства есть дополнительные параметры. Любое другое значение означает, что параметров нет. */
}
Для action=download_file возвращаемый результат содержит файл конфигурации.
Для action=get:
[
{ /* Конфигурация параметра. */
"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. |