Logica

Questa guida permette di comprendere le nozioni fondamentali, per la configurazione di espressioni logiche secondo i principi di "Se questo allora quello".

Configurazione Avanzata

Ci sono situazioni che richiedono la configurazione di una logica avanzata, capace, sulla base di una serie di condizioni, di eseguire una lista di operazioni.

La configurazione della logica si basa sui principi di Se Questo allora Quello e permette facilmente di creare combinazioni molto potenti.

Ci sono due entità da configurare e legare tra loro:

  • Gruppi di Input: non sono altro che dei contenitori di condizioni e possono essere legati a più di una Regola.

  • Regole: contengono la lista di operazioni da eseguire nel caso in cui il Gruppo di Input collegato sia verificato.

Nel caso in cui abbiate bisogno di un parametro che vari sulla base di uno stato, di una serie di condizioni, in base all'interazione dell'utente e così via, potete fare affidamento sulle Variabili Virtuali.

Non è richiesta alcuna competenza nella programmazione di PLC, in quanto la configurazione avviene attraverso un'interfaccia semplice ed intuitiva.

Per procedere con la configurazione della Logica è necessario premere il tasto Configura Logica presente nella schermata principale.

Come spiegato nella pagina Come Fare, il primo step è rappresentato dalla creazione di un Gruppo di Input. Potete cliccare sul tasto Crea Gruppo di Input, o cliccare sulla pagina Condizioni in basso, quindi il pulsante con i tre puntini in basso a destra e infine Aggiungi.

Quindi la schermata che avremo sarà la seguente.

Gruppi di Input

La configurazione di un'espressione logica parte dalla definizione delle condizioni, ovvero del nostro Se.

Prima di procedere alla spiegazione della configurazione, è bene comprendere la natura dei Gruppi di Input, soprattutto se non avete esperienza con gli operatori logici e con i PLC.

L'app permette di definire un gruppo di condizioni, ovvero il Gruppo di Input, e di legarle tra loro attraverso operatore logico ANDo OR. Un Gruppo di Input può contenere anche una sola condizione e, affinché sia verificato, è necessario che:

  • tutte le condizioni siano verificate, se si sceglie l'operatore logico AND;

  • almeno una delle condizioni sia verificata, se si sceglie l'operatore logico OR.

Se ad esempio abbiamo 3 condizioni, e le leghiamo tra loro dall'operatore logico AND, è come dicessimo «Se la condizione 1 e la condizione 2 e la condizione 3 sono verificate, allora il Gruppo di Input è verificato».

Se le 3 condizioni le leghiamo dall'operatore logico OR, è come dicessimo «Se la condizione 1 o la condizione 2 o la condizione 3 è verificata, allora il Gruppo di Input è verificato».

Nel caso in cui volessimo legare tra loro alcune condizioni con operatore AND e altre con OR, è possibile inserire in un altro Gruppo di Input una o più condizioni che dipendano da uno dei Gruppi di Input configurati in precedenza.

Di seguito un esempio per comprendere meglio questo aspetto.

Vogliamo creare un'espressione logica che ci permetta di spegnere il riscaldamento se nella stanza abbiamo almeno una finestra aperta, e se fuori c'è freddo, così da non riscaldare a vuoto.

Creiamo quindi un Gruppo di Input con due condizioni legate dall'operatore OR:

  1. Finestra 1 è aperta da più di 60 secondi

  2. Finestra 2 è aperta da più di 60 secondi

Diamo al gruppo il nome: "Finestra Aperta". Quindi l'espressione che otteniamo è «Se la Finestra 1 è aperta da più di 60 secondi o la Finestra 2 è aperta da più di 60 secondi, il Gruppo di Input "Finestra Aperta" è verificato».

Ora creiamo un secondo Gruppo di Input e aggiungiamo le seguenti condizioni legate dall'operatore AND:

  1. La Temperatura Esterna misura un valore minore di 10°C

  2. Il Gruppo di Input "Finestra Aperta" è verificato

In questo caso avremo: «Se la sonda Temperatura Esterna misura un valore minore di 10°C e il Gruppo di Input "Finestra Aperta" è verificato, allora il Gruppo di Input è verificato».

Quest'ultimo Gruppo di Input lo leghiamo infine ad una Regola che disattiva il riscaldamento, così da avere che: «Se la sonda Temperatura Esterna misura un valore minore di 10°C, e almeno una delle due finestre è aperta, allora spegni il riscaldamento».

Non c'è alcun limite al numero di Gruppi di Input che potete legare tra loro.

I Gruppi di Input hanno le seguenti proprietà:

  1. Nome

  2. Descrizione

  3. Operatore logico (AND ed OR)

  4. Condizioni

Condizioni

Scegliere innanzitutto l'operatore logico (AND o OR), quindi procedere con la configurazione delle condizioni.

Per configurare le condizioni è necessario premere il tasto Configura le Condizioni.

Trattandosi di un nuovo Gruppo di Input non ci sono condizioni presenti, per aggiungerne di nuove premere il pulsante + in alto a destra.

Per ogni Condizione è necessario definire:

  • Elemento della Condizione: cliccando sul tasto con il pennino è possibile scegliere l'elemento su cui verrà valutata la condizione (Meteo, Calendario, Orologio, luci, sensori, input, ecc.).

  • Funzione: qui va scelta la funzione che permette di ottenere il valore da valutare (ad esempio il valore misurato da un sensore o lo stato di un output).

  • Condizione: in base al tipo di elemento e della funzione scelta, potrete scegliere tra una serie di condizioni (maggiore di, uguale, diverso, ecc.).

  • Valore: qui dovete definire il valore del confronto.

È inoltre possibile definire un Timer, che a sua volta contiene due proprietà:

  • Condizione Timer

  • Valore in secondi

Ad esempio se impostate un valore pari a 10 secondi e scegliete Maggiore di come condizione del timer, la condizione sull'elemento sarà verificata solo se rimarrà tale per un tempo superiore a 10 secondi.

Cliccando il tasto con l'icona di una freccia è possibile visualizzare utili informazioni sui vari campi.

Qui di seguito un esempio pratico.

L'esempio in questione rappresenta una condizione su un sensore di temperatura, ed è verificata se il valore misurato dalla sonda è maggiore o uguale di 10°C per almeno 30 secondi.

Una volta salvata la configurazione del Gruppo di Input premete il tasto + in basso a destra, quindi il pulsante Salva, così da inviare la configurazione alle schede; fatto ciò potrete visualizzare lo stato delle singole condizioni e su quale scheda vengono valutate.

Regole

Una Regola permette di eseguire una sequenza di operazioni nel caso in cui il Gruppo di Input a cui è stata legata sia verificato (o non verificato, nel caso si attivi l'opzione opportuna).

Per configurare una regola è necessario accedere alla pagina Regole, premere il pulsante con i tre puntini, quindi Aggiungi.

Le regole presentano numerose proprietà:

  • Nome e Descrizione.

  • Regola abilitata: una regola può essere disabilitata, così da evitarne l'eliminazione nel caso in cui la si voglia riattivare in un secondo momento.

  • Tipologia: una regola può essere Impulsiva o Continua.

  • Gruppo di Input collegato: qui va definito il Gruppo di Input che desiderate collegare, inoltre potete scegliere se desiderate che le operazioni della regola vengano eseguite quando il Gruppo di Input non è verificato.

  • Operazioni: qui potete definire la lista di operazioni da eseguire.

  • Notifica: le regole possono inviare una notifica quando il Gruppo di Input collegato è verificato.

  • Registro Eventi: questa opzione permette di registrare un evento ogni qualvolta il Gruppo di Input collegato è verificato.

  • Alexa: attivando questa opzione è possibile sfruttare lo stato del Gruppo di Input collegato per permettere ad Amazon Alexa di eseguire delle Routine; la configurazione delle Routine va fatta dall'app di Alexa e richiede di attivare la Skill di Chiarini Home Automation.

La tipologia della regola merita un ulteriore approfondimento:

  • Regola Impulsiva: l'esecuzione delle operazioni avviene solo quando il Gruppo di Input collegato passa dallo stato di non verificato allo stato verificato.

  • Regola Continua: in caso di regola continua le operazioni vengono eseguite fintanto che il Gruppo di Input è verificato.

In generale consigliamo di scegliere l'opzione Impulsiva, ma se ad esempio la regola attiva un output, e questo è bene che rimanga attivo fintanto che le condizioni lo richiedono, optate per l'opzione Continua (in questo caso le operazioni non vengono comunque ripetute ogni istante, ma ad intervalli di 10 secondi).

Se attivate l'opzione che permette l'esecuzione delle operazioni quando il Gruppo di Input non è verificato, sia la Notifica che il Registro Eventi vengono eseguiti in quel caso.

Operazioni

Dopo aver definito il Gruppo di Input e la tipologia della Regola, potete configurare la lista di operazioni.

Per procedere con la configurazione delle operazioni dovete cliccare il tasto Configura Operazioni.

Per aggiungere un'operazione dovete cliccare il tasto + in alto a destra, quindi per ciascuna operazione potete definire:

  • Elemento dell'Operazione: l'elemento su cui verrà eseguita l'operazione.

  • Funzione: funzione da eseguire sull'elemento scelto (es. attiva, disattiva, apri, ecc.).

  • Timer: qui potete definire dopo quanto tempo volete che la singola operazione venga eseguita.

Una volta salvata la regola, premete il pulsante + in basso a destra e quindi Salva, così da inviare la configurazione aggiornata alle schede.

Nella schermata delle regole potete controllare quanto sta accadendo nel sistema: quali regole sono abilitate, quali sono state eseguite impulsivamente e quali lo sono in modo continuo. Cliccando sul tasto relativo alle operazioni potete vedere un riassunto della lista di operazioni configurata.

Variabili Virtuali

Ci sono casi in cui dovete appoggiavi ad un parametro virtuale per poter eseguire delle operazioni o valutare delle condizioni.

In generale le Variabili Virtuali ampliano le funzioni previste dal sistema, in quanto potete associare ad esse il significato che desiderate.

Una Variabile Virtuale è bene configurarla sulla stessa scheda in cui si trovano gli elementi a cui volete legarla; nel caso in cui gli elementi appartengano a più schede consigliamo di configurarla sulla scheda che avete definito come Master.

Per configurare la variabile virtuale dovete accedere alla scheda e andare nella pagina Lista Elementi; cliccate sui tre puntini in basso a destra, quindi sul tasto Aggiungi; lì potete scegliere Variabile Virtuale dalla finestra Scegli Tipologia.

Oltre al nome e alla descrizione potete definire:

  • Tipologia: potete scegliere se desiderate che la variabile possa assumere un valore (tra un massimo e un minimo), lo stato ON/OFF o che agisca in modo impulsivo.

  • Logica: qui è possibile definire una lista di operazioni da eseguire quando l'elemento assume lo stato ON e OFF.

Nel caso in cui scegliate il tipo Impulsivo, lo stato di ON viene assunto per un istante, dopodiché torna automaticamente allo stato OFF.

Le variabili virtuali possono essere visualizzate nell'app utente, sfruttate per definire le condizioni dei Gruppi di Input o usate nelle operazioni delle Regole. Possono essere usate anche in sostituzione di output nella configurazione di elementi Gestione Soglia.