Как настроить совместную работу Z-Wave устройств минуя контроллер сети? Читайте в нашей статье!
Что такое ассоциации
Ассоциации между модулями сети Z-Wave - это функция отправки команд и значений непосредственно от модуля к модулю, минуя контроллер. Ассоциации поддерживаются в версиях Z-Wave и Z-Wave Plus.
Каждое устройство имеет от 1 до 255 групп. Каждая группа содержит адреса для отправки сообщений и реализует какую-то одну функцию. Так, все модули имеют как минимум одну группу (Группа 1, Lifeline Group), в которую входит только контроллер. Группе 1 с некоторой периодичностью отправляется сообщение о статусе всех датчиков и устройств. Состав сообщения и периодичность его отправки определяется конфигурационными параметрами для каждого конкретного модуля. Наличие и функционал групп со 2-ой по 255-ю индивидуально для каждого датчика и определяется производителем (а в общем случае еще и функционалом и назначением модуля).
Группы для датчика PST02:
Датчик Philio PST02 позиционируется как охранный датчик движения и открытия двери/окна с дополнительными функциями измерения освещенности и температуры. Устройство поддерживает две группы:
Группа 1 для получения сообщений статуса
Группа 2 для включения света; все модули группы получают команду BASIC_SET с установленным параметром.
Очевидно, что не обязательно включать именно свет: с датчиком можно ассоциировать любой модуль, отрабатывающий команду BASIC_SET.
Также в инструкции Philio PST-02 о режимах работы сказано:
Есть два режима работы: «Тестовый» и «Стандартный».
Тестовый предполагает проверку функциональности всех датчиков при установке. Стандартный для нормальной работы.
Когда происходит событие, в нормальном режиме светодиодный индикатор датчика не загорается (он загорается однократно в нормальном режиме, только если уровень заряда батареи низкий), а в тестовом режиме светодиод загорается один раз.
Когда происходит событие, модуль отправляет отчет всем нодам группы 1. Сообщения также содержат информацию об уровне заряда батареи, текущей температуре и освещенности. Можно переключать отображение отдельных значений, устанавливая параметр 5 (освещённость и температура) и параметр 7 (уровень заряда батареи).
Когда происходит событие и если освещенность меньше заданного параметром 4 уровня, модуль отправит команду включения света соответствующим устройствам (группа 2). Также добавляется задержка перед отправкой команды выключения света, величина задержки определяется параметром 9.
Интервал времени между двумя срабатываниями датчика движения в тестовом режиме составляет 6 с, а в нормальном задается параметром 8 и по умолчанию составляет 24 с
Зачем нужны ассоциации
- Уменьшение задержки срабатывания (пинга).
Не секрет, что в угоду надежности модулей Z-Wave и возможности их работы от батарей разработчики жертвуют скоростью обмена сообщениями между модулями. В худшем случае задержка может составлять до 2 секунд.
Чтобы сократить задержку между срабатыванием датчика и действием связанного с ним актуатора, нужно не только правильно настроить сеть (см. материал «Пошаговая настройка новой сети Z-Wave») но и уметь пользоваться ассоциациями. - Очистка панели управления контроллера.
В реальной ситуации в панели управления контроллера отображается множество разнообразных устройств и она выглядит перегруженной. Особенно это заметно, когда в сети есть многофункциональные устройства: каждая их функция отображается в панели отдельно. Ассоциации помогают скрыть датчики с панели контроллера, а оставить только исполнительные устройства, или наоборот. Такой подход поможет сделать панель управления более лаконичной и удобной. - Надежность срабатывания ответственных механизмов.
Датчики Z-Wave не позиционируются как элементы систем безопасности, но некоторые функции (перекрытия кранов, закрытия окон и сворачивания навесов) все же выполняют. Надежность этих действий должна быть максимально возможной. Например, не хочется, чтобы перестроения в сети Z-Wave, пропавшее интернет-соединение или кратковременное отключение питания контроллера помешало отработать запрограммированные действия.
Ассоциации решают эту проблему: сначала действие выполняется прямой отправкой команды от устройства к устройству (обычно они расположены очень близко друг к другу и составляют соседние узлы сети, не требующие маршрутизации сообщений), а потом уже предпринимается попытка отправить сообщение до контроллера (если связь или работа правил на контроллере нарушена). - Работа с Wake-Up устройствами.
Для запитанных от батареи устройств предыдущий пункт особенно важен — временно «просыпающиеся» устройства не предпринимают постоянных попыток переслать сообщение статуса или команду. Поэтому при проблемах в сети такая команда может просто «потеряться» и никакого связанного с ней действия не произойдет. А для срабатывания датчика и отправки команд модуль специально сразу просыпается, то есть рассчитан именно на работу в формате ассоциаций.
Условия ассоциирования
- Поддержка ассоциаций зависит от особенностей конкретных устройств.
Мы определились, что с ассоциациями работают только устройства с поддержкой стандарта Z-Wave Plus. Единственная общая черта таких устройств — все они поддерживают одну группу Lifeline Group, которая содержит контроллер для отправки ему сообщений. Все остальные группы и функции (а также их наличие) абсолютно индивидуальны и узнать о них можно только из инструкции. - Соответствие триггера группы и команды.
Все ассоциации представляют собой отправку команды от одного модуля другому. Отсюда два вывода: у датчика должна быть группа, описание и параметры которой отражают нужные нам функции; у исполнительного устройства должна быть возможность выполнить ту команду, которая приходит от датчика (параметры ассоциаций исполнительного устройства не имеют значения).
Обычно точные названия команд указаны в инструкции, а для групп ассоциаций не используются редкие или сложные команды. Совместимость также может быть наглядно показана в интерфейсе контроллера при настройке. - Поддержка многоканальных устройств.
Контроллер должен поддерживать работу с конечными точками Endpoint для многоканальных MULTICHANNEL устройств. Конечные точки похожи на самостоятельные устройства в корпусе одного модуля. Работа с ними может вызвать сложности и требует поддержки на уровне оборудования.
Как настроить ассоциацию между двумя устройствами
- Подготовка и проверка.
Убедиться, что устройства, которые мы хотим ассоциировать, по своему назначению подразумевают совместную работу (например, датчик движения и диммер).
По условиям ассоциации в предыдущем пункте проверить, что группы и команды совпадают. Оценить возможности настройки конфигурационных параметров для соответствия желаемому сценарию работы. - Соответствие триггера группы и команды.
В соответствии с желаемым сценарием работы заранее выставить конфигурационные параметры на обоих устройствах. Можно также выставить такие параметры, которые будет просто тестировать при проверке ассоциаций. Не стоит пренебрегать этим шагом, потому что работа в связке с другим модулем — не самый распространенный сценарий использования, и значения по умолчанию вряд ли сработают правильно. - Настроить ассоциации через контроллер.
- Ассоциации устанавливаются только через контроллер. Для устройств с постоянным питанием этот процесс довольно прост и интуитивно понятен: зайти в настройки ассоциаций модуля-датчика; выбрать нужную группу; добавить в нее необходимое устройство. Для Wake-Up устройств этот процесс немного усложняется, т.к. нужно постоянно «будить» модуль для отправки сообщений и следить за отчетами о доставке, чтобы ассоциации и параметры установились правильно.