Difference between revisions of "OWN OpenWebNet Language Reference"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
The [http://en.wikipedia.org/wiki/OpenWebNet OpenWebNet protocol] was defined in 2000 by [http://en.wikipedia.org/wiki/Bticino Bticino] to specify the communication with a Bticino domotic gateway, connected via LAN, RS-232 (serial) or USB. | The [http://en.wikipedia.org/wiki/OpenWebNet OpenWebNet protocol] was defined in 2000 by [http://en.wikipedia.org/wiki/Bticino Bticino] to specify the communication with a Bticino domotic gateway, connected via LAN, RS-232 (serial) or USB. | ||
− | A Bticino gateway receives and sends | + | == Basic Syntax Rules == |
+ | A Bticino gateway receives and sends '''''OPEN messages''''': | ||
+ | * A message is a simple string, containing the characters asterisk ('''*'''), hash ('''#''') and numbers from '''0 to 9'''. | ||
+ | * each message begins with an asterisk ('''*''') and ends with a double hash ('''##'''). | ||
+ | * within the message, fields are separated by an asterisk ('''*'''). | ||
− | + | Example: <code>'''*field1*field2*field3*...fieldN##'''</code> | |
− | |||
− | + | The following table shows the allowed syntax: | |
+ | |||
+ | {| class="wikitable" | ||
+ | ! style="text-align:left;"| Message Type | ||
+ | ! style="text-align:left;"| Message | ||
+ | ! style="text-align:left;"| Note | ||
+ | |- | ||
+ | |ACK | ||
+ | |<tt>*#*1##</tt> | ||
+ | |Message accepted/understood | ||
+ | |- | ||
+ | |NACK | ||
+ | |<tt>*#*0##</tt> | ||
+ | |Message not accepted/understood | ||
+ | |- | ||
+ | |Standard | ||
+ | |<tt>*WHO*WHAT*WHERE##</tt> | ||
+ | |Standard message | ||
+ | |- | ||
+ | |Status Request | ||
+ | |<tt>*#WHO*WHERE##</tt> | ||
+ | |Request a state (e.g. if a light is ON or OFF) | ||
+ | |- | ||
+ | |Dimension Request | ||
+ | |<tt>*#WHO*WHERE*DIMENSION##</tt> | ||
+ | |Request the dimension | ||
+ | |- | ||
+ | |Dimension Write | ||
+ | |<tt>*#WHO*WHERE*#DIMENSION*VAL1*VAL2*...*VALn##</tt> | ||
+ | |Write a dimension | ||
+ | |} | ||
+ | |||
+ | == Standard Message == | ||
+ | |||
+ | In the table above, we learned a Standard Message consists of <code>''' *WHO*WHAT*WHERE## ''' </code>. | ||
+ | * <tt>'''WHO'''</tt> identifies the service, such as scenario, light or automation | ||
+ | * <tt>'''WHAT'''</tt> is the action to be performed, such as light ON/OFF or dimmer, shutter up/down etc. | ||
+ | * <tt>'''WHERE'''</tt> identifies the object, which can be an area, group, an environment, or just a single light or shutter etc. A <tt>'''WHERE'''</tt> field can also come with optional parameters, separated by a hash ('''#'''), e.g. <tt>'''*WHERE#PAR1#PAR2#...#PARn'''</tt> |
Revision as of 17:55, 15 November 2014
The OpenWebNet protocol was defined in 2000 by Bticino to specify the communication with a Bticino domotic gateway, connected via LAN, RS-232 (serial) or USB.
Basic Syntax Rules
A Bticino gateway receives and sends OPEN messages:
- A message is a simple string, containing the characters asterisk (*), hash (#) and numbers from 0 to 9.
- each message begins with an asterisk (*) and ends with a double hash (##).
- within the message, fields are separated by an asterisk (*).
Example: *field1*field2*field3*...fieldN##
The following table shows the allowed syntax:
Message Type | Message | Note |
---|---|---|
ACK | *#*1## | Message accepted/understood |
NACK | *#*0## | Message not accepted/understood |
Standard | *WHO*WHAT*WHERE## | Standard message |
Status Request | *#WHO*WHERE## | Request a state (e.g. if a light is ON or OFF) |
Dimension Request | *#WHO*WHERE*DIMENSION## | Request the dimension |
Dimension Write | *#WHO*WHERE*#DIMENSION*VAL1*VAL2*...*VALn## | Write a dimension |
Standard Message
In the table above, we learned a Standard Message consists of *WHO*WHAT*WHERE##
.
- WHO identifies the service, such as scenario, light or automation
- WHAT is the action to be performed, such as light ON/OFF or dimmer, shutter up/down etc.
- WHERE identifies the object, which can be an area, group, an environment, or just a single light or shutter etc. A WHERE field can also come with optional parameters, separated by a hash (#), e.g. *WHERE#PAR1#PAR2#...#PARn