Difference between revisions of "OWN OpenWebNet Language Reference"

From piMyHome Project
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 so called '''''OPEN messages''''', a string containing the characters asterisk (<code>'''*'''</code>) and hash (<code>'''#'''</code>) as well as numbers from (<code>'''0 to 9'''</code>).
+
== 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 ('''*''').  
  
, containing fields separated by an asterisk (<code>'''*'''</code>) and closed by e double hash (<code>'''##'''</code>). A field can contain numbers and a single hash (<code>'''#'''</code>). You see, the OWN syntax is quite simple.
+
Example: <code>'''*field1*field2*field3*...fieldN##'''</code>
The following example
 
  
switches on light #53: <pre>*1*1*53##</pre>
+
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