Crear un Tipo de Variable
Ir al cliente, configuración de dispositivos y dentro de ellos seleccionar la opción ‘Tipos de Variables’

y allí presionar el botón Agregar para poder configurar la variable

Una vez presionado el botón "Agregar", se visualizará un formulario donde completar la información de la variable.

En el campo "Descripción", ingresar un nombre representativo para identificar la variable creada y qué tipo de sensor estará midiendo.
En el campo "Tipo de Variable" seleccionar del listado el subtipo que representa la medición recibida.
Existen varios subtipos disponibles en la plataforma:
- Escalar: para variables que pueden tomar cualquier valor dentro de un rango determinado. Ejemplo: temperatura, presión, etc.
- Discreto: para variables que solo pueden tomar valores específicos, a menudo representando categorías o estados fijos. Ejemplo: encendido/apagado, activo/inactivo, etc.
- De Flujo: para variables que miden el flujo de algo que se mueve a través de un sistema. Ejemplo: flujo de agua, de gas, etc.
- De Fecha: para variables que miden una fecha específica (sin considerar la hora exacta). Ejemplo: fecha de un evento.
- De Hora: para ser usadas en variables que miden un rango de tiempo o una hora exacta (sin asociarse a una fecha). Ejemplo: hora del sistema.
- De Fecha y Hora: para variables que reciben tanto la fecha como la hora exacta de un evento. Ejemplo: timestamp de un sensor.
y por último definir la Unidad de media con la cual se van a registrar los estados en esa variable. Es importante que esta unidad esté alineada con el tipo de variable seleccionada.
Algunas unidades comunes incluyen:
Escalar: Grados Celsius (°C), Pasuales (Pa), metros (m), etc.
Discreto: se definen estados (encendido/apagado, positivo/negativo/neutro).
De Flujo: Litros por minuto (L/min), metros cúbicos por hora (m³/h), etc.
De Fecha: Fecha en formato (DD/MM/AAAA).
De Hora: Hora en formato (HH:MM).
De Fecha y Hora: Fecha y hora en formato (DD/MM/AAAA HH:MM).
Para definir los valores de las variables discretas, se deben crear Estados.
Los estados son valores fijos que describen diferentes condiciones o categorías en las que puede estar la variable.
Para cada estado, se debe completar los siguientes campos:
Valor:
Este campo indica el valor asociado al estado (por ejemplo, 1 para "encendido" o 0 para "apagado").
Color:
Cada estado puede tener un color asociado para una visualización rápida y clara. Por ejemplo, el color verde para "activo" y rojo para "inactivo".
Texto Explicativo del Estado:
Proporciona una breve descripción o explicación para cada estado. Por ejemplo, si el valor es 1 y el estado es "Encendido", el texto explicativo podría ser: "Activo".
Por último, presionar el botón Guardar para crear la variable

La misma quedará disponible en el listado de variables para el cliente.

Estas variables estarán disponibles posteriormente para ser utilizadas en la configuración de cualquiera de los dispositivos del cliente, a través del script de configuración del modelo de dispositivo.
Para crear una Variable Custom
Se precisa:
- Declararla en el método
**getEndpoints()**para lo cual es necesario contar con un tipo genérico (endpointType.genericSensor) y una identficación de la variable a través delvariableTypeId.
´Puede actualizarse su valor utilizando el método **parseUplink()**, extrayéndol los valores del payload.
Ejemplo: Variable Custom para SNR
En este ejemplo se crea una variable de tipo custom SNR (Signal-to-Noise Ratio) llamada SNR_FT, que corresponde al valor de recibido a travès del payload.
Paso 1: Definir el endpoint en getEndpoints()
javascript
function getEndpoints(deviceAddress, endpoints)
{
var snr = endpoints.addEndpoint("3", "SNR_FT", endpointType.genericSensor);
snr.variableTypeId = 1433;
}Con este código:
- Se agrega un nuevo endpoint con ID
"3" - se le da el nombre de
"SNR_FT". - El tipo de endpoint es
genericSensorpara cualqier variables que no pueda definirse dentro de los sensores predefinidos. - Se asigna un identficador único - el
variableTypeId = 1433que tiene que coincidir con el tipo de variable configurado en la plataforma (por ejemplo, un tipo de dato genérico, numérico o específico de SNR).
Paso 2: Procesar el payload en parseUplink()
javascript
function parseUplink(device, payload) {
var parsed = payload.asParsedObject();
if (parsed.snr != 0) {
device.endpoints.byIndex(2).updateGenericSensorStatus(parsed.snr);
} else {
device.endpoints.byIndex(2).updateGenericSensorStatus(null);
}
}Con este código:
- Se convierte al payload en un objeto accesible (
asParsedObject()). - Verifica si el valor de
snrrecibido es distinto de 0.- Si lo es, actualiza el valor del endpoint correspondiente con ese dato.
- Cuando el valor es 0, actualiza el sensor como nulo (lo deja sin datos)
Recomendaciones
- el
device.endpoints.byIndex(2)refiere al tercer endpoint agregado (índice base 0). Es primordial aseguraste de que el orden de creación de endpoints coincida con el índice que se estás utilizando. - Verificar que el
variableTypeIdesté correctamente configurado (coincida el tipo) y dsté disponible en la plataforma. - Usar nombres descriptivos para las variables custom (por ejemplo,
SNR_FT,VoltajeBateria, etc.). - Para el caso de múltiples variables Custom, es fundamental documentar bien los índices (
byIndex(n)) para un mapeo correcto de la información.
Tipos de Variables
Introducción Los tipos de variables definen las unidades de medida y el comportamiento esperado de una variable reportada a la plataforma. Existen determinados...
Clonar tipos de variables
Introducción Las variables nos permiten definir y determinar conteos o mediciones de múltiples estados, como por ejemplo, temperatura, tiempo, ocupación, flujo...