• Non ci sono risultati.

3.4 OpenWebNet

3.4.2 Messaggi OPEN

3.4.2

Messaggi OPEN

In questa sezione verranno introdotti ne dettaglio i tipi di messaggi OPEN utilizzati in OPENWebNet accennati nella tabella 3.1.

3.4.2.1 Ack e Nack OPEN

ACK Il messaggio OPEN di acknowledge `e: *#*1##

Viene inviato dal server,nella sessione comandi, in risposta ad un mes- saggio OPEN ricevuto dal client. Indica che il messaggio OPEN ricevu- to `e sintatticamente e semanticamente corretto. Viene anche utilizzato come messaggio terminatore quando la risposta ad un messaggio OPEN preveda l’invio di uno o pi`u messaggi OPEN in sequenza (si veda in seguito le richieste di stato o le richieste di grandezze)

NACK Il messaggio OPEN di not-acknowledge `e: *#*0##

Viene inviato dal server, nella sessione comandi, in risposta ad un mes- saggio OPEN ricevuto dal client. Indica che il messaggio OPEN ricevu- to `e sintatticamente o semanticamente scorretto. Viene anche utilizzato come messaggio terminatore quando la risposta ad un messaggio open preveda l’invio di uno o pi`u messaggi open in sequenza (si veda in se- guito le richieste di stato o le richieste di grandezze). In questo caso, il client non deve considerare validi i messaggi ricevuti prima del NACK

3.4.2.2 Comando e stato OPEN

Il messaggio OPEN di comando/stato `e cosi strutturato: *CHI*COSA*DOVE##

Questo messaggio `e utilizzato sia nelle sessioni comandi che nelle sessioni monitor. Nella sessione monitor pu`o indicare che un oggetto del sistema MyHome ha cambiato il suo stato. Nella sessione comandi pu`o essere un messaggio inviato dal server al client in risposta ad una richiesta di stato, oppure un messaggio inviato dal client al server per richiedere l’esecuzione di un’azione. I tag assumono il seguente significato:

58 Tech-manager BTicino CHI Il tag CHI, individua la funzione dell’impianto domotico interessata al messaggio OPEN in questione. Pu`o essere l’impianto di illuminazione, quello automatismi, l’impianto di termoregolazine ecc.

COSA Il tag COSA, individua nel dettaglio il tipo di azione da compiere; ad esempio ON luci, OFF luci, dimmer al 20%, tapparelle SU, imposta programma 1 nella centrale di termoregolazione, ecc. Per ogni CHI (e quindi per ogni funzione) viene specificata una tabella dei cosa. Il tag COSA pu`o anche contenere dei parametri specificati nel seguente modo:

COSA#PAR1#PAR2#...#PARn

DOVE Il tag DOVE individua l’insieme di oggetti interessati al messaggio. Pu`o essere una zona, un gruppo di oggetti, un ambiente specifico, un singolo oggetto, l’intero sistema, ecc. Per ogni CHI (e quindi per ogni funzione) viene specificata una tabella dei DOVE. Il tag DOVE pu`o inoltre contenere dei parametri specificati nel seguente modo:

DOVE#PAR1#PAR2#...#PARn

Nella tabella 3.2 sono mostrati alcuni esempi di comandi OPEN.

Messaggio OPEN Descrizione

*1*1*13## Comando di ON luce 13 - Segnalazione stato luce 13, ON

*2*1*41#4#2## Tapparella 41 presente su bus locale di interfaccia 2, SU

*1*0*0## OFF di tutto l’impianto di illuminazione

*4*303*1## Zona 1 dell’impianto di termoregolazione, OFF

Tabella 3.2: Esempi di comandi OPEN

3.4.2.3 Richiesta stato

Il messaggio OPEN di richiesta stato `e cosi strutturato: *#CHI*DOVE##

Viene inviato dal client nelle sessioni di tipo comandi per richiedere in- formazioni sullo stato di un singolo dispositivo, di un insieme di dispositivi o di un intero sistema. Il server risponde ad una richiesta di stato inviando uno o pi`u messaggi OPEN di stato 3.4.2.2. La risposta deve essere terminata da

3.3.4.2 Messaggi OPEN 59 un messaggio di ACK (o di NACK in caso di problemi o se il dispositivo di cui si richiede lo stato non `e presente nel sistema). Nel caso in cui il campo non `e specificato, la richiesta di stato `e generica verso tutto il sistema. Per il significato dei tag CHI e DOVE si faccia riferimento al paragrafo 3.4.2.2. Nella tabella 3.3 sono mostrati alcuni esempi di richieste di stato con messaggi OPEN.

Messaggio OPEN Descrizione

*#1*13## Richiesta stato luce 13

*1*0*13## Risposta dello stato della luce 13, OFF

*#*1## Il flusso `e chiuso con un ACK se la risposta `e corretta

*#2*41#4#2## Richiesta stato della tapparella 41 presente su bus locale 2

*#1## Richiesta stato luci di tutto l’impianto di illuminazione

*#4*1## Richiesta stato della zona 1 dell’impianto di termoregolazione

Tabella 3.3: Esempi richieste di stato OPEN

3.4.2.4 Richiesta/valore grandezze

Il messaggio OPEN di richiesta grandezze `e cosi strutturato: *#CHI*DOVE*GRANDEZZA##

Viene inviato dal client nelle sessioni di tipo comandi per richiedere in- formazioni sul valore di una grandezza di un singolo dispositivo, di un in- sieme di dispositivi, o dell’intero sistema. Il server risponde ad una richiesta di grandezza inviando uno o pi`u messaggi OPEN di valore grandezza cos`ı strutturati:

*#CHI*DOVE*GRANDEZZA*VAL1*...*VALn##

Il numero di campi VAL dipende dalla GRANDEZZA richiesta. Il mes- saggio di risposta `e seguito dal messaggio di ACK. Se non vi `e seguito alla richiesta di una risposta, o si verifica un errore, al messaggio di richiesta gran- dezza segue un NACK. Per alcuni dispositivi `e possibile che ad una richiesta di grandezza segua oltre ad un messaggio di valore grandezza uno o pi`u mes- saggi OPEN di tipo STATO chiusi dal messaggio di ACK o NACK(in caso di errore). Il messaggio di risposta viene generalmente inviato anche nelle connessioni monitor. Il server OPEN invia automaticamente il messaggio di

60 Tech-manager BTicino valore grandezza a fronte di variazioni della grandezza o semplicemente se il dispositivo che lo invia deve segnalare periodicamente lo stato della grandez- za (ad esempio ogni 15 minuti le sonde della funzione di termoregolazione comunicano il valore della temperatura rilevata anche se questa non varia). Per il significato dei tag CHI e DOVE si faccia riferimento al paragrafo 3.4.2.2. GRANDEZZA Questo tag individua una grandezza che caratterizza il disposi- tivo a cui fa riferimento il messaggio OPEN. Per ogni CHI (e quindi per ogni funzione) viene specificata una eventuale tabella delle GRAN- DEZZE. Tutte le grandezze sono leggibili, mentre solo alcune possono anche essere scritte tramite un messaggio OPEN. Ad ogni grandezza sono associati un numero prefissato di valori ammissibili.

VAL1..VALn Questi tag descrivono il valore della grandezza stessa. Ogni messaggio di risposta valore grandezza ha almeno il tag VAL1

Nella tabella 3.4 vengono mostrati alcuni esempi di messaggi di richiesta grandezze e relativa risposta.

Messaggio OPEN Descrizione

*#13**1## Richiesta della data del dispositivo server OPEN

*#13**1*D*G*M*A## La risposta con giorno, num giorno, mese, anno

*#*1## Il flusso `e chiuso con un ACK se la risposta `e corretta

*#4*1*0## Richiesta della temperatura misurata nella zona 1

*#4*1*0*0215*3## Risposta richiesta temperatura. 21.5 ◦C

*#*1## Il flusso `e chiuso con un ACK se la risposta `e corretta

Tabella 3.4: Esempi richieste di grandezze e relative risposte OPEN

3.4.2.5 Scrittura grandezze

Il messaggio OPEN di scrittura grandezze `e cos`ı strutturato: *#CHI*DOVE*GRANDEZZA*VAL1*...*VALn##

Il messaggio comporter`a un’effettiva modifica, solo per quelle grandezze abilitate alla scrittura. Il messaggio `e inviato dal client nelle sessioni di tipo comandi per modificare i valorii della grandezza di un singolo dispositivo,

3.3.4.3 Sessione comandi e monitor: dettaglio 61

Documenti correlati