OpenWebNet

From Wikipedia, the free encyclopedia
Jump to: navigation, search

OpenWebNet is a communications protocol developed by Bticino since 2000.

The OpenWebNet protocol allows a "high-level" interaction between a remote unit and Bus SCS of MyHome domotic system. The latest protocol evolution has been improved to allow interaction with well-known home automation systems like KNX and DMX512-A system, by using appropriate gateways.

The OpenWebNet protocol is disclosed on MyOpen community.

OpenWebNet Protocol[edit]

The protocol is thought to be independent from the used technology. For example, it is possible to use a supervisor software connected via Ethernet, via serial RS-232 or via USB to a gateway that is directly connected to a domotic system.

Everyone can require protocol message extension. It is enough to propose your own RFC. It will be examined and disclosed if it respects OpenWebNet syntax.

Syntax[edit]

An OpenWebNet message is structured with variable length fields separated by the special character '*' and closed by '##'.

The characters admitted in the fields are numbers and the character “#”.

The structure of a message is therefore:

  • field1*field2*… *fieldN##

The following fields are admitted: WHO WHAT WHERE DIMENSION VALUE

WHO

It characterizes the domotic system function to which the OpenWebNet message is referred.

For example: WHO = 1, characterizes the messages for lighting system management.

WHAT

It characterizes an action to do or a status to read. For every WHO (and therefore for every function) there is a specific WHAT table.

The field WHAT can also contain optional parameters: WHAT#PAR1#PAR2… #PARn.

Example of actions: switch ON light, dimmer to 75%, switch DOWN shutter, radio ON, etc. Example of status: light ON, active alarm, battery unload, etc.

WHERE

It characterizes the set of objects to which the OpenWebNet message is referred. It can be a single object, a group of objects, a specific environment, the entire system, etc.

For every WHO (and therefore for every function) there is a specified WHERE table.

The tag WHERE can also contain optional parameters: WHERE#PAR1#PAR2… #PARn.

Example of where: all the lights of group 1, sensor 2 of zone 1 of alarm system, etc.

DIMENSION

Is a range of value that characterizes the dimension of the object to which the message is referred. For every WHO (and therefore for every function) there is a specific DIMENSION table.

It’s possible to require/to read/to write the value of one dimension. Every dimension has a prefixed number of values, described in VALUE field.

Example of dimension: sensor temperature, loudspeaker volume, firmware version of a device, etc.

VALUE

It characterizes the read/written value of a written/required/read dimension.

Message[edit]

There are 4 types of OpenWebNet Message:

  • Command / Status Message
  • Status Request Message
  • Request/Read/Write Dimension Message
  • Acknowledge Message

Command / Status Message

*WHO*WHAT*WHERE##

Status Request Message

*#WHO*WHERE##

Request/Read/Write Dimension Message Request:

*#WHO*WHERE*DIMENSION##

Read:

*#WHO*WHERE*DIMENSION*VALUE1*...*VALUEn##

Write:

*#WHO*WHERE*#DIMENSION*VALUE1*...*VALUEn##

Acknowledge Message ACK:

*#*1##

NACK:

*#*0##

Gateway OpenWebNet[edit]

It's possible to interact with the SCS home automation bus by using a specific gateway.

There are two typologies of gateways that allow a connection to the field bus by using different standard protocols:

Gateway Ethernet

The current implementation by BTicino is also an embedded web server. It works as a translator between OpenWebNet messages via TCP/IP and the SCS messages transmitted on the SCS bus.

Actually it is possible to control three different kinds of buses:

The ethernet gateway offers two modes of authentification.

  • via a list of whitelisted IPs
  • using a nonce-type password exchange (see in the external links for code)

Gateway USB / RS232

The gateway is an interface that works as a translator between the OpenWebNet messages transmitted on USB or Serial and the SCS messages transmitted on the SCS bus.

Functions[edit]

WHO value Function
0 Scenario
1 Lighting
2 Automation
3 Load control
4 Temperature Control/Heating
5 Burglar Alarm/Intrusion
6 Door Entry System
7 Video Door Entry System/multimedia
9 Auxiliary
13 Gateway/interfaces management
14 Light+shutters actuators lock
15 CEN/Scenario Scheduler, switch
16 Sound System/Audio
17 Scenario programming
18 Energy Management
24 Lighting Management
25 CEN/Scenario Scheduler, buttons
1000 Diagnostic
1001 Automation diagnostic
1004 Thermoregulation diagnostic failures
1013 Device diagnostic
WHERE value Lighting Function
0 General
1÷9 Room 1÷9
11÷99 Light point 11÷99
#1÷#9 Group 1÷9

Example[edit]

OpenWebNet message examples

Command Message

Switch Off of light 77

*1*0*77##

WHO = 1 WHAT = 0 WHERE = 77

Status Message

Scenario 1 of scenario unit 23 activated.

*0*1*23##

WHO = 0 WHAT = 1 WHERE = 23

Request status message

Status request of probe 1

*#4*1##

WHO = 4 WHERE = 1

Request Dimension Message

Request of Temperature Measured, probe 44

*#4*44*0##

WHO = 4 WHERE = 44 DIMENSION = 0

Read Dimension Message

Temperature Measured, probe 44

*#4*44*0*0251*2##

WHO = 4 WHERE = 44 DIMENSION = 0 VALUE1 = 0251 (T=+25,1°C) VALUE2 = 2 (System in "cooling mode")

Write Dimension Message

Volume set at 50%, environment 2

*#16*#2*#1*16*##

WHO = #16 WHAT = #2 WHERE = #1 DIMENSION = 1 VALUE1 = 16

See also[edit]

References[edit]

External links[edit]

  • MyOpen Bticino
  • DOG A Domotic OSGi Gateway able to expose different domotic networks as a single, technology neutral, home automation system. It supports OpenWebNet protocol.
  • IANA, TCP ports assignment. OpenWebNet is associated to port 20005
  • MyHomeVillage.com Description of home automation projects.
  • password calcs implementation of the connection password calculations in python