Для того, чтобы изменить конфигурацию оборудования, нужно использовать команду unit/update_hw_params:
svc=unit/update_hw_params¶ms={"hwId":<text>, "action":<text>, ...}
Обязательные параметры:
Название | Описание |
---|---|
hwId | ID типа оборудования |
action | действие: set - установить конфигурацию; check_config - проверить есть ли у оборудования параметры для конфигурирования; download_file - скачать файл конфигурации; get - получить конфигурацию |
Дополнительные параметры, если action = set:
{ "itemId":<long>, "params_data":{ "params": [{ "name":<text>, "type":<text>, "value":<text|int|double>, "reset":<uint>, "set_psw":<uint> }], "reset_all":<uint>, "full_data":<uint> } }
Название | Описание |
---|---|
itemId | ID объекта |
params_data | данные о параметрах |
params | массив конфигураций параметров |
name | название параметра |
type | тип параметра (см. ниже) |
value | значение |
reset | флаг: 1 - сбросить на значение по умолчанию, 0 - не сбрасывать |
set_psw | флаг(если тип параметра «password»): 1 - поменять пароль, 0 - не менять |
reset_all | сбросить конфигурацию типа оборудования |
full_data | если 0 - то в value хранится путь, где лежит файл, если 1 - то в value содержится HEX-строка |
Типы параметров:
Если параметр типа файл, то чтобы загрузить его, используйте 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":<text>,"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:
{ "itemId":<long>, "fileId":<text> }
Название | Описание |
---|---|
itemId | ID объекта |
fileId | ID файла конфигурации |
Дополнительные параметры, если action = get:
{ "itemId":<long>, "fullData":<uint> }
Название | Описание |
---|---|
itemId | ID объекта |
fullData | флаг: 0 - запрашивать конфигурацию без файлов, 1 - запрашивать конфигурацию с файлами |
Если 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> /* значение */ } ]