OpenWebNet
OpenWebNet è un protocollo di comunicazione progettato e sviluppato da Bticino a partire dal 2000.

Tale protocollo nasce per consentire l'interazione con tutte le funzioni rese disponibili dal sistema di domotica MyHome.
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.
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.
Il requisito minimo è la possibilità di poter utilizzare toni DTMF sulla normale linea telefonica PSTN per la trasmissione dei messaggi.
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 massaggio è dunque:
*campo1*campo2*...*campoN##
Sono ad oggi ammessi 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 indiviudabili 4 tipologie di messaggi OpenWebNet
- Messaggi di Comando / Stato
- Messaggi di Richiesta Stato
- Messaggi di Richiesta/Lettura/Scrittura Grandezza
- Messaggi di Acknowledge
Messaggi di Comando / Stato
*CHI*COSA*DOVE##
Messaggi di Richiesta Stato
*#CHI*DOVE##
Messaggi di Richiesta/Lettura/Scrittura Grandezza
Richiesta: *#CHI*DOVE*GRANDEZZA##
Lettura: *#CHI*DOVE*GRANDEZZA*VALORE1*...*VALOREn##
Scrittura: *#CHI*DOVE*#GRANDEZZA*VALORE1*...*VALOREn##
Messaggi di Acknowledge
ACK: *#*1##
NACK: *#*0##
Gateway OpenWebNet
Esistono ad oggi due tipologie di gateway che permettono di raggiungere il bus di campo Bticino:
- Web Server ethernet
- Interfaccia Seriale/USB
Web Server Sono dei web server embedded, che funzionano da traduttore tra i messaggi OpenWebNet trasmessi su protocollo TCP/IP e i messaggi SCS del bus di campo MyHome.
Tali web server sono sviluppati su piattaforma Linux.
Interfaccia Seriale/USB Si tratta di un'interfaccia che funziona da traduttore tra i messaggi OpenWebNet trasmessi porta USB e/o sulla porta Seriale RS232 e i messaggi SCS del bus di campo MyHome.
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")
- Messaggi di Scrittura Grandezza
Imposta volume in ambiente 2 al 50%
*#16*#2*#1*16*##
CHI = 4
DOVE = #1
GRANDEZZA = 1
VALORE1 = 16