Interested Article - OpenWebNet
- 2020-01-25
- 1
OpenWebNet — открытый протокол, развиваемый компанией Bticino с 2000 года. Предназначен для интеграции системы домашней автоматизации MyHome с решениями от других производителей. Взаимодействие осуществляется через шлюз .
OpenWebNet протокол
Используя специальное программное обеспечение можно осуществлять централизованный контроль над системой . С помощью 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 Шлюзы
Существует два типа , которые позволяют взаимодействовать с :
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.
См. также
Ссылки
- от 1 марта 2009 на Wayback Machine
- от 14 марта 2022 на Wayback Machine
- от 21 ноября 2010 на Wayback Machine
- 2020-01-25
- 1