Недавно были опубликованы в открытом доступе спецификации протокола Z-Wave, одного из самых популярных протоколов в домашней автоматизации. Нет, это не утечка, а осознанный шаг компании Sigma Designs, владельца протокола Z-Wave. На сегодняшний день Z-Wave используется внутри десятков миллионов умных домов, и открытие спецификации стандарта явно пойдёт на пользу популярности Z-Wave.



В нашей старой статье мы описывали, как протокол Z-Wave раскладывается на модель уровней OSI. Ещё в 2012 года физический и канальный уровни протокола Z-Wave вошли в стандарт Международного Союза Электросвязи под ITU-T G.9959. Эти уровни отвечают непосредственно за передачу данных по радио эфиру, описывают используемые частоты, способы кодирования и адресации. Однако, все уровни выше оставались закрытыми, для получения доступа к документации было необходимо подписывать соглашение о неразглашении и покупать комплект разработчика. Нередко это становилось препятствием для компаний, которые планировали делать собственное ПО для управления устройствами Z-Wave (т.е. им даже кит разработчика не был нужен).

Например, такие известные проекты как OpenZWave или OpenHAB (точнее его Z-Wave биндиг) были основаны на реверс-инжиниринге протокола Z-Wave, а не на спецификации. Это, конечно, приводило к кривым или неполным имплементациям.

Кроме того пользователи не могли понять, кого винить в неверной работе устройства с контроллером: производителя устройства или производителя контроллера. В логи посмотреть можно, но разобрать их и понять, соответствует ли пакет из логов спецификации или нет, было невозможно.

Теперь всё изменилось! Любой может свериться с официальной спецификацией и даже внести свои предложения и замечания. Открытие спецификации Z-Wave — это сильная заявка протокола на доминирование в сфере домашней автоматизации и Internet of Things. Возможно, Z-Wave таки станет универсальным языком взаимодействия для умных устройств и приложений в домохозяйствах.

Но вернёмся к реалиям. Что же нам тут Sigma Designs опубликовали?


Были полностью открыты все описания Классов Команд (Command Class), а так же описания Классов Устройств (Device Class). Первые описывают, как формируется каждая отдельная команда, какой байт и бит в пакете данных что означает, как его интерпретировать. Вторые описывают специфику интерпретации некоторых Классов Команд в зависимости от типа устройства. Например, класс Switch Multilevel для диммера — это яркость, а для устройства управления жалюзи — это положение ламелей. Фактически, это полное описание языка общения между устройствами и «фразеологизмов». Это и есть самое интересное из всего опубликованного.

Открытая спецификация включает в себя описание недавно анонсированного нового уровня шифрования в Z-Wave, названного S2. Этот уровень превосходит используемый повсеместно на данный момент (его теперь называют S0) как по производительности, так и по безопасности.

Кроме того были открыты описания Z/IP (Z-Wave over IP) — надстройки поверх TCP/IP для передачи пакетов Z-Wave. Z/IP позволяет заворачивать пакеты Z-Wave в TCP или UDP с последующей передачей и анализом на облачном сервере. Поверх Z/IP был сделан Z-Ware — middleware, предоставляющий более высокий уровень абстракции над Z-Wave. На практике что Z/IP, что Z-Ware никто особо не использовал. Все популярные контроллеры: RaZberry/Z-Way, Fibaro, Vera, OpenHAB, Domoticz имеют собственные уровни абстракции и API для работы по HTTP (т.е. поверх TCP/IP). Т.е. здесь мы увы ничего особо интересного не получили.

Всё это доступно на специальном сайте zwavepublic.com

Отметим, что всё это не отменяет необходимости как и прежде сертифицировать каждое новое устройство Z-Wave для проверки соответствия протоколу и совместимости с другими устройствами. Более того, новые средства автоматического тестирования стали более строгими и разносторонними.

Зачем Sigma Designs это сделали?


Ну, очевидно, все давно этого просили. Закрытие протокола — не самая хорошая идея по многим причинам.

Безопасность
Сокрытие лишь увеличивает количество дыр, уменьшая количество глаз, проверивших спеки и код. Открытие протокола Z-Wave — признак зрелости схем безопасности протокола.

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

Многофункциональность
Зная о доступных в протоколе «фишках», пользователи будут призывать производителей делать «продвинутые» устройства.

В конце концов, Sigma Designs зарабатывает на продаже чипов и лицензии, заложенной в его стоимости, и лишнее ограничение на «вход в технологию» явно не способствует продажам. Странно, что решение это зрело так долго.

Наверняка ведь что-то утаили?


Ага, утаили ;)

Увы, в открытый доступ не попали сетевой и транспортный уровни, описывающие маршрутизацию, ретрансляции, подтверждения. Именно эти уровни покрыты множеством патентов Sigma Designs и обеспечивают стабильность работы больших сетей Z-Wave.

Уверен, случившееся открытие большей части протокола приведёт к популяризации Z-Wave во всём мире.

» Оригинальная новость тут.
Поделиться с друзьями
-->

Комментарии (11)


  1. aivs
    22.10.2016 00:07

    Ну теперь то OpenZWave разгуляется!


    1. PoltoS
      22.10.2016 00:21

      Верно. скорее всего разработчики OZW, как и команда OpenHAB перепишут свои куски «с нуля».


  1. x893
    22.10.2016 01:01
    +1

    И можно со сканером по подъездам ходить.


    1. PoltoS
      22.10.2016 02:40

      А это и ранее можно было делать ;) К тому же базовые команды уже давно были известны — см. всё тот же Open Z-Wave, например. Хотя теперь это сложнее — всё больше и больше устройств с шифрованием.


  1. gelio
    23.10.2016 00:17

    Прошу прощения, а можно для обывателя рассказать, чем это «грозит»?
    Судя по последним абзацам — особо ничем?


    1. PoltoS
      23.10.2016 00:22

      Почему же? Из последнего абзаца следует, что сделать свой стек Z-Wave Вы не сможете, обойдя Сигму.

      Но открытие протокола верхнего уровня в добавок к уже открытым двум нижним приведёт к улучшению качества ПО и устройств, к большей конкуренции, а значит хорошо для конечного пользователя. Кроме того Сигма потихоньку снимает клеймо «проприетарный» с Z-Wave, что тоже способствует популярности. В конце концов, какой он проприетарный, если 350 компаний по всему миру сделали более 1500 уникальных устройств?!


  1. lingvo
    23.10.2016 10:33

    Я очень жду теперь хорошей реализации контроллера Z-Wave для OpenHAB. Особенно нормального конфигуратора


    1. PoltoS
      24.10.2016 13:57
      +1

      Встречался в сентябре с одним из главных разрабов OpenHAB. Они планируют теперь радикально переписать весь биндинг Z-Wave, добавив сразу S2. Хотя это займёт много времени. Пока у них и шифрования даже нет. В этом OpenHAB сильно отстает.


  1. Delsian
    24.10.2016 12:14
    -1

    Разрабы поняли, что безнадежно проигрывают новым спецификациям блютуза, и последними конвульсивными усилиями пытаются оживить труп.


    1. lingvo
      24.10.2016 12:54
      +1

      Рассмешили. Где же умные розетки Bluetooth, которые похоронят Z-wave?


    1. PoltoS
      24.10.2016 13:54

      Боюсь, что ваша желочь безосновательна. Покажите мне хоть 5 устройств для умного дома на BTLE. А я вам покажу тысячу на Z-Wave. BT и Z-Wave очень разные технологии и пока не могут конкурировать, находясь в разных сферах. Физика не даёт им пока схлестнуться.