Adquio, miles de dispositivos Casambi monitorizados.

Adquio controlando el estado de miles de luminarias

Una de las misiones que Adquio cumple en las instalaciones Casambi, es la de monitorizar toda la instalación y avisar de posibles fallos de dispositivos de forma rápida y eficiente. Para esto Adquio usa las variables online de todos los dispositivos de la red Casambi. ¿Pero como lo hace?, ¿Tiene que ir uno a uno revisando estas variables?

Como ya sabéis, Adquio trabaja con un sistema orientado a eventos, esto significa que Adquio recibe todos los cambios de variable de cada dispositivo de forma automática y solo actúa si el usuario ha conectado ese evento para gestionar dicho cambio.

Pero…  ¿Entonces debo conectar un evento a cada una de mis drivers? Lo normal sería tener que hacerlo así, pero Adquio tiene formas de conectar los eventos añadiendo que los dispositivos y variables que lanzan dicho evento pueden tener que cumplir unos criterios en su nombre. Es decir, si nosotros hemos llamado de la misma forma a todos nuestros drivers pero añadiendo un número, entonces el evento puede indicar si el nombre del dispositivo empieza por… y el nombre de la variable es “online”.

Veamos cómo hacerlo, esto es un evento normal:

events.addListener({ eventName: 'VariableChange', 
                     deviceCode: 'adquio-unit_001', 
                     variableCode: 'online' }, (ev) => {
// Escribe aquí tu código

});

Expliquemos cómo funciona:

  • Estamos diciéndole a Adquio que queremos gestionar un evento de cambio de variable VariableChange.
  • Que lo queremos hacer del dispositivo que se llama adquio-unit_001 (dentro de Adquio todos los dispositivos Casambi tienen este tipo de nombres).
  • Y a continuación le indicamos el nombre de la variable que queremos monitorizar en este caso online.
  • Por último este sistema nos dejará en  ev un objeto que tendrá asociados todos los valores de este evento, como el nombre del dispositivo, el nombre de la variable, y sobre todo su contenido actual y aún más importante su contenido previo al cambio que ha hecho saltar este evento.

Con esto podemos gestionar todos los cambios de la variable online del dispositivo driveradquio-unit_001. Como sabemos que esta variable gestiona el estado del dispositivo, si su valor cambia a 0 entonces… tenemos un problema. Este problema lo podemos notificar de forma inmediata a través de las Alarmas de Adquio y hacerlo llegar a los destinatarios adecuados.

Como ves una vez que lo conoces es muy sencillo de gestionar, pero…,  con esto estamos gestionando el estado de un solo driver, si tenemos cientos o miles, ¿debemos hacer esto una vez por cada uno?, ¿o quizá no?.

Vamos a ver a continuación cómo gestionar un número ilimitado de dispositivos con solo un evento, pudiendo extraer del mismo el nombre del dispositivo que falla y por lo tanto la información de que está fallando, vemos primero el código. En este caso vamos a capturar todos los eventos y después filtrar los que nos interesan.

events.addListener((ev) => 
     ev.eventName === 'VariableChange'   
  && ev.deviceCode.startsWith('adquio-unit_') 
  && ev.variableCode === 'online', (ev) => { 

//Pon aquí tu código

});

Capturar todos los eventos y dejar el valor en ev (Event Value).

  • A continuación se hace la comprobación de que el evento es del tipo que nos interesa, VariableChange  (Adquio gestiona más tipos de eventos, como por ejemplo los eventos de cambio de estado de dispositivo).
  • Después se añade la condición de que el nombre del dispositivo debe comenzar por adquio-unit_ (En esta instalación los dispositivos van del 001 al 061).
  • Y por último se indica que queremos unicamente los eventos de la variable online.

Como ves  se deben cumplir todas las condiciones para que finalmente el evento llegue a saltar y ejecutar nuestro código. Con estas sencillas líneas (que puedes copiar y pegar en tu Adquio), estás gestionando el estado de todos tus dispositivos conectados a Casambi. Por supuesto en el interior de este evento y accediendo a la variable ev tendrás acceso a todos los valores ya mencionados anteriormente.

Algunas de las propiedades interesantes que nos proporciona ev son:

ev.deviceCode, ev.variableCode, ev.newValue, ev.oldValue

Como ves con Adquio tienes una forma sencilla y rápida de gestionar todos los eventos de tu red Casambi y no solo esto, sino que también tienes la forma de notificar las incidencias, por lo que tienes una herramienta completa, también para gestionar las incidencias de tus redes.

 

Related Posts

Leave a Reply