Passa al contenuto principale

Fondamenti delle rulechain

Fondamenti delle rulechain​

L'area Rulechains è il cuore dell'elaborazione dei dati basata su regole in optiCLOUD. Anche se molte funzioni della piattaforma vengono configurate tramite interfacce come Devices, Dashboards o Automation, la vera logica di reazione ed elaborazione risiede spesso nella Rule Engine.

Per questo motivo le modifiche alle rulechain devono sempre essere effettuate con cautela. Regole errate o collegamenti poco chiari possono avere effetti diretti su elaborazione dei dati, allarmi, notifiche o integrazioni.

Panoramica​

Nella panoramica dell'area Rulechain le rulechain presenti vengono visualizzate in una tabella.

Panoramica dell'area Rulechain

Valgono alcuni principi fondamentali:

  • La Root Rule Chain è la catena di ingresso attiva centrale.
  • Di norma è chiaramente evidenziata.
  • Le altre rulechain sono inizialmente solo modelli o catene parziali.
  • Diventano attive solo quando vengono impostate come Root Rule Chain o incorporate in una rule chain attiva.

Tramite la barra delle azioni le rulechain possono essere:

  • create
  • importate
  • esportate
  • eliminate

Principio di base della Rule Engine​

La Rule Engine è il meccanismo centrale per l'elaborazione di eventi e dati in optiCLOUD. Elabora, tra l'altro:

  • dati di telemetria
  • attributi
  • richieste RPC
  • eventi del ciclo di vita dei dispositivi
  • eventi basati su REST
  • file
  • log

La Rule Engine si basa su tre elementi principali:

  • Messaggio come evento o oggetto dati in ingresso
  • Nodo regola come fase di elaborazione
  • Catena di regole come collegamento di più nodi in un workflow

Messaggi​

Un messaggio della Rule Engine è una struttura di dati serializzabile e immutabile che descrive un evento nel sistema.

Esempi sono:

  • telemetria in ingresso da un dispositivo
  • aggiornamento di attributi
  • chiamata RPC
  • eventi di entità come creata, aggiornata o eliminata
  • eventi di stato come connesso, disconnesso, attivo o inattivo

Un messaggio contiene:

  • ID del messaggio
  • mittente o origine del messaggio
  • tipo di messaggio
  • dati utili come body JSON
  • metadati come ulteriori coppie chiave-valore

Nodi regola​

Un nodo regola elabora di volta in volta un messaggio in ingresso e genera da esso uno o più messaggi o azioni in uscita.

A seconda del tipo di nodo, un nodo può:

  • filtrare messaggi
  • trasformare dati
  • arricchire dati
  • generare o eliminare allarmi
  • richiamare sistemi esterni
  • inoltrare messaggi ad altri nodi

Ogni nodo è quindi un'unità logica chiaramente delimitata all'interno della rulechain.

Collegamenti e relazioni​

I nodi regola vengono collegati tra loro tramite connessioni. Ogni connessione ha un tipo di relazione che determina a quale condizione un messaggio viene inoltrato al nodo successivo.

I tipi di relazione tipici sono:

  • Success
  • Failure
  • True
  • False

A seconda del tipo di nodo possono essere utilizzate anche altre denominazioni, ad esempio:

  • Post Telemetry
  • Attributes Updated
  • Entity Created

In questo modo il significato specialistico di un flusso di dati può essere rappresentato direttamente nella rulechain.

Caratteristiche principali delle rulechain​

Le rulechain offrono in optiCLOUD diverse caratteristiche centrali:

  • Elaborazione in streaming per dati ed eventi in ingresso immediato
  • Struttura a workflow tramite nodi regola collegati
  • Flessibilità grazie a nodi integrati e script personalizzati
  • Capacità di integrazione tramite HTTP, MQTT, Kafka o altre interfacce
  • Reattività per allarmi, notifiche e azioni successive

In questo modo è possibile modellare sia semplici regole di filtro sia complessi flussi di automazione.

Casi d'uso tipici​

Le rulechain vengono impiegate per compiti quali ad es.:

  • validazione e trasformazione dei dati in ingresso
  • gestione degli allarmi e notifiche in caso di superamento in eccesso o in difetto di soglie
  • monitoraggio del ciclo di vita dei dispositivi
  • integrazione di sistemi esterni o trasferimento a pipeline di dati o piattaforme esterne
  • controllo remoto tramite RPC

Modalità di lavoro nell'editor​

Quando si apre una rulechain compare un editor low-code basato su nodi e connessioni. La struttura ricorda strumenti come Node-RED o n8n.

All'interno di questo editor si stabilisce:

  • quali messaggi entrano nella catena
  • quali condizioni vengono verificate
  • quali azioni vengono attivate
  • come proseguono i percorsi di successo o di errore

Basis RuleChain​

La Basis RuleChain, o anche Root RuleChain, costituisce la base dell'elaborazione dei dati ed è già configurata per impostazione predefinita. Ha il seguente aspetto:

Ogni messaggio in ingresso da un dispositivo entra nel sistema tramite il nodo Input e viene immediatamente inoltrato a uno switch del tipo di messaggio, che in base al tipo di messaggio determina come il messaggio deve essere ulteriormente elaborato.

Da qui l'elaborazione si ramifica in più percorsi specializzati:

Elaborazione centrale dei messaggi

Tipo di messaggioInoltroNodo riceventeSpiegazione
Post Attributea Save Client AttributesSave Client AttributesI messaggi di questo tipo vengono elaborati per salvare in modo permanente gli attributi dei dispositivi nel database.
Post Telemetrya Save Time SeriesSave Time SeriesI dati di telemetria, come i valori dei sensori, vengono salvati nel database come serie temporali.
RPC Request from Deviceinoltrato a Log RPCLog RPC from DeviceServe al monitoraggio o alla risoluzione dei problemi delle chiamate RPC in ingresso dal dispositivo.
RPC Request to Devicea RPC Call RequestRPC Call RequestAttiva una Remote Procedure Call verso il dispositivo.
Post Alarmsa Save AlarmsSave AlarmsGli stati di allarme vengono salvati nel database.
Othera Log OtherLog OtherI tipi di messaggio non supportati o sconosciuti vengono registrati per la tracciabilità.
Blob Store Requesta Process Blob StoreProcess Blob StoreAvvia l'elaborazione degli upload relativi ai file nell'archivio file.

Esempio​

Per i primi passi pratici è indicato un esempio semplice e di facile comprensione. Un esempio di questo tipo è la segnalazione di allarme in caso di superamento di una temperatura.

Proseguire con la regola di esempio: