Script

Come usare il componente Script di Ilevia Manager per scrivere logiche personalizzate in JavaScript: comandi disponibili ed esempi con progetti scaricabili.


Introduzione

Grazie al componente Script è possibile implementare sul sistema logiche nuove e personalizzate, dalle più semplici alle più complesse, attraverso la scrittura di linee di codice con linguaggio di programmazione JavaScript.

Casi d’uso

  • L’utente vuole creare uno script esterno per realizzare un ciclo di colori per luci RGB.

  • L’utente vuole creare uno script Javascript per creare una condizione personalizzata.

  • L’utente vuole creare uno script Javascript per poter controllare e impostare ad un’ora specifica la temperatura di una VMC (Ventilazione Meccanica Controllata). Clicca questo link per saperne di più.

  • L’utente vuole creare una logica con javascript per poter cambiare la temperatura di setpoint in base alla stagione selezionata in una lista di opzioni se l’energia è ad un livello accettabile. Clicca questo link per maggiori informazioni riguardo questo script.

Come viene rappresentato il componente script all'interno del software di configurazione domotica Ilevia Manager

Proprietà del componente

Titolo e Icona del componente sono personalizzabili. Consulta la guida delle “Proprietà comuni“.

Script Editor: cliccando qui si apre la finestra dell’editor, in cui puoi scrivere il tuo script.

Comandi script (getValue)

getValueAsString(IDComponente): restituisce il valore del componente, identificato dal suo ID visibile in Ilevia Manager, come stringa di testo.

getValueAsInt(IDComponente): restituisce il valore del componente, identificato dal suo ID visibile in Ilevia Manager, come numero intero (1, 2, 3, 4, 5 ecc.).

getValueAsDouble(IDComponente): restituisce il valore del componente, identificato dal suo ID visibile in Ilevia Manager, come numero decimale (1,5; 2,4; 3,7 ecc.).

getValueAsBoolean(IDComponente): restituisce il valore del componente, identificato dal suo ID visibile in Ilevia Manager, come valore booleano, cioè true o false.

Comandi script (setValue)

setValue(IDComponente, ValoreDelComponente): imposta il valore del componente indicato (per esempio quello di un interruttore, che ha i valori 0/1).

setTrigger(IDComponente, “funzione”): associa una funzione a un componente, che viene eseguita quando il componente viene azionato. Per funzionare servono sia l’ID del componente sia il nome della funzione.

removeTrigger(IDComponente): rimuove il trigger impostato per il componente con l’ID indicato.

setInterval(secondi, “funzione”): richiama la funzione indicata ogni “X” secondi, con X impostato dall’utente.

setTimeout(funzione, millisecondi): applica un tempo di attesa (timeout), espresso in millisecondi, alla funzione specificata.

removeInterval(“funzione”): rimuove la funzione indicata che era stata impostata in precedenza con setInterval, interrompendone l’esecuzione periodica.

setTriggerEdge(IDComponente, “valoreDelCambiamento”, “funzione”): avvia una funzione quando il componente Interruttore assume il valore (fronte di salita o di discesa) indicato nel campo “Valore del cambiamento”. È utile quando la funzione deve essere eseguita con il valore del componente di trigger inverso.

Funzioni script aggiuntive

log: permette di tenere traccia di ciò che accade all’interno dello script.

HTTPRequest: questo metodo può essere usato per richiedere dati a un web server. Un esempio può essere:

var x =HTTPRequest(“URL”);

HTTPPost: il metodo POST è utilizzato per inviare informazioni e richieste a un server.

var x = HTTPPost(“URL”, data);

Nota: per ogni richiesta o suggerimento contatta il supporto tecnico.

Promemoria prima di continuare:

  • Scarica e installa il plugin Ilevia Logic per abilitare i plugin (link);

  • Dopo aver caricato il progetto Ilevia sul server, attendi un paio di minuti affinché le logiche si avviino.

Istruzione If…Else

ESEMPIO N°1

Come viene rappresentato lo script del software di configurazione domotica Ilevia Manager
Prova script statement. all'interno dell'applicazione per il controllo domotico Ilevia Remote Plus interfaccia classica

In questo esempio usiamo un interruttore con ID “12” e un “Valore regolabile” con ID “14”. Con un if statement si può dire a Ilevia Manager di attivare l’interruttore quando il Valore regolabile raggiunge il valore 10 o maggiore. Un uso tipico di questo script è far accadere un evento quando viene raggiunto un certo valore.

SCARICA IL PROGETTO ESEMPIO N°1

Scarica qui il progetto esempio e provalo tu stesso!

ESEMPIO N°2

Come viene rappresentato lo script statement del software di configurazione domotica Ilevia Manager
Impostazione lista ad opzioni all'interno del software di configurazione domotica Ilevia Manager
Prova script stamentent con lista a opzioni all'interno dell'applicazione per il controllo domotico Ilevia Remote Plus Interfaccia calssica

In questo esempio usiamo un interruttore con ID “14” e una “Lista a opzioni” con ID “13”. Con un if statement si può dire a Ilevia Manager di attivare l’interruttore quando la Lista a opzioni è sull’indice 0; se invece assume il valore 1, il condizionatore si spegne. Un uso tipico di questo script è far accadere un evento quando viene scelto un determinato valore della lista a opzioni.

SCARICA IL PROGETTO ESEMPIO N°2

Scarica qui il progetto esempio e provalo tu stesso!

Funzioni JavaScript

ESEMPIO N°3

Come viene rappresentato lo script setInterval del software di configurazione domotica Ilevia Manager
Prova script con setInterval all'interno dell'applicazione per il controllo domotico Ilevia Remote Plus interfaccia classica

In questo esempio usiamo setInterval(2,”executeAdd”): come si vede, il primo argomento tra parentesi indica ogni quanti secondi incrementare di 1 (++) il valore della variabile a; nel secondo argomento si indica semplicemente la funzione da richiamare.

SCARICA IL PROGETTO ESEMPIO N°3

Scarica qui il progetto esempio e provalo tu stesso!

ESEMPIO N°4

Come viene rappresentato lo script setInterval del software di configurazione domotica Ilevia Manager
Prova script con setInterval all'interno dell'applicazione per il controllo domotico Ilevia Remote Plus interfaccia classica

In questo esempio usiamo due componenti diversi con ID “11” e “12”. Tramite una funzione aggiungiamo 1 al valore del primo componente info ogni 2 secondi e 1 al valore del secondo componente info ogni 10 secondi. Per richiamare la funzione la inseriamo nel metodo setInterval(2,”executeAddEvery2S”) e in setInterval(10,”executeAddEvery10S”). Come si vede, il primo argomento tra parentesi indica ogni quanti secondi incrementare di 1 (++) il valore della variabile a; nel secondo argomento si indica semplicemente la funzione da richiamare, che, come detto, aggiunge 1 alla variabile a.

SCARICA IL PROGETTO ESEMPIO N°4

Scarica qui il progetto esempio e provalo tu stesso!

ESEMPIO N°5

Come viene rappresentato lo script setTrigger del software di configurazione domotica Ilevia Manager
Prova script con setTrigger all'interno dell'applicazione per il controllo domotico Ilevia Remote Plus interfaccia classica

In questo esempio usiamo 2 componenti interruttore con ID “12” e “13” e due componenti info con ID “14” e “15”. Tramite una funzione si incrementa di 1 il valore del primo info a ogni click sul primo interruttore; lo stesso avviene cliccando il secondo interruttore con l’altro info. Un uso tipico di questa funzione è eseguire del codice quando succede qualcosa. Per richiamare la funzione la inseriamo nel metodo setTrigger(12,”executeWhen12Clicked”) e in setTrigger(13,”executeWhen13Clicked”). Come si vede, il primo argomento tra parentesi è il componente che fa scattare la funzione; nel secondo argomento si indica la funzione da richiamare, che, come detto, aggiunge 1 alla variabile a dopo il click sul componente 12 o 13.

SCARICA IL PROGETTO ESEMPIO N°5

Scarica qui il progetto esempio e provalo tu stesso!

ESEMPIO N°6

Script Java esempio setTriggerEdge all'interno del software per la configurazione di Ilevia Manager
Esempio del metodo setTriggerEdge all’interno dell’applicazione Ilevia Control

In questo esempio sono usati un componente Interruttore con ID componente “26” e un componente Info con ID componente “12”. La funzione stampa un valore all’interno del componente Info quando il componente Interruttore passa al valore On. Il metodo setTriggerEdge determina le condizioni di esecuzione della funzione number_counter.

SCARICA IL PROGETTO ESEMPIO N°6

Scarica qui il progetto esempio e provalo tu stesso!

ESEMPIO N°7

Esempio 7: script del sensore di movimento che accende una luce e la spegne dopo un conto alla rovescia, in Ilevia Manager
Funzionamento dello script del sensore di movimento nell’applicazione Ilevia Control

In questo esempio è spiegato come impostare un intervallo di tempo che viene riavviato, con la durata scelta, ogni volta che un sensore di movimento segnala un movimento per accendere una luce. Il primo componente Interruttore, con ID “12”, è usato come sensore di movimento. Il secondo componente Interruttore, con ID “15”, è usato per accendere la luce. Il componente Valore regolabile serve per regolare la durata del conto alla rovescia dopo il quale la luce si spegne.

Per maggiori informazioni su questo script, consulta la guida di spiegazione completa.

SCARICA IL PROGETTO ESEMPIO N°7

Il progetto esempio è scaricabile dalla guida di spiegazione completa: provalo tu stesso!

ESEMPIO N°8

Struttura dello script dell’esempio 8 in Ilevia Manager
Esempio di script con alba e tramonto

In questo esempio è spiegato come ottenere online l’ora dell’alba, quella del tramonto e l’ora attuale per delle coordinate specifiche, da API online, tramite il metodo HTTPRequest; lo script elabora poi l’ora attuale, la converte dal formato a 24 ore a quello a 12 ore e infine controlla se è AM o PM.

Per maggiori informazioni su questo script, consulta la guida di spiegazione completa.

SCARICA IL PROGETTO ESEMPIO N°8

Scarica qui il progetto esempio e provalo tu stesso!

ESEMPIO N°9

Struttura dello script dell’esempio 9 in Ilevia Manager
Esempio di script che converte i caratteri inseriti da decimale a esadecimale

In questo esempio è spiegato come costruire uno script che elabora i caratteri inseriti dall’utente in un componente Inserimento testo, li converte da numeri decimali a esadecimali e infine aziona un componente Scenario che invia il valore sul bus KNX.

Per maggiori informazioni su questo script consulta la guida esplicativa qui.

SCARICA IL PROGETTO ESEMPIO N°9

Scarica qui il progetto esempio e provalo tu stesso!

In questa sezione

Ultimo aggiornamento: