OWN OpenWebNet Language Reference
The OpenWebNet protocol was defined in 2000 by Bticino/Legrand to specify the communication with a Bticino home automation gateway, connected via LAN, RS-232 (serial) or USB. Here you'll get a brief overview of the OWN language syntax. To watch live the OWN messages of your Bticino gateway, you should try the Python Monitor in our Code Snippets section.
Contents
Basic Syntax Rules
A Bticino gateway receives and sends so called 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 OWN message 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) |
Attribute Request | *#WHO*WHERE*ATTRIBUTE## | Request attribute value |
Attribute Write | *#WHO*WHERE*#ATTRIBUTE*VAL1*VAL2*...*VALn## | Write attribute value(s) |
We know already that a standard message consists of *WHO*WHAT*WHERE##
.
- WHO identifies the service, such as scenario, light or automation. See WHO table below.
- 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. Check out the WHERE table below.
Some Examples
*1*0*25## Turn off light 2.5 on local interface | | | | | +- light address 25 | +- 0=OFF +- WHO=1 lighting *1*1*47#4#01## Turn on light 4.7 on interface 1 (#4#01) *1*1*0415## Turn on light 4.15 on local interface *1*0*0## Turn off all lights on local interface *0*13*19#4#06## Launch scenario 13 of scenario list 19 on interface 6 | | | | | | | +- #4#06 = interface 6 | | +- 19 = address of scenario list | +- scenario #13 +- WHO=0 scenarios *2*1*91#4#03## open (1) shutter 9.1 in on interface 3 (#4#03) *#4*#1*#14*0225*3## Set heating zone 1 manually ON to 22.5°C
WHERE Table
The very last WHERE parameter 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
Notice: for smaller home automation facilities, the 88 available addresses (11..99, see WHERE table below) of a normal gateway (like F453AV) are sufficient and can be directly addresse via the local interface (##) of the gateway. But if you have more than 88 light points (like me), you might need/have additional interfaces to extend the addressable lights. A message with an address on the local interface ends with a ##. Adresses connected to on one of your extension interfaces must have the prefix "#4#nn, where nn stands for the 2-digit value of the extension interface number. So a message with an address on interface 7 ends like this: "#4#07##.
WHERE | Address |
---|---|
0 | General (covers 11..99) |
1..9 | Zone/room 1 to 9 |
11..99 | Light point 1.1 to 9.9 |
0110..0915 |
Light point 1.10 to 9.15 extended addresses |
#1..#9 | Group 1 to 9 |
WHO Table
The tables below gives you an idea of WHO, WHAT, and WHERE:
WHO | Service |
---|---|
0 | Scenarios |
1 | Lighting |
2 | Automation |
3 | Load Control |
4 | Heating |
5 | Burglar Alarm |
6 | Door Entry System |
7 | Multimedia |
9 | Auxiliary |
13 | Device Communication |
14 | Light+shutters actuators lock |
15 | WHO=15 - CEN |
16 | Sound System |
17 | Scenario Programming |
18 | Energy Management |
24 | Lighting Management |
25 | WHO=25 - CEN plus |
1000 | Diagnostic |
1001 | Automation Diagnostic |
1004 | Heating Diagnostic |
1008 | Door Entry System Diagnostic |
1013 | Device Diagnostic |