OpenWebNet è un protocollo di comunicazione progettato e sviluppato da Bticino a partire dal 2000.
Tale protocollo nasce per astrarre il bus di campoSCS, consentendo l'interazione con tutte le funzioni rese disponibili dal sistema di domotica MyHome tramite l'utilizzo di software.
L'evoluzione recente permette di utilizzare il protocollo OpenWebNet per interagire con diversi sistemi di home automation (ad esempio i sistemi basati su bus KNX e DMX) mediante l'utilizzo di appositi gateway.
Lo standard OpenWebNet è divulgato sulla community MyOpen.[senza fonte]
Protocollo OpenWebNet
Il protocollo è pensato per essere indipendente dal mezzo di comunicazione utilizzato. Ad esempio è possibile utilizzare un applicativo su pc collegato o via ethernet o via seriale RS232 o via USB ad un gateway direttamente connesso al sistema domotico da controllare.
Chiunque può richiedere l'estensione dei messaggi che costituiscono il linguaggio di interazione con il campo.
È sufficiente proporre la propria RFC che verrà esaminata e divulgata se risponde ai requisiti della sintassi dell'OpenWebNet.
Sintassi
Un messaggio OpenWebNet è strutturato con campi successivi che via via specificano il dettaglio dell'informazione contenuta; esso è caratterizzato da una struttura con campi a lunghezza variabile separati dal carattere speciale ‘*' e chiuso con ‘##'.
I caratteri ammessi nei campi sono numeri e il carattere '#'.
La struttura di un messaggio è dunque:
*campo1*campo2*...*campoN##
Ad oggi è ammessa la seguente tipologia di campi:
CHI
DOVE
COSA
GRANDEZZA
VALORE
CHI
Individua la funzione dell'impianto domotico interessata al messaggio OpenWebNet in questione.
Ad esempio: CHI = 1, individua i messaggi per la gestione dell'illuminazione
DOVE
Individua l'insieme di oggetti interessati al messaggio.
Può essere un singolo oggetto, un gruppo di oggetti, un ambiente specifico, l'intero sistema, etc.
Per ogni CHI (e quindi per ogni funzione) viene specificata una tabella dei DOVE.
Il tag DOVE può anche contenere dei parametri (facoltativi) specificati in questo modo: DOVE#PAR1#PAR2...#PARn.
Esempio di dove: tutte le luci del gruppo 1, il sensore 2 della zona 1 del sistema di antifurto, etc...
COSA
Individua o un'azione da compiere o uno stato da leggere.
Per ogni CHI (e quindi per ogni funzione) viene specificata una tabella dei COSA.
Il campo COSA può anche contenere dei parametri (facoltativi) specificati in questo modo: COSA#PAR1#PAR2...#PARn.
Esempio di azioni: accendi luce, dimmer al 75%, abbassa tapparella, accendi radio, ecc.
Esempio di stati: luce accesa, allarme attivo, batteria scarica, ecc.
GRANDEZZA
Individua una grandezza che caratterizza l'oggetto a cui fa riferimento il messaggio.
Per ogni CHI (e quindi per ogni funzione) viene specificata una eventuale tabella delle GRANDEZZE.
È possibile richiedere/leggere/scrivere il valore di una grandezza. Ad ogni grandezza sono associati un numero prefissato di valori, specificati dal campo VALORE
Esempio di grandezza: la temperatura di un sensore, il volume di un altoparlante, la versione firmware di un dispositivo.
VALORE
Individua il valore letto o da scrivere della grandezza richiesta/letta/scritta nel messaggio.
Messaggi
Sono individuabili 4 tipologie di messaggi OpenWebNet
Sono dei web serverembedded, che funzionano da traduttore tra i messaggi OpenWebNet trasmessi su protocollo TCP/IP e i messaggi del bus di campo da controllare.
Si tratta di un gateway che funziona da traduttore tra i messaggi OpenWebNet trasmessi porta USB e/o sulla porta Seriale RS232 e i messaggi del bus di campo SCS.
Esempi
Esempi di messaggi OpenWebNet
Messaggi di comando
Spegnimento della luce di indirizzo 77
*1*0*77##
CHI = 1
COSA = 0
DOVE = 77
Messaggi di stato
Attivazione dello scenario 1 del modulo scenari di indirizzo 23
*0*1*23##
CHI = 0
COSA = 1
DOVE = 23
Messaggi di richiesta stato
Richiesta stato del termostato di indirizzo 1
*#4*1##
CHI = 4
DOVE = 1
Messaggi di Richiesta Grandezza
Richiesta temperatura misurata dal termostato di indirizzo 44
*#4*44*0##
CHI = 4
DOVE = 44
GRANDEZZA = 0
Messaggi di Lettura Grandezza
Temperatura misurata dal termostato di indirizzo 44
*#4*44*0*0251*2##
CHI = 4
DOVE = 44
GRANDEZZA = 0
VALORE1 = 0251 (T=+25,1 °C)
VALORE2 = 2 (Impianto in modalità "condizionamento")