update_hw_params

Para obtener, comprobar o actualizar la configuración del dispositivo (hardware), o para descargar un archivo de configuración, utilice el método unit/update_hw_params.

Endpoint

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

Parámetros

La solicitud debe contener los siguientes parámetros:

Parámetro Descripción
hwId ID del tipo de dispositivo.
action Acción:
  • set: establecer la configuración;
  • check_config: comprobar si el dispositivo tiene parámetros para configurar;
  • download_file: descargar el archivo de configuración;
  • get: obtener la configuración.

Los demás parámetros dependen del valor de action (ver más abajo).

Parámetros para action=set

Si action=set, especifique los siguientes parámetros adicionales:

Parámetro Descripción
itemId ID de la unidad.
params_data Datos de los parámetros.
params Array de configuraciones de parámetros.
name Nombre del parámetro.
type Tipo del parámetro (ver más abajo).
value Valor del parámetro.
reset Flag: 1 para restablecer el valor predeterminado, 0 para no restablecerlo.
set_psw Flag (si el tipo del parámetro es password): 1 para cambiar la contraseña, 0 para no cambiarla.
reset_all Restablecer la configuración del tipo de dispositivo.
full_data Si se pasa 0, el parámetro value almacena la ruta del archivo que se carga. Si se pasa 1, almacena la cadena HEX.

Ejemplo:

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>
  }
}

Están disponibles los siguientes tipos de parámetros:

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

Si el parámetro es del tipo file, utilice una solicitud POST con contenido múltiple (multipart/form-data) para cargar el archivo. Por ejemplo:

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":<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--

Parámetros para action=download_file

Si action=download_file, especifique los siguientes parámetros adicionales:

Parámetro Descripción
itemId ID de la unidad.
fileId ID del archivo de configuración.

Ejemplo:

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

Parámetros para action=get

Si action=get, especifique los siguientes parámetros adicionales:

Parámetro Descripción
itemId ID de la unidad.
fullData Flag: 0 para solicitar la configuración sin archivos, 1 para solicitar la configuración con archivos.

Ejemplo:

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

Respuesta

Si la solicitud se completa con éxito, la respuesta depende del valor del parámetro action.

Para action=set:

Copied!
{}

Para action=check_config:

Copied!
{
    "error":<uint>    /* Si el valor es 0, el dispositivo tiene parámetros adicionales. Cualquier otro valor indica que no hay parámetros. */
}

Para action=download_file, la respuesta contiene el archivo de configuración.

Para action=get:

Copied!
[
    {               /* Configuración del parámetro. */
        "default":<text|int|double>,  /* Valor predeterminado. */
        "description":<text>,     /* Descripción. */
        "label":<text>,           /* Nombre. */
        "maxval":<int|double>,        /* Valor máximo. */
        "minval":<int|double>,        /* Valor mínimo. */
        "name":<text>,            /* Nombre del sistema. */
        "readonly":<bool>,        /* Solo lectura: 1 - sí, 0 - no. */
        "type":<text>,            /* Tipo. */
        "value":<text|int|double> /* Valor. */
    }
]

Si el tipo de dispositivo no tiene configuración, la respuesta para action=get es {}.

Si la solicitud falla, se devuelve un código de error.

Códigos de error

Código de error Descripción
3 El tipo de dispositivo no tiene configuración. Solo para la acción check_config.
4 Parámetros de entrada incorrectos.
6 No se pudieron actualizar los parámetros del dispositivo.
1005 La configuración del tipo de dispositivo no contiene parámetros. Solo para la acción check_config.

Si nota un error en el texto, por favor resáltelo y presione Ctrl+Intro.