calc_sensors

Para obtener los valores de los sensores, utilice el método unit/calc_sensors.

Copied!
svc=unit/calc_sensors&params={
  "source": <text>,
  "indexFrom": <uint>,
  "indexTo": <uint>,
  "unitId": <long>,
  "sensorId": <long>,
  "width": <uint>
}

Parámetros

Parámetro Descripción
source Fuente de los mensajes (nombre de la capa). Si este parámetro está vacío, se utiliza de forma predeterminada el cargador de mensajes.
indexFrom Índice del primer mensaje.
indexTo Índice del último mensaje.
unitId ID de la unidad.
sensorId ID del sensor. Si tiene el valor 0, se devuelven los valores de todos los sensores.
width Cantidad de elementos que se deben devolver. Parámetro opcional.
Este parámetro se utiliza cuando se necesita una cantidad fija de valores de sensores agregados (es decir, preprocesados). Resulta especialmente útil para generar gráficos con datos preprocesados y ampliarlos.
El proceso funciona de la siguiente manera:
  1. El sistema obtiene todos los mensajes dentro de los límites especificados.
  2. El sistema divide todo el intervalo en la cantidad de subintervalos especificada en el parámetro width.
  3. En cada subintervalo, el sistema determina el primer valor registrado del sensor (izquierdo), el último valor registrado (derecho), el valor mínimo (inferior) y el valor máximo (superior). Después, estos valores se combinan en la respuesta final del servidor.

Respuesta

Si la solicitud sin el parámetro width se completa con éxito, se devuelve una respuesta en el siguiente formato:

Copied!
[   /* Array de datos de mensajes */
  {   /* Valores de los sensores de un mensaje */
    <text>: <double|text>,   /* ID del sensor: valor del sensor */
    ...
  }
]

Si no se puede calcular el valor de un sensor para un mensaje (por ejemplo, el mensaje no contiene el parámetro que utiliza el sensor), se devuelve -348201.3876 para este sensor.

Si se especifica width, se devuelve una respuesta en el siguiente formato. Cada sensor se devuelve en un array independiente:

Copied!
[
  [
    {
      "name": <text>,          /* ID del sensor */
      "data": [
        {
          "left": [<unix_time1>, <value1>],     /* Primer valor registrado del sensor en el subintervalo y su hora */
          "right": [<unix_time2>, <value2>],    /* Último valor registrado del sensor en el subintervalo y su hora */
          "bottom": [<unix_time3>, <value3>],   /* Valor mínimo del sensor en el subintervalo y su hora */
          "top": [<unix_time4>, <value4>]       /* Valor máximo del sensor en el subintervalo y su hora */
        },
        ...
      ]
    }
  ],
  ...
]

Si la solicitud no se ha completado, se devuelve un código de error.

Códigos de error

Código de error Descripción
4 Uno de los siguientes errores:
  • Datos de entrada no válidos.
  • No se pudieron obtener los mensajes de la unidad.
  • No se pudieron obtener los sensores de la unidad.
7 La unidad no existe o el usuario no tiene el derecho de acceso Ver objeto y sus propiedades básicas a ella.

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