Модуль DII-101 и контроллер Vera
Модуль управления по ИК DEFARO DII-101 разработан для управления вашим аудио/видео оборудованием с веб-интерфейса контроллера, мобильного приложения, либо в составе различных сценариев. Устройство питается от напряжения 220В, а запись ИК команд в память устройства осуществляется с помощью специальной программы, работающей в среде Windows - Constructor Virtual Devices (CVD) с подключением модуля DII-101 к компьютеру по интерфейсу USB. В связи с особенностями работы многофункциональных или нетиповых устройств стандарта Z-Wave с различными контроллерами приходится решать также задачи совместимости работы устройства с контроллером. Чтобы устройство полноценно работало в конкретном контроллере, недостаточно, чтобы оно было стандарта Z-Wave. Помимо этого необходима поддержка устройства со стороны контроллера, как минимум, визуальное отображение устройства. Работа модуля DII-101 с контроллером Fibaro Home Center 2 вопросов не вызывает в принципе, т.к. программа CVD генерирует виртуальное устройство для контроллера HC2 с полностью настраиваемыми кнопками. Пример такого виртуального устройства показан ниже.
В данном примере речь пойдет о создании виртуального устройства управления с помощью ИК команд сабвуфером в контроллере Vera Plus. Стоит отметить, что модуль DII-101 можно обучить максимум 50 командам различных устройств, управляемых по ИК. Также для расширения функциональности модуля к нему можно подключить датчики температуры (DSA-111), температуры и влажности (DSA-112), сенсор тока (DSP-111) и датчик движения и освещенности (DSM-111).
Изображение используемого оборудования в данном примере ниже:
Добавление в сеть контроллера
Процедура добавления в Z-Wave сеть на контроллере Vera достаточно стандартна - после запуска режима добавления на контроллере трижды нажмите на функциональную кнопку, расположенную на корпусе модуля. Также при первой подаче питания устройство автоматически перейдет в режим обучения, так что возможно вам не потребуется совсем ничего нажимать. После этого Vera найдет устройство и предложит его переименовать и присвоить помещение.
После добавления устройство отображается в интерфейсе контроллера, как диммер, хотя таковым на самом деле не является.
Это одна из особенностей разработки данного устройства, чтобы оно гарантированно работало со всеми контроллерами, а диммер выбран потому, что это многоуровневое устройство и таким образом, "прямо из коробки" модуль будет работать в любом контроллере.
Обучение ИК командам
После добавления устройства в сеть обучим его необходимым ИК командам. Для этого необходимо подключение к ПК под управлением Windows.
Внимание! Не подключайте устройство к ПК, когда оно подключено к сети 220В. Вы можете повредить ваш компьютер.
После этого следуйте инструкции устройства для обучения командам с вашего пульта, используя программу «Constructor virtual devices.exe». Единственным отличием, пожалуй, будет то, что нам не потребуется выгружать и сохранять виртуальное устройство, так как оно предназначено для контроллера Fibaro HC2.
Обучим следующие команды:
- Mute под номером 1
- Вкл./выкл. под номером 2
- Громк.- под номером 3
- Громк.+ под номером 4
- Sw- под номером 5
- Sw+ под номером 6
- Tr- под номером 7
- Tr+ под номером 8
Также в интерфейсе программы CVD обязательно надо проверить отправку обученных команд вашему ИК устройству, так как даже если обучение прошло успешно, это не гарантирует правильность считанной ИК команды.
Запомните номера команд, так как они понадобятся нам в дальнейшем.
Отправка команд на устройство/сцены
В принципе, проверить работу отправки ИК команд можно используя слайдер устройства в интерфейсе контроллера, однако это не самый удобный способ, поэтому переходим к настройке сцен для управления.
Для этого необходимо уточнить индекс устройства в контроллере Vera. Его можно посмотреть в расширенных настройках устройства.
Переходим в интерфейс создания сценариев и создаем сцену для отправки команды Вкл./Выкл. Выбираем ручной запуск сцен. В принципе это необязательно, если в вашем сценарии есть устройство, которое будет триггером, смело модифицируйте как вам удобно.
На финальном шаге выбираем добавить код Lua:
И теперь самое важное.
Обратите внимание, что большая часть кода комментарии.
Замените Id устройства и команды на ваши. Для нашего случая устройство 580, а команда 2.
1. -- id device id inside Vera engine
2. local device_id = 580
3. -- Command id inside DII-101
4. local command_id = 2
5.
6. -- do not change below!!
7.
8. -- Pay attemtion, that commands inside the device have a shift of "-1"
9. -- Command 1 is 0
10. -- Command 2 is 1 and so on.
11. command_id = command_id -1
12. luup.call_action("urn:upnp-org:serviceId:Dimming1","SetLoadLevelTarget",{newLoadlevelTarget = command_id}, device_id)
Необходимо понимать, что при записи команд 1,2,3,4,5,6,7,8 это фактически соотвествует уровням яркости диммера 0,1,2,3,4,5,6,7. Т.е. при управлении из интерфеса необходимо выставлять значение команды, уменьшенное на 1. Для удобства в скрипте это вычитание уже выполнено и достаточно запоминать номера команд при обучении модуля.
Проверьте, что сценарий отрабатывает корректно. После этого можно двигаться к завершающему шагу.
Виртуальный пульт в контроллере Vera
Одним из способов реализации виртуального пульта в Vera является плагин Multiswitch. Установить его можно также, как и остальные из магазина приложений Vera.
После установки в интерфейсе появится новое устройство. Таких устройств плагин может создать большое количество, необязательно ограничиваться одним.
В расширенных настройках устройства можно переименовать кнопки, чтобы не путать их в будущем. Не пугайтесь, если после переименовывания кнопок ваше виртуальное устройство пропадет из интерфейса контроллера. Достаточно перезапустить движок контроллера (Settings-Z-Wave Settings-Advanced-reload Engine-Go), обновить страницу браузера, и пульт снова появится.
После такой настройки пульт может выглядеть, например, вот так:
Теперь осталось последнее. Необходимо привязать нажатия на кнопку пульта к запуску сценариев. Для этого для каждой кнопки надо создать отдельный сценарий. Создаем сценарий, где в качестве пускового устройства указываем конкретную кнопку виртуального пульта.
После этого переходим на заключительную страницу и добавляем точно такой же код Lua, как и на предыдущем шаге. Изменению в скрипте подлежит только номер команды.
1. -- id device id inside Vera engine
2. local device_id = 44
3. -- Command id inside DII-101
4. local command_id = 1
5.
6. -- do not change below!!
7.
8. -- Pay attemtion, that commands inside the device have a shift of "-1"
9. -- Command 1 is 0
10. -- Command 2 is 1 and so on.
11. command_id = command_id -1
12. luup.call_action("urn:upnp-org:serviceId:Dimming1","SetLoadLevelTarget",{newLoadlevelTarget = command_id}, device_id)
Создав аналогичные сцены для каждой кнопки, мы получим полноценно функционирующее устройство.
Заключение
Модуль DEFARO DII-101 полноценно функционирует в контроллере Vera. Обучить устройство командам можно используя удобное приложение CVD под Windows, а создать виртуальный пульт в Vera можно используя виртуальное устройство из магазина приложений MultiSwitch. С помощью данного модуля можно автоматизировать ваш домашний кинотеатр, либо расширить возможности AV техники, включив ее в сценарное управление совместно с другими устройствами домашней автоматизации.