- kvazis,
- 3694
Настенные выключатели Aqara Xiaomi - управляем освещением в Domoticz
|
Продолжу тему своих обзоров, посвященных системе управления умным домом Domoticz — и в этот раз больше внимания уделю сценариям. Начну с освещения — и в качестве аппаратной части обзора будет пара выключателей Aqara, c физическим размыкателем и логический, оба — с двумя клавишами. Кому интересно, прошу читать далее
Вступление
Свое первое знакомство с выключателем Aqara я свел пару месяцев назад, как они только появились на Aliexpress. Стоил он в районе $40 долларов. Особенно сильно цена с тех пор не падала, и поэтому, когда в середине апреля на GearBest прошла флеш распродажа с ценой $29.99 для выключателя с физическим размыкателем и $13.71 для логического — я долго не раздумывал.Хотя на момент написания обзора цена упала еще больше.
Беспроводный выключатель — ссылка
Доставка и упаковка
В положенный срок курьер принес пакет с выключателями. Две белые коробки, отличаются по толщине — так как беспроводной выключатель значительно тоньше.На обратной стороне — технические характеристики —
Выключатели работают через ZigBee — то есть нужен шлюз.
Размеры выключателей 86*86 мм, толщина соответсвенно 43 и 15 мм
Проводной выключатель может коммутировать нагрузку до 800 Ватт, отдельного питания не требует.
Беспроводный выключатель питается от батарейки CR2032
Внешний вид, габариты
В комплекте, кроме выключателей — еще крепеж, к беспроводному выключателю прилагается еще кусок двустороннего скотча.
Если смотреть спереди — то выключатели совершенно одинаковые.
Все отличия — сзади. Проводной выключатель рассчитан на установку в квадратную монтажную коробку размером 86 на 86 мм, а логический может быть приклеен просто на стену.
Под крышками — так же очень много общего, отличия в том, что на клавишах проводной версии немножно более длинные рычажки-нажиматели, а у беспроводной — имеется батарейка.
Для установки вам понадобится квадратная монтажная коробка 86 * 86 мм. Они бывают в версиях для внутреннего и наружного монтажа
<
Размеры выключателя в точности совпадают с коробками
А отверстия для винтов и сами винты четко подходят к крепежным отверстиям
Монтаж
Эта пара выключателей предназначалась для установку в гостиную. Старый выключатель располагася внутри комнаты таким образом, что створка двери, которая открыта почти всегда, закрывает его. И добраться до него очень неудобно.Особенно вечером — когда приходилось заходить в темную комнату, нащупывать дверь, лезть за нее, включать свет и возвращать обратно. Поэтому беспроводной повторитель я запланировал расположить снаружи комнаты, на противоположной стене.
Монтаж заключается в удалении старой, круглой коробки
Установке новой, квадратной коробки, это весьма утомительное и пыльное занятие, особенно когда стена — бетон или кирпич. Кстати обозреваемый мною недавно очиститель воздуха — Xiaomi Mi Air Purifier 2 отследил этот момент и ускорил обороты вентилятора, пока я не закончил терзать стену
Окончательно получилось как-то так. Не идеально но более-менее, да и выключатель, как я уже сказал почти всегда скрыт дверью, а теперь и лазить к нему почти не приходится.
С беспроводным выключателем возни гораздо меньше — приклеил и все. Для надежности на клеющуюся поверхность скотча я добавил пару капель суперклея — так как обои рифленые и скотч держится не очень хорошо.
Подключение и работа в Mi Home
Несмотря на Domoticz — стадия первичного подключения проходит в Mi Home. В плагине шлюза выбираем иконку соответсвтвующего выключателя, после того как шлюз скажет вслух китайского заклинание — надо нажать на кнопку выключателя до момента моргания светодиода. Для проводной версии нужно еще выбрать иконку и название для каждой клавиши. Вообщем все как обычно.Для проводной версии существует плагин управления — позволяющий включать и выключать каждую из клавиш. В сценариях проводной выключатель может выступать только как действие — иными словами он может включать и выключать только то устройство, контакт котоорого размыкает и все. Выключить например умныю лампу или розетку, которая физически к нему не подключена — нет.(Это касается только Mi home). Зато сам выключатель может управлятся любым другим логическим устройством — кнопкой, беспроводным выключателем, кубиком и т.п. В сценариях для него доступны действия включить, выключить и изменить состояние на противоположное (on/off), отдельно для каждой из клавиш.
Бепроводная версия своего плагина не имеет, по нажатию на строку устройства в плагине управления — открываются страницы с перечнем смарт сценариев и лог срабатываний, аналогично как у куба, кнопки, датчиков открытия и движения. В сценариях — выключатель выступает как условие — он инициирует какое-либо дейтсвие, например включение-выключение клавиши проводного выключателя. По сути установив пару — проводной и беспроводной выключатель мы получаем аналог проходных выключателей. Но при этом не надо делать специальную разводку и беспроводных повторителей может быть сколько угодно много. Беспроводной выключатель предлагает 3 варианта действия в сценариях — нажатие каждой клавии по отдельности и обоих сразу.
Работа с выключателями в Domoticz
После того как вы подключите выключатели к шлюзу — они появятся в списке оборудования. Проводной выключатель — как два разных устройства — левая и правая клавиша, по сути он таковым и является, беспроводной — как одно устройство с 4мя вараинтами действия. Для добавления в панель переключаталей — надо кликнуть на стрелочке справаПроводной выключатель в Domoticz — так же может служить условием сценария как и проводной. Никаких ограничений как в Mi Home нет. А если вам нужно задать время автоотключения — пригодится например для управления вентилятором, то не надо даже писать сценарий — пишете время автоотключения в секундах (на примере 10 минут — 600 секунд) в настройках выключателя.
Кстати для беспроводного выключателя, а так же для всех логических выключателей — кнопок и куба, рекомендую поставить время перехода в статус off — 1 секунда. Это нужно чтобы выключатель не хранил последний статус, что в некоторых случах, может вызвать ложное срабатывание сценария. Ни на что другое влиять этот статус не будет — так как в сценариях отрабатываются только действия типа On, Click и т.п.
Теперь перейдем к первому практическому заданию.
Проводной выключатель
Мне неоднократно задавали вопрос — можно ли на проводной выключатель Aqara завязать на разрыв провода только одну клавишу, а второй управлять логически — например умной лампой Yeelight.Да можно — вот сценарий, в котором по изменению состояния клавиши выключателя, без разницы это будет on или off — считыватеся состояние умной лампы, и если она включена — выключается, а выключена — включается в режиме белого света с яркостью 100%.
commandArray = {}
if devicechanged['Aqara'] and otherdevices ['YeeLight RGB'] ~= 'Off' then
commandArray['YeeLight RGB']='Off'
elseif devicechanged['Aqara'] and otherdevices ['YeeLight RGB'] == 'Off' then
commandArray['OpenURL']="root:[email protected]:8080/json.htm?param=setcolbrightnessvalue&type=command&idx=46&hex=ffffff&iswhite=false"
end
return commandArray
Разберем этот скрипт —
if devicechanged['Aqara'] — первое условие если изменено состояние выключателя, который называется Aqara, как именно меняется состояние — не имеет значения
and otherdevices ['YeeLight RGB'] ~= 'Off' — второе условие, состояние лампы YeeLight RGB — не равно Off — то есть не выключено
commandArray['YeeLight RGB']='Off' — при соблюдении этих двух условий, лампа выключается
Далее, если при смене состояния выключателя elseif devicechanged['Aqara'], статус лампы выключено — and otherdevices ['YeeLight RGB'] == 'Off', вызывается скрипт
commandArray['OpenURL']="root:[email protected]:8080/json.htm?param=setcolbrightnessvalue&type=command&idx=46&hex=ffffff&iswhite=false"
Для чего это надо и почему нельзя просто включить лампу commandArray['YeeLight RGB']='On'
Все просто — если лампу просто включить, то она включится в своем последнем состоянии либо в состоянии по умолчанию. А при использовании формата JSON — мы можем «запаковать» в одну строку все нужные нам параметры. В примере root:[email protected]:8080 — логин и пароль и адрес вашего Domoticz сервера, далее — служебные команды устанавливающие цвет и яркость, менять их не нужно, кроме логина, пароля и адреса сервера нужно изменить idx=46 — вместо 46 — ставите номер вашей лампы, он виден в списке устройств слева — столбец idx и hex=ffffff — вместо ffffff (это белый цвет 100% яркости) — ставите нужное вам значение. Для подбора значения — переходите в меню переключатели, выбираете вашу RGB лампу, мышкой выбираете оттенок, цвет и яркость и копируете получившееся значения из окошка # — в примере — 3289c7
Если вы используете не RGB, а белую лампу — то используйте другую команду —
commandArray['OpenURL']="root:[email protected]:8080/json.htm?type=command¶m=switchlight&idx=48&switchcmd=Set%20Level&level=100"
где кроме адреса сервера и idx лампы, нужно указывать только яркость в % &level=100 — от 1 до 100
Беспроводный выключатель.
На нажатие клавиш, я не особенно мудрствуя назначил включение и выключение аналогичных клавиш на проводной версии. А вот вариант с одновременным нажатием — я немного обыграл. Скрипт выглядит так:
commandArray = {}
if devicechanged['GG Aqara wireless']=='Switch 2' and otherdevices ['GG Wall Aqara'] == 'On' then
commandArray['GG Wall Aqara'] = 'Off'
elseif devicechanged['GG Aqara wireless']=='Switch 2' and otherdevices ['GG Wall Aqara'] == 'Off' then
commandArray['GG Wall Aqara'] = 'On'
elseif devicechanged['GG Aqara wireless']=='Switch 1' and otherdevices ['G Light1 Aqara'] == 'On' then
commandArray['G Light1 Aqara'] = 'Off'
elseif devicechanged['GG Aqara wireless']=='Switch 1' and otherdevices ['G Light1 Aqara'] == 'Off' then
commandArray['G Light1 Aqara'] = 'On'
elseif devicechanged['GG Aqara wireless']=='Both_Click' and otherdevices ['PR Aqara'] == 'Off' and otherdevices ['KR Aqara'] == 'Off' and otherdevices ['GG Aqara Setting'] == 'Off' then
commandArray['PR Aqara'] = 'On'
commandArray['GG Aqara Setting'] = 'On'
elseif devicechanged['GG Aqara wireless']=='Both_Click' and otherdevices ['PR Aqara'] == 'On' and otherdevices ['KR Aqara'] == 'Off' and otherdevices ['GG Aqara Setting'] == 'On' then
commandArray['KR Aqara'] = 'On'
commandArray['GG Aqara Setting'] = 'Off'
elseif devicechanged['GG Aqara wireless']=='Both_Click' and otherdevices ['PR Aqara'] == 'On' and otherdevices ['KR Aqara'] == 'On' and otherdevices ['GG Aqara Setting'] == 'Off' then
commandArray['KR Aqara'] = 'Off'
commandArray['PR Aqara'] = 'Off'
elseif devicechanged['GG Aqara wireless']=='Both_Click' and otherdevices ['PR Aqara'] == 'On' and otherdevices ['KR Aqara'] == 'Off' and otherdevices ['GG Aqara Setting'] == 'Off' then
commandArray['PR Aqara'] = 'Off'
elseif devicechanged['GG Aqara wireless']=='Both_Click' and otherdevices ['PR Aqara'] == 'Off' and otherdevices ['KR Aqara'] == 'On' and otherdevices ['GG Aqara Setting'] == 'Off' then
commandArray['KR Aqara'] = 'Off'
end
return commandArray
первые 4 команды — довольно простые, в зависимости от нажатия на правую или левую клавиши — Switch 1 или Switch 2 — мы проверяем состояние клавиш проводного выключателя GG Wall Aqara и G Light1 Aqara — и в зависимости от их статуса, меняем их на противоположные.
Все интересное — на отработке одновременного двойного нажатия — Both_Click. Здесь в качестве управляемого устройства — второй выключатель Aqara, который управляет светом в прихожей PR Aqara и коридоре KR Aqara. Так же здесь появляется новое «действующее лицо» — выключатель GG Aqara Setting. Это виртуальный выключатель, создается нажатием на кнопку «создать виртуальные датчики» на вкладке оборудование — в строке Virtual Switch. Сейчас станет ясно зачем он нужен, пока лишь покажу его настройку, которая переводит его в статус Off в течении 5 секунд.
теперь разберем каждое условие
elseif devicechanged['GG Aqara wireless']=='Both_Click' and otherdevices ['PR Aqara'] == 'Off' and otherdevices ['KR Aqara'] == 'Off' and otherdevices ['GG Aqara Setting'] == 'Off' then
Нажатие на две клавиши когда выключен свет и в прихожей и в коридоре, и виртуальный выключатель (который выключается в течении 5 секунд после включения). В таком случае — включается свет в прихожей и включается виртуальный выключатель
commandArray['PR Aqara'] = 'On'
commandArray['GG Aqara Setting'] = 'On'
Если мы нажимаем на обе клавиши повторно, в течении 5 секунд пока включен виртуальный выключатель, у нас отрабатывается условие
elseif devicechanged['GG Aqara wireless']=='Both_Click' and otherdevices ['PR Aqara'] == 'On' and otherdevices ['KR Aqara'] == 'Off' and otherdevices ['GG Aqara Setting'] == 'On' then
И у нас включается свет в коридоре. Виртуальный выключатель более не нужен, я выключаю его сразу, хотя это условие необязательное — он выключится сам через 5 секунд.
commandArray['KR Aqara'] = 'On'
commandArray['GG Aqara Setting'] = 'Off'
Следующие три условия — думаю понятны, они отрабатываются в случае отключенного виртуального выключателя и включенной одной из клавиш, либо обоих сразу. В качестве действий — выключение включенных светильников.
В принципе эти три условия можно сократить до одного, используя оператора or
elseif devicechanged['GG Aqara wireless']=='Both_Click' and otherdevices ['GG Aqara Setting] == 'Off' and otherdevices ['KR Aqara'] == 'On' or otherdevices ['KR Aqara'] == 'On' then
И в качестве действий — отключение обоих клавиш. Но я решил сделать так как описал.
Надеюсь эта небольшая практика пригодится вам в написании сценариев, постараюсь ответить на ваши вопросы.
Видеоверсия обзора
Спасибо за внимание.
1 коментар
Еще при разделении нажатия клавиш от работы реле в приложении Mi Home, в domoticz не добавляются устройства клавиши, есть только реле, как следствие не возможно обрабатывать нажатие клавиш в domoticz. Так у всех?