OpenWebNet

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

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

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

История

OpenWebNet протокол был открыт в 2006 году с целью абстрагирования от «закрытой» SCS (Simple Cable Systems) технологии, на которой базируются все системы автоматизации MyHome, и предложить возможность их интеграции с решениями от других производителей, которая не привязана к способу передачи данных. Впервые протокол был использован для управления светом через телефонную линию (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##

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

Шлюзы

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

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

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 шлюз

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

См. также

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.