Messaggi e regole

Regole “if THIS than THAT”

E’ molto semplice creare delle regole “if THIS than THAT” in cui la parte THIS corrisponde ad un trigger, mentre quella THAT é costituita da uno o più comandi eseguiti in sequenza. La stessa regola rappresenta un’automazione in grado di associare tra loro trigger e comandi.

Ciascun trigger é in attesa di eventi che vengono valutati da Freedomotic, in base alle condizioni imposte, per decidere se eseguire o meno le automazioni.

Come creare trigger, comandi e automazioni…

Sono possibili 3 diverse modalità:

  • attraverso l’interfaccia desktop
  • via codice
  • collocando un file .xtrg nella specifica cartella. Infatti ogni plugin ha la propria cartella “data” che ospita trigger, comandi e automazioni (da questo momento indicati come TCA).

I TCA distribuiti con i plugin sono “read only” e si possono utilizzare come template da cui crearne dei nuovi come descritto di seguito.

… usando l’interfaccia desktop

In primo luogo occorre accedere al menu “Gestione Automazioni“, clicchiamo sul tasto etichettato “When livingroom light is switched”. Modifichiamo il campo nome ad esempio scrivendo “Luce bagno cliccata” e quello object.name con “Luce bagno”.  Ovviamente entrambi i campi possono essere personalizzati senza problemi. Quindi selezioniamo dal menu “Salva come nuovo trigger” e il gioco é fatto. Dopo aver chiuso e riaperto il manager il nuovo trigger sarà immediatamente visibile nella lista.
Questo tipo di trigger “When OBJECTNAME is clicked” sono creati automaticamente all’avvio di Freedomotic per ogni oggetto presente nell’ambiente ricorrendo ai metodi createCommands() / createTriggers() dell’implementazione java dell’oggetto.

… con il codice java

Dal punto di vista di Java triggers, comandi e automazioni sono semplici POJO (Plain Old Java Objects) per cui possono essere creati come nel seguente frammento di codice

Trigger aTrigger = new Trigger();
aTrigger.setName("Il mio trigger creato via codice");
//call other setters
TriggerPersistence.add(aTrigger);

 

… creando i file XML

La persistenza dei dati é garantita dai file xml (ambienti, oggetti, trigger, comandi, automazioni), per cui é possibile creare dei file con estensione xtrg/xcmd/xrea come quelli presenti nelle cartelle “data“. Infatti ogni plugin contiene la propria cartella “data” il cui contenuto é caricato automaticamente da Freedomotic all’avvio.

Questo vuol dire che un plugin può fornire comandi, automazioni, trigger preconfigurati, ma allo stesso tempo l’utente può scaricare automazioni create da altri collocandole nella cartella  freedomotic/data.

In breve

  • all’avvio Freedomotic carica tutti i file xml presenti nella cartella freedomotic/data
  • all’avvio di un plugin anche i suoi file data (in formato XML) sono caricati e resi disponibili
  • tutti i dati sono semplici POJO che possono essere creati, letti, aggiornati e cancellati come le più comuni strutture dati (List, Map, …)
  • il desktop frontend consente la creazione di oggetti con un semplice form Swing
  • alla chiusura di Freedomotic tutti i dati sono salvati come file XML nella cartella freedomotic/data garantendone la persistenza.

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi