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
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. Также имеет веб-интерфейс.

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

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

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

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

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

Serial/USB шлюз[править | править код]

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

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

Ссылки[править | править код]