Eventos de cosa
Los eventos son estados de propiedad interesantes o críticos que la cosa publica para los suscriptores. Los eventos son iniciadores que lanzan alguna funcionalidad de una
suscripción, que es básicamente un servicio activado. Dentro de una definición de servicio, si se pulsa dos veces en el evento, el script necesario para iniciar el evento se reemplazará en el servicio automáticamente. Los activadores son cambios bien definidos del estado (por ejemplo,
el motor se está sobrecalentando) de un activo o sistema (una cosa). A menudo, los activadores requieren una acción para responder al cambio (por ejemplo,
mostrar luz de aviso para indicar que el tractor se está sobrecalentando). Las predicciones complejas de algoritmos analíticos pueden iniciar eventos y permitir que el desarrollador de la aplicación reaccione a los eventos con lógica empresarial.
Los eventos gobiernan la lógica empresarial y las acciones de una aplicación de ThingWorx. Un evento puede ser tan simple como un nuevo valor de datos de una máquina hasta eventos más complejos de varios puntos de datos y sus dependencias. Por ejemplo, la puntuación en tiempo real de ThingWorx Analytics predice un fallo e inicia un evento en el motor de tiempo de ejecución de IoT para que se puedan tomar medidas. Los eventos se pueden iniciar a través de solicitudes de API de un usuario en una aplicación o un dispositivo pueden iniciar sus propios eventos en función del análisis de datos local o rutinas de diagnóstico.
Un evento debe tener un suscriptor. Para iniciar una suscripción, se envía un paquete de datos al suscriptor.
En ThingWorx se proporcionan eventos estándar y paquetes de datos relacionados, según definen las
definiciones de datos. El tipo más común de evento es un cambio de datos relacionado con una propiedad de cosa. Al definir una propiedad, hay muchos aspectos de la configuración. Por ejemplo, con
DataChangeEvent, se puede definir un evento que se inicie cuando haya nuevos datos para una propiedad, solo si han cambiado los datos, solo si los datos se evalúan como verdaderos o falsos, o si el nuevo valor ha cambiado más allá de un umbral definido. Todos los eventos de cambio de datos envían un paquete de datos con la misma definición de datos predefinida.
Es posible crear eventos personalizados en el modelo. Por ejemplo, se puede tener una máquina que ejecute diagnósticos. Cuando el diagnóstico determine que se debe calibrar el equipo, se puede crear una alerta personalizada de calibración para esa clase de equipamiento (normalmente en el nivel de definición de cosa o de plantilla de cosa). En la definición, se puede crear una
definición de datos en la que se incluyen los datos de la máquina que debe tomar medidas. Es posible configurar que el agente de máquina inicie el evento a través de la API de ThingWorx cuando se detecte la condición. En la suscripción, se puede implementar lógica empresarial para responder al evento. También se pueden iniciar eventos a través de la
API de REST de ThingWorx estándar, de modo que los mashups y las aplicaciones personalizadas puedan activar eventos a través de ThingWorx Analytics.
Evento DynamicSubscriptionInvalidated
A partir de ThingWorx 9.4 y versiones posteriores, se ha añadido un nuevo evento DynamicSubscriptionInvalidated. Este evento se produce en una cosa cuando se borra otra suscripción dinámica que ha creado. Las suscripciones dinámicas se pueden borrar porque la cosa se ha detenido o reiniciado; se pueden borrar propiedades o la propia cosa.
Los mashups utilizan este evento principalmente cuando se selecciona la casilla Actualizar automáticamente los valores.
De este modo, el mashup envía alertas al operador que ya no se proporcionarán actualizaciones desde ThingWorx Platform cuando una cosa ha cambiado (por ejemplo, una actualización de la propiedad de cosa).
Uso de ThingWorx Analytics para activar eventos
ThingWorx Analytics puede examinar los datos y reconocer comportamientos anómalos o se puede adaptar mediante datos históricos. ThingWorx Analytics puede utilizar datos en tiempo real de ThingWorx para predecir resultados. Un ejemplo básico es el análisis predictivo. Se puede adaptar el motor de análisis para una clase de equipamiento en función de datos históricos, incluida la información de fallos. Se pueden enviar datos de tiempo de ejecución de cosas individuales al motor de análisis. Si el motor de análisis detecta un patrón que ha provocado un fallo en el pasado, puede iniciar un evento para la cosa y permitir al usuario realizar una acción a través de una suscripción. Esta acción puede ser crear una entrada de servicio o enviar una notificación al departamento de servicio. Las alertas o las suscripciones a eventos personalizados permiten vincular una acción específica y lógica empresarial a eventos casi en tiempo real.