To update hardware configuration, use the command unit/update_hw_params:
svc=unit/update_hw_params¶ms={"hwId":<text>, "action":<text>, ...}
Required parameters:
| Name | Description |
|---|---|
| hwId | hardware type ID |
| action | action: set - set configuration; check_config - check if hardware has parameters for configuring; download_file - download configuration file; get - get configuration |
Additional parameters, if 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> } }
| Name | Description |
|---|---|
| itemId | unit ID |
| params_data | parameters data |
| params | array of parameters configurations |
| name | parameter name |
| type | parameter type (see below) |
| value | parameter value |
| reset | flag: 1 - reset on default value, 0 - do not reset |
| set_psw | flag (if parameter type “password”): 1 - change password, 0 - do not change |
| reset_all | reset hardware type configuration |
| full_data | if 0 - then “value” store path of uploading file, if 1 - then “value” store HEX-string |
Parameter types:
If the parameter is of “file” type, use a POST request with multiple contents (multipart/form-data) to upload it.
For example:
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--
Additional parameters, if action = download_file:
{ "itemId":<long>, "fileId":<text> }
| Name | Description |
|---|---|
| itemId | unit ID |
| fileId | configuration file ID |
Additional parameters, if action = get:
{ "itemId":<long>, "fullData":<uint> }
| Name | Description |
|---|---|
| itemId | unit ID |
| fullData | flag: 0 - request configuration without files, 1 - request configuration with files |
If action = set:
{} /* empty object if execution successful, if not - error code */
If action = check_config:
{ "error":<uint> /* 0 - hardware has additional parameters, any other value - no parameters */ }
If action = download_file:
{} /* empty object if execution successful, if not - error code */
If action = get:
[ { /* parameter configuration*/ "default":<text|int|double>, /* default value */ "description":<text>, /* description */ "label":<text>, /* name */ "maxval":<int|double>, /* max value */ "minval":<int|double>, /* min value */ "name":<text>, /* system name */ "readonly":<bool>, /* read only: 1 - yes, 0 - no */ "type":<text>, /* type */ "value":<text|int|double> /* value */ } ]