OpenWebNet

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
OpenWebNet.jpg

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
0 Сценарии
1 Свет
2 Энергопотребление
3 Нагрузки
4 Температура
5 Охрана
16 Звук итд...

В зависимости от значения в этом поле, сообщения относятся к той или иной подсистеме 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. Также имеет веб-интерфейс.

OpenWebNet Draw.JPG

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

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

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

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

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

Serial/USB шлюз[править | править вики-текст]

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

Смотрите также[править | править вики-текст]

Ссылки[править | править вики-текст]