Atributos calculados

Atributos calculados es una forma de controlar y dar flexibilidad a los datos reportados por los dispositivos. Puede ayudar a resolver algunos problemas cuando:

  • El dispositivo tiene entradas y salidas que pueden ser configuradas
  • Diferentes modelos que usan el mismo protocolo reportan diferentes datos y se desea estandarizar.
  • El dispositivo no informa del atributo deseado, pero puede convertirse o calcularse a partir de otros.

Los atributos calculados se aplican a todas las posiciones entrantes del dispositivo apropiado.

Permisos

El modelo usado para los atributos calculados es el mismo que para las Geocercas.

Si un atributo calculado es vinculado a un dispositivo significa que la plataforma aplicará este atributo a las posiciones enviadas por el dispositivo.

Si un atributo calculado es vinculado a un grupo, entonces la plataforma lo aplicará a todos los miembros de ese grupo y subgrupos.

Si un usuario tiene acceso a un atributo calculado, entonces podrá editar o eliminar el atributo calculado y vincularlo o desvincularlo de los dispositivos o grupos a los que tiene acceso.

Modelo

Atributos Calculados

Los atributos calculados tienen los siguientes campos:

  • Descripción para tener una idea de lo que se trata
  • Atributo es el nombre que se dará al valor calculado e insertado en la posición que ha enviado el dispositivo
  • Expresión es la función matemática para calcular el atributo. Debe ser escrita tomando en cuenta el formato de Java Expression Language (JEXL)
  • Tipo es la forma a la que se convertirá el resultado al  después de calcular.

Atributo

Hay una lista de atributos “estándar” con tipos predefinidos, también es posible crear y utilizar personalizados simplemente escribiendo su nombre en el campo.

Atributo Calculado Estándar

Expresión

Es el corazón del atributo calculado. Utiliza la flexible sintaxis JEXL calcular el resultado. Todos los campos de posición se asignan como objetos principales (latitud, longitud, velocidad, curso, etc.) que siempre están definidos.

Todos los atributos de posición también se asignan como objetos principales (satélites, batería, encendido, distancia, etc.). El conjunto de atributos definidos para cada dispositivo, además, podrían ser diferentes entre actualizaciones de posición.

Un cálculo que produce un resultado vacío o nulo no se almacenará en la posición.

Prueba

Probar atributo calculado

Ejemplo de obtención de atributos calculados

El uso de variables indefinidas provoca mensajes de advertencia en el registro. Si no está seguro de que el dispositivo siempre reporte algún atributo, se recomienda envolverlo en el operador ternario para comprobarlo antes.

1 – Usted tiene un dispositivo conectado al sistema eléctrico del automóvil y éste reporta su voltaje en el atributo “power”, pero no reporta estado de encendido en otro atributo. Puede intentar calcular dicho atributo:

Ignition
power ? power > 13.2 : null
Boolean

En este caso si el atributo “power” enviado por el dispositivo tiene un valor mayor a 13.2, entonces el atributo calculado de tipo booleano “Ignition” toma el valor “null”

2 – Usted tiene un dispositivo con algunos sensores y ha conectado el segundo sensor al cable de encendido.

Si dispositivo reporta el atributo como booleano en “in2”.

Ignition
in2 ? true : false
Boolean

Si dispositivo reporta el atributo como 0/1

Ignition
in2 ? in2 == 1 : false
Boolean

O un segundo bit en el atributo flags

Ignition
flags ? (flags & 2) != 0 : false
Boolean