OpenWebNet

OpenWebNet (англ. OpenWebNet) — коммуникационный протокол, разработанный компанией Bticino с 2000 годаОфициальный сайт сообщества MyOpen (англ.). MyOpen Legrand Group. Legrand. Дата обращения: 20 июня 2024..

Протокол OpenWebNet обеспечивает «высокоуровневое» взаимодействие между удалённым устройством и шиной SCS системы домашней автоматизации MyHome. В последних редакциях протокол был усовершенствован и теперь позволяет взаимодействовать с распространёнными системами умного дома, такими как KNX и DMX512-A, через соответствующие шлюзы.

Протокол OpenWebNet публикуется на портале сообщества MyOpenДокументация протокола OpenWebNet (англ.). MyOpen Legrand Group. Legrand. Дата обращения: 20 июня 2024..

Протокол OpenWebNet

OpenWebNet изначально разрабатывался как независимый от конкретной используемой технологии протокол. К примеру, возможно использование управляющего программного обеспечения, подключённого к шлюзу через Ethernet, последовательный RS-232 или USB, и уже затем шлюз осуществляет взаимодействие с системой домашней автоматизации непосредственно. При необходимости можно расширять сообщения протокола — нужно лишь предложить свой запрос на комментарий (RFC), который будет рассмотрен и опубликован, если он соответствует синтаксису OpenWebNet.

Синтаксис

Сообщение OpenWebNet состоит из полей переменной длины, разделённых специальным символом «*» и завершающихся последовательностью «##».

В полях разрешены только цифры и символ «#».

Общая структура сообщения:

  • поле1*поле2*…*полеN##

Допустимые поля: WHO WHAT WHERE DIMENSION VALUE

WHO

Определяет функцию системы домашней автоматизации, к которой относится сообщение OpenWebNet.

Например: WHO = 1 — управление системой освещения.

WHAT

Определяет действие, которое нужно выполнить, либо состояние для считывания. Для каждого значения WHO (и, следовательно, для каждой функции) существует своя таблица WHAT.

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

Примеры действий: включить свет, установить диммер на 75 %, опустить жалюзи, включить радио и др. Пример состояний: свет включён, тревога активна, разряжена батарея и т. п.

WHERE

Определяет набор объектов, к которым относится сообщение OpenWebNet. Это может быть как отдельный объект, так и группа объектов, конкретная зона, вся система и т. д.

Для каждого значения WHO существует своя таблица WHERE.

WHERE также может включать дополнительные параметры: WHERE#PAR1#PAR2… #PARn.

Примеры WHERE: все светильники группы 1, датчик 2 в зоне 1 охранной системы и пр.

DIMENSION

Задает измеряемую характеристику объекта, к которому относится сообщение. Для каждого значения WHO существует своя таблица DIMENSION.

Можно запросить/прочитать/записать значение одной из характеристик. Каждая характеристика имеет определённый перечень значений, которые указываются в поле VALUE.

Примеры: температура датчика, громкость громкоговорителя, версия прошивки устройства и др.

VALUE

Определяет прочитанное, записанное либо запрашиваемое значение характеристики (DIMENSION).

Сообщения

Существует четыре типа сообщений OpenWebNet:

  • Команда / сообщение о состоянии
  • Запрос состояния
  • Сообщение о запросе/чтении/записи значения характеристики
  • Подтверждение (Acknowledgement)

Команда / сообщение о состоянии

*WHO*WHAT*WHERE##

Запрос состояния

*#WHO*WHERE##

Сообщения о работе с характеристиками Запрос:

*#WHO*WHERE*DIMENSION##  

Чтение:

*#WHO*WHERE*DIMENSION*VALUE1*...*VALUEn##  

Запись:

*#WHO*WHERE*#DIMENSION*VALUE1*...*VALUEn##

Подтверждение

ACK:  
*#*1##  
NACK:  
*#*0##

Шлюзы OpenWebNet

Взаимодействовать с шиной SCS домашней автоматизации можно посредством специальных шлюзов.

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

Шлюз Ethernet

В актуальной реализации BTicino шлюз Ethernet также выполняет функции встроенного веб-сервера. Он осуществляет трансляцию сообщений OpenWebNet по TCP/IP и сообщений, передаваемых по SCS-шине.

Через такой шлюз можно управлять тремя типами шин:

  • BUS SCS
  • KNX
  • DMX

Ethernet-шлюз поддерживает несколько режимов аутентификации:

  • список разрешённых IP-адресов (white list)
  • обмен одноразовым паролем по типу nonce (используется на старых устройствах)
  • алгоритм аутентификации на основе HMAC (реализован в новых версиях; см. документацию)

По умолчанию шлюз Ethernet использует порт 20000, хотя официально за протоколом закреплён порт 20005.

Шлюз USB или RS-232

Шлюз представляет собой интерфейс, осуществляющий трансляцию между сообщениями OpenWebNet, поступающими по USB или последовательному интерфейсу, и сообщениями SCS-шины.

Функции

Значение WHO Функция
0 Сценарий
1 Освещение
2 Автоматика
3 Контроль нагрузки
4 Терморегуляция/отопление
5 Охранная/сигнализация
6 Дверной домофон
7 Видеодомофон/мультимедиа
9 Вспомогательные функции
13 Управление шлюзами/интерфейсами
14 Блокировка приводов освещения и жалюзи
15 Программируемый сценарий (CEN)/расписание, переключатель
16 Аудиосистема/звук
17 Программирование сценариев
18 Энергоменеджмент
24 Управление освещением
25 Программируемый сценарий (CEN)/кнопки сценариев
1000 Диагностика
1001 Диагностика автоматизации
1004 Диагностика неисправностей терморегуляции
1013 Диагностика устройств
Значение WHERE Функция освещения
0 Общая группа
1÷9 Комната 1–9
11÷99 Точка освещения 11–99
#1÷#9 Группа 1–9

Пример

Примеры сообщений OpenWebNet

Командное сообщение

Выключение света №77

*1*0*77##

WHO = 1 WHAT = 0 WHERE = 77

Сообщение состояния

Активирован сценарий 1 у блока сценариев 23

*0*1*23##

WHO = 0 WHAT = 1 WHERE = 23

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

Запрос состояния датчика 1

*#4*1##

WHO = 4 WHERE = 1

Сообщение запроса измеряемой характеристики

Запрос температуры, датчик 44

*#4*44*0##

WHO = 4 WHERE = 44 DIMENSION = 0

Сообщение с прочитанным значением характеристики

Измеренная температура, датчик 44

*#4*44*0*0251*2##

WHO = 4 WHERE = 44 DIMENSION = 0 VALUE1 = 0251 (T = +25,1 °C) VALUE2 = 2 (система в режиме охлаждения)

Сообщение для записи значения характеристики

Установка громкости на 50 %, зона 2

*#16*#2*#1*16*##

WHO = #16 WHAT = #2 WHERE = #1 DIMENSION = 1 VALUE1 = 16

Примечания

Литература

  • Moneta, D.; Mauri, G.; Bettoni, C.; Meda, R. — Cesi ricerca (Италия). «Test Facility for the assessment of local energy management systems», 19th Conference on Electricity Distribution, Вена, 21–24 мая 2007. Test Facility for the assessment of local energy management systems (англ.). CIRED. CIRED (21 мая 2007). Дата обращения: 20 июня 2024. Архивировано 6 июля 2011 года.
  • Moneta, D.; Bisone, L.; Mauri, G.; Meda, R. — Cesi ricerca (Италия). «New interactions between LV customers and the network: further possibilities for home automation functions», IEEE International Conference on Robotics and Automation, Рим, 10–14 апреля 2007. New interactions between LV customers and the network: further possibilities for home automation functions (англ.). IEEE Xplore. IEEE (10 апреля 2007). Дата обращения: 20 июня 2024.
  • Bonino, D.; Castellina, E.; Corno, F. — Политехнический университет Турина (Италия). «DOG: an Ontology-Powered OSGi Domotic Gateway», Турин, сентябрь 2008. DOG: an Ontology-Powered OSGi Domotic Gateway (англ.). Politecnico di Torino. Politecnico di Torino (сентябрь 2008). Дата обращения: 20 июня 2024. Архивировано 21 июля 2019 года.

Ссылки