Introduzione al protocollo OpenWebNet

Che cos’è?

E’ un protocollo testuale nato nel 2000, progettato per:

  1. essere indipendente dal supporto di trasmissione (DTMF, Ethernet, GSM, USB, …)
  2. fornire un livello di astrazione che consente la supervisione e il controllo dei sistemi MyHome, concentrandosi sulle funzioni, senza preoccuparsi dei dettagli installativi e senza la necessità di conoscere l’SCS.

Perchè “Open”?

  • OPEN = Open Protocolo for Electronics Networks
  • Aperto a nuove espansioni
  • Aperto a più mezzi di trasmissione
  • Aperto verso soluzioni di domotica differenti da MyHome (Konnex, DMX, ModBus, …)

Bene ora passiamo alla parte più interessante...la sintassi :)

Un messaggio OpenWebNet è strutturato con campi successivi che via via specificano il dettaglio dell’informazione contenuta:

clip_image002

Un messaggio inizia con il carattere “*” (asterisco) ed è caratterizzato da una struttura con campi di lunghezza variabile. I caratteri ammessi nei campi sono i numeri da 0 a 9 compresi ed il carattere #. Ogni campo è chiuso dal carattere “*” (asterisco). Infine un messaggio è chiuso dalla stringa “##”.

clip_image004

Le tipologie di campi ammessi sono:clip_image006

  • CHI
  • DOVE
  • COSA
  • GRANDEZZA
  • VALORE

CHI: individua la funzione dell’impianto interessata dal messaggio

COSA: l’azione dal svolgere o il valore da leggere. Per ogni CHI esiste una specifica tabella dei COSA

DOVE: individua l’insieme dei dispositivi interessati al messaggio.

GRANDEZZA: individua una grandezza che caratterizza il dispositivo a cui è indirizzato il messaggio. E’ possibile leggere e scrivere il valore di una grandezza. Ad ogni grandezza sono associati un numero prefissato di valori, specificati dal campo VALORE.

Sono disponibili 4 tipologie di messaggi OpenWebNet

Messaggi di Comando/ variazioni di Stato:

*CHI*COSA*DOVE##:
Quando viene inviato un messaggio di questo tipo, viene eseguita un’azione sull’impianto domotico controllato. Un messaggio con la stessa struttura del messaggio di comando viene inoltre inviato dall’impianto in queste occasioni:

  1. l’azione che ho richiesto di eseguire sull’impianto (tramite il messaggio di comando), viene effettivamente eseguita
  2. cambia lo stato di un dispositivo
  3. viene inviata una richiesta di stato (vedi paragrafo seguente)

Per una chiara comprensione del meccanismo occorre specificare che, pur avendo la stessa sintassi, il messaggio di comando e quello di “risposta” di cui al punto 1) non sono esattemente la stessa cosa.

Un esempio: invio il comando *1*1*23## (accende la luce 23). La luce 23 esiste ed è spenta. Sul bus viene inviato un messaggio di risposta che ci fa sapere che la luce si è effettivamente accesa. Questo messaggio ha identica struttura: *1*1*23##.

Ipotizziamo, invece, che la luce 23 non esista o sia già accesa. Sul bus NON verrà inviato alcun messaggio di risposta.
I software che consentono di “leggere” i messaggi che passano sul bus, consentono di intercettare esclusivamente i messaggi di “risposta” ma non quelli di comando.

Messaggi di Richiesta Stato:

*#CHI*DOVE##:
Quando viene inviato sull’impianto un messaggio di questo tipo, i dispositivi interessati rispondono comunicando il loro stato con uno o più messaggi di stato.
Ad esempio:

  1. se si chiede lo stato delle luci dell’ambiente 1, tutti gli attuatori presenti in quell’ambiente risponderanno comunicando il loro stato.
  2. se si chiede lo stato della centrale anti-intrusione, essa risponderà con una serie di messaggi di stato, che specificano la situazione dell’impianto.

Messaggi di Richiesta Grandezza:

*#CHI*DOVE*GRANDEZZA##:
Quando viene inviato sull’impianto un messaggio di questo tipo, i dispositivi interessati rispondono comunicando il valore della grandezza richiesta con uno o più messaggi di lettura grandezza.
Ad esempio:

  • richiedo il valore della temperatura misurata da una sonda
  • richiedo al frequenza alla quale è sintonizzata la radio

Messaggi di Lettura Grandezza:

*#CHI*DOVE*GRANDEZZA*VALORE1*…*VALOREN##:
Questo messaggio viene inviato dall’impianto in queste occasioni:

  • l’azione che ho richiesto di eseguire sull’impianto varia il valore di una grandezza
  • cambia spontaneamente il valore della grandezza di un dispositivo
  • viene inviata una richiesta di tale valore (vedi paragrafo precedente)

Ad esempio:

  • se vario il volume dall’amplificatore, viene inviato il nuovo valore
  • varia la temperatura misurata da una sonda
  • richiedo la versione del firmware di un device

Messaggi di Scrittura Grandezza:

*#CHI*DOVE*#GRANDEZZA*VALORE1*…*VALOREN##:
Questo messaggio viene inviato per modificare il valore di una grandezza di un dispositivo
Ad esempio:

  • impostare l’ora di un web server (vedremo in seguito che cos’è)
  • impostare la stazione radio da ascoltare
  • impostare la velocità di accensione di un dimmer

Messaggi di Acknowledge:

ACK = *#*1##
NACK = *#0##
Sono usati per specificare l’esito di una comunicazione tra un server open ed un client open che hanno instaurato tra di loro una sessione (vedremo che cos’è e come funziona il tutto nel prossimo post).

Ok, ora dobbiamo capire come inviare i messaggi OpenWebNet sull’impianto domotico e come intercettare quelli inviati dall’impianto! Per far questo possiamo utilizzare un gateway, cioè un dispositivo hardware con della logica al suo interno che traduce due protocolli/linguaggi diversi, mettendo quindi in comunicazione due mondi diversi.

In particolare possiamo utilizzare un gateway OpenWebNet di Btcino che ci permette di:

  • supervisionare un sistema domotico
  • far colloquiare sistemi domotici differenti

clip_image008

Esistono vari tipi di gateway OpenWebNet ma noi ci focalizzeremo su quelli ethernet:

  • F453AV:

    - web server di supervisione e controllo del sistema MyHome su rete ethernet
    - configurazione con programma Ti453 via ethernet, USB e seriale
    - navigazione e controllo del sistema MyHome attraverso pagine web utilizzando la modalità SSL
    - gestione completa del protocollo OpenWebNet

  • F452:
    - web server di supervisione e controllo del sistema MyHome su rete ethernet
    - configurazione con programma Ti452 via ethernet e seriale
    - navigazione e controllo del sistema MyHome attraverso pagine web utilizzando la modalità SSL
    - gestione parziale del protocollo OpenWebNet, no videocontrollo

Esistono anche dei gateway non dichiarati come l’MH200 ed il Touch Screen :)

Nel prossimo post vedremo i comandi di base per la gestione dell’illuminazione e degli automatismi!

Stay tuned…

posted @ martedì 22 giugno 2010 04:39

Print
Comments have been closed on this topic.