Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Twilio è una piattaforma di sviluppo che tramite l’uso delle API appositamente sviluppate permette di
aggiungere alla propria applicazione delle funzionalità vocali e di messaggistica senza occuparsi dei
protocolli di trasporto e instradamento del settore delle telecomunicazioni.
Il modulo Twilio è disponibile come download separato dall’ installer di Ignition. Tale modulo abilita l’invio
di messaggi SMS agli utenti, per la notifica di allarmi o per ricevere informazioni riguardanti lo stato del
gateway.
Come si usa
E’ necessario scaricare ed installare il Twilio Notification Module e l’Alarm Notification Module dalla sezione
per la propria versione di Ignition (https://inductiveautomation.com/downloads/ignition/8.0.14).
Il modulo Twilio abilita la creazione di un profilo dedicato alla notifica di allarmi via SMS ed inoltre sblocca
le funzioni di scripting system.twilio, che consentono di inviare messaggi SMS tramite codice Python: per
maggiori dettagli si veda la sezione (https://docs.inductiveautomation.com/display/DOC80/system.twilio)
dell'Appendice del manuale utente di Ignition.
Prerequisiti:
Il modulo dipende dalla presenza del modulo Notifica allarmi che deve essere già installato per permettere
l’invio di allarmi SMS con Twilio. L’Invio di notifiche di allarme via SMS avviene senza un dispositivo fisico:
non è quindi richiesto un modem cellulare, ma il Gateway deve avere accesso ad Internet e deve essere
stato creato un account Twilio con funzionalità SMS su www.twilio.com .
L'account Twilio, una volta attivo, deve essere opportunamente registrato in una sezione della
configurazione del Gateway Ignition.
Pag. 1 di 16
Descrizione Configurazione Modulo Twilio
Revisione 001 del 29/06/2020
Autore Francesco Manca
E’ necessario acquistare un numero di telefono al costo di 1$, che verrà usato poi come riferimento del
chiamante all’interno della configurazione di invio in Ignition. Il numero acquistato per la prova è di tipo
americano, in quanto tale tipologia di numero permette l’invio di sms internazionali. Per un account free si
può acquistare al massimo un numero di telefono. I numeri Twilio si distinguono in due categorie: Dual
functionality e Voice enabled only e non tutti consentono l’uso delle funzioni SMS che serviranno dentro
Ignition per la notifica.
Pag. 2 di 16
Descrizione Configurazione Modulo Twilio
Revisione 001 del 29/06/2020
Autore Francesco Manca
I numeri appartenenti alla categoria Dual functionality offrono le funzionalità di invio SMS internazionali.
Sono disponibili al momento dello scrivere le seguenti nazioni, tra cui l’Italia è assente:
Chiamate SMS
Country Tipo
internazionali Internazionali
Danimarca Mobile No No
Francia Mobile No No
Israele Mobile No No
Olanda Mobile No No
Pag. 3 di 16
Descrizione Configurazione Modulo Twilio
Revisione 001 del 29/06/2020
Autore Francesco Manca
https://inductiveautomation.com/downloads/ignition
e quindi scarichiamo il Twilio Notification Module dalla sezione Notification alla pagina di Download.
A seguito dell’ installazione del modulo viene aggiunta una sezione di configurazione nel Gateway
denominata “Twilio”. In questa sezione inseriremo l’SID e il token dell’account Twilio che abbiamo
configurato al punto 1.
Pag. 4 di 16
Descrizione Configurazione Modulo Twilio
Revisione 001 del 29/06/2020
Autore Francesco Manca
Pag. 5 di 16
Descrizione Configurazione Modulo Twilio
Revisione 001 del 29/06/2020
Autore Francesco Manca
Pag. 6 di 16
Descrizione Configurazione Modulo Twilio
Revisione 001 del 29/06/2020
Autore Francesco Manca
Pag. 7 di 16
Descrizione Configurazione Modulo Twilio
Revisione 001 del 29/06/2020
Autore Francesco Manca
Pag. 8 di 16
Descrizione Configurazione Modulo Twilio
Revisione 001 del 29/06/2020
Autore Francesco Manca
Pag. 9 di 16
Descrizione Configurazione Modulo Twilio
Revisione 001 del 29/06/2020
Autore Francesco Manca
Il sistema di notifica degli allarmi utilizza poi il sistema di pianificazione utente incorporato in Ignition. I
messaggi di notifica di allarme verranno pertanto inviati SOLO agli utenti la cui pianificazione è attualmente
attiva. Verificare pertanto questa impostazione nel corso della configurazione dell’utente.
Nel nostro caso è stata creata una lista denominata “Reperibili” che include gli utenti che desideriamo
vengano contattati all’attivazione della condizione di allarme.
La configurazione degli utenti viene fatta selezionando dalla user source gli utenti da assegnare al roster
predefinito:
Salviamo le impostazioni, e al fine di poter testare la nostra configurazione, è necessario a questo punto
della procedura entrare nel designer e creare una nuova pipeline di notifica.
Pag. 10 di 16
Descrizione Configurazione Modulo Twilio
Revisione 001 del 29/06/2020
Autore Francesco Manca
Active
Clear
Acknowledge
Essa è composta da uno o più elementi, detti blocchi di notifica, all’interno dei quali sono codificate le
azioni da intraprendere. Ogni blocco di notifica contiene la configurazione specifica necessaria per definire
gli utenti a cui notificare l’allarme.
Creiamo una pipeline denominata “SMSPipeline” in cui inseriamo un blocco di tipo notification
E’ necessario configurare il blocco con l’account Twilio , specificando il corrispondente numero telefonico
ad esso associato:
Nella configurazione di un sistema di notifica allarme è buona pratica configurare anche la sezione
“Consolidation”. Il consolidamento delle notifiche consente di limitare il numero di SMS spediti dal sistema,
grazie all’introduzione di un tempo di ritardo durante il quale verranno raccolti gli eventi di allarme in
arrivo. Alla scadenza del ritardo, tutti gli eventi giunti verranno inviati insieme al profilo di notifica.
Dato l’uso di un servizio a consumo, come Twilio, è quindi opportuno configurare la sezione
Il delay definisce quanti secondi attendere per raccogliere altri allarmi che eventualmente si sono attivati
(in questo caso si aspettano altri allarmi per un tempo massimo di 15 secondi), mentre il parametro
Frequency definisce la cadenza di invio delle notifiche (in questo caso dopo una prima notifica si attenderà
un minuto prima di inviarne una nuova).
Pag. 12 di 16
Descrizione Configurazione Modulo Twilio
Revisione 001 del 29/06/2020
Autore Francesco Manca
Che significa che per ogni invocazione dell’alarm pipeline il sistema entrerà direttamente nel blocco di
notifica e invierà gli allarmi.
Possiamo ora testare il funzionamento andando nella sezione “Notification\Test Pipelines and Notification
profiles”
Quindi premiamo Invio. Il sistema effettuerà un tentativo di invio del messaggio presentando il progresso
dell’operazione sino a presentare un errore o a dare conferma della corretta esecuzione.
Pag. 13 di 16
Descrizione Configurazione Modulo Twilio
Revisione 001 del 29/06/2020
Autore Francesco Manca
Subito dopo dovremmo ricevere al numero indicato per il nostro utente l’SMS di notifica di prova.
ATTENZIONE!
DEGLI UTENTI INSERITI NEL REGISTRO DELL’ON-CALL ROSTER, SOLO GLI UTENTI LA CUI PIANIFICAZIONE È
ATTUALMENTE ATTIVA RICEVERANNO EFFETTIVAMENTE IL MESSAGGIO DI NOTIFICA DI ALLARME.
ACCERTARSI DUNQUE CHE LO SCHEDULING PER GLI UTENTI VERSO CUI SI FA IL TEST SIA COMPATIBILE
CON LA FASCIA ORARIA DI DISPONIBILITÀ DEGLI STESSI !
Pag. 14 di 16
Descrizione Configurazione Modulo Twilio
Revisione 001 del 29/06/2020
Autore Francesco Manca
Pag. 15 di 16
Descrizione Configurazione Modulo Twilio
Revisione 001 del 29/06/2020
Autore Francesco Manca
system.twilio.getAccounts
system.twilio.getAccountsDataset
system.twilio.getPhoneNumbers
system.twilio.getPhoneNumbersDataset
system.twilio.sendSms
account = system.twilio.getAccounts()[0]
print account
account = system.twilio.getAccounts()[0]
getNumber = str(system.twilio.getPhoneNumbers(account)[0])
print getNumber
#Invio SMS.
#Recuperiamo il nome dell’account Twilio
#getAccounts() restituisce una lista, quindi l’operatore "[0]" operator prende
il primo oggetto della lista.
account = system.twilio.getAccounts()[0]
#Inviamo il messaggio
system.twilio.sendSms(account, fromNumber, toNumber, textMessage)
Pag. 16 di 16