OpenWebNet

OpenWebNet - открытый протокол, развиваемый компанией Bticino с 2000 года. 
Предназначен для интеграции системы домашней автоматизации MyHome с решениями от других производителей.
Взаимодействие осуществляется через шлюз.

OpenWebNet протокол 

Используя специальное программное обеспечение можно осуществлять централизованный контроль над системой MyHome. С помощью ethernet, serial RS232 или USB через шлюз программа подсоединяется к системе домашней автоматизации.

Минимальные требования - возможность использовать DTMF коды телефонной сети общего пользования (PSTN) для передачи сообщений.

История 

OpenWebNet протокол был открыт в 2006 году с целью абстрагирования от «закрытой» SCS (Simple Cable Systems) технологии, на которой базируются все системы автоматизации MY HOME, и предложить возможность их интеграции с решениями от других производителей, которая не привязана к способу передачи данных. 
Впервые протокол был использован для управления светом через телефонную линию (DTMF коды).

Синтаксис 

OpenWebNet сообщение имеет ASCII формат и состоит из полей различной длины, разделенных символом '*'. Закрывает сообщение '##'.

Структура сообщения выглядит следующим образом:
 field1*field2*… *fieldN##

Могут быть использованы следующие поля:
WHO
WHERE
WHAT
DIMENSION
VALUE

WHO

В зависимости от значения в этом поле, сообщения относятся к той или иной подсистеме MyHome.
Например, если значение WHO = 1 , сообщение предназначено для управления светом, если WHO=4 – температурой и.т.д

WHERE

В зависимости от значения, содержащегося в этом поле, сообщения относятся к тому или иному объекту (набору объектов) системы MyHome. По сути поле содержит адрес устройств.
Для каждого из значений поля Who существует табличное значение поля Where 
Например, если значение WERE = 11 , сообщение предназначено для управления устройством с адресом A=1; PL=1.

Таг WHERE может также содержать дополнительные параметры: WHERE#PAR1#PAR2… #PARn.

WHAT

Поле характеризует действие, которое необходимо выполнить. Это может быть вкл/выкл света, установка диммера на определенный уровень яркости, включение радиотюнера. 

Например, если значение What = 1, сообщение включит свет, если 0 – выключит. Если же, например, необходимо установить диммер на уровень 60% , то значение What=6.

DIMENSION

Используется для измерения текущих параметров объекта. 
С помощью этого поля можно сделать запрос текущего значения измеряемого параметра, прочитать/записать значение параметра.

Например: температура, уровень громкости, версия программного обеспечения устройства итд

Структура сообщений 

Командное/ Статусное сообщение:

 *WHO*WHAT*WHERE##
Пример: *1*1*11##

WHO=1 - сообщение предназначено для системы освещения; 

WHERE=11 - адрес устройства A=1, PL=1;

WHAT=1 - включение активатора;

Сообщение запроса статуса:

 *#WHO*WHERE##
Пример: *#1*11##

WHO=1 - сообщение предназначено для системы освещения; 

WHERE=11 - адрес реле, статус которого необходимо запросить A=1, PL=1;

Запрос/Чтение измеряемого параметра:

 *#WHO*WHERE*DIMENSION##
Пример: *#4*01*0##

WHO=4 - сообщение предназначено системы термоконтроля;

WHERE=01 - запрос показания термодатчика зоны 1 (ZA=0, ZB=1);

DIMENSION=0 – режим считывания показаний датчика;

Запись нового значения:

 *#WHO*WHERE*#DIMENSION*VAL1*VAL2##
Пример: *#4*1*#14*0210*1##

WHO=4 - сообщение предназначено системы термоконтроля;

WHERE=1 - адрес зоны термоконтроля (ZA=0, ZB=1);

DIMENSION=14 –режим для задания нового значения;

VAL1=0210 –новое значение температуры (21.0°); 

VAL2=1 – режим работы (нагрев);

Сообщение подтверждения/неподтверждения:

ACK:
 *#*1##
Подтверждение успешного приема команды от программы клиента;

NACK:
 *#*0##
Указывает на то, что полученное от клиента сообщение содержит ошибки

OpenWebNet Шлюзы 

Существует два типа шлюзов, которые позволяют взаимодействовать с шиной SCS:

TCP/IP Шлюз (веб-сервер) 

Является преобразователем между OpenWebNet сообщениями передаваемыми по протоколу TCP/IP и SCS сообщениями системы MyHome.
Сервер работает на платформе Linux. Также имеет веб-интерфейс.

Открытие сессии:

1.Сервер проверяет возможность установки соединения, которая зависит от количества открытых сессий. По умолчанию число сессий не должно превышать 50.

2.Если связь установлена –сервер посылает ACK сообщение.

3.Затем сервер ждет OPEN сообщения *99*0## или 99*1## для открытия сессии в одном из режимов: режим команд, режим мониторинга. Если в течение 30 секунд такого сообщения не поступает, сервер прекращает соединение.

4.После получения OPEN сообщения сервер проверяет IP адрес клиента. Если IP адрес входит в диапазон разрешенных IP адресов, то сервер начинает передачу данных.

Serial/USB шлюз 

Является преобразователем между OpenWebNet сообщениями передаваемыми по шине USB/RS-232 и SCS сообщениями системы MyHome.

См. также 
 Домашняя автоматизация
 EIB
DMX

Ссылки 
 Сообщество MyOpen 
 Сайт компании Bticino 
 Группа Legrand 

Компьютерные шины
Автоматизация