To update hardware configuration, use the command unit/update_hw_params:
svc=unit/update_hw_params¶ms={"hwId":<text>, "action":<text>, ...}
Parameters
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:
-
-
text;
-
-
-
file;
-
-
-
long;
-
-
-
double;
-
-
-
int;
-
-
-
bool;
-
-
password.
If the parameter is of “file” type, use a POST request with multiple contents (multipart/form-data) to upload it.
For example:
POST /example/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 |
Response
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 */ } ]