- kvazis,
- 4588
Смарт удлинитель Broadlink MP1 - подключаем к системе Domoticz
|
В продолжение моих обзоров про возможности системы управления умным домом Domoticz, где аппаратную роль выполняли гаджеты Xiaomi, хочу рассказать про внедрение в систему устройств другого производителя — Broadlink, на примере смарт удлинителя Broadlink MP1 и его совместной работе с существующей структурой Xiaomi. Подробности далее
Вступительное слово
Одним из достоинств альтернативных систем управления умным домом, на примере - Domoticz, является возможность объединения в одних сценариях устройств различных производителей. Не исследовать эту тему было бы преступлением :)В качестве первого испытуемого я решил взять смарт удлинитель Broadlink MP1 — имеющий 4 универсальные розетки с раздельным управлением. В некоторых случаях — когда нет необходимости подсчета расхода электроэнергии и при концентрации в одном месте нескольких ведомых устройств, такое решение удобнее и дешевле использования отдельных розеток от того же Xiaomi.
Покупка и доставка
Отправлен он был на следующий день, почтой Китая с трек номером. Через положенное время — чуть более двух недель, в отделении почты я получил пакет с заказом. Кроме самого удлинителя, магазин вложил еще переходник под евро розетку и пару наклеек.Broadlink как и Xiaomi не напрягается с полиграфическими изысками, больше уделяя внимание технической информации.
Внешний вид, параметры
Удлинитель выполнен в белом цвете, на фронтальной панели расположены 4 совмещенные розетки, рассчитанные на подключение вилок Тип А, С, IИз основных характеристик нужно выделить максимальную мощность — 2500 Вт, но не более 10 А и установленный Wi-Fi модуль, никаких шлюзов для работы не нужно. В стандартном режиме удлинитель управляется через приложение. Кстати нам оно тоже понадобится. QR код для его загрузки, имеется и на коробке и на наклейке сзади удлинителя.
Удлинитель комплектуется тройной вилкой Тип I. Использовать комплектный переходник не рекомендую — лучше заменить вилку на сборную евровилку.
Реальные размеры соответствуют заявленным — 254 х 60 х 32. Взвешивать я его пожалуй не буду.
Разборка
Для разборки удлинителя, необходимо открутить 5 саморезов с треугольной головкой. 4 самореза находятся по углам — за наклеенными ножками, пятый — по центру, под наклейкой.К достоинствам этого удлинителя можно отнести раздельное управление каждой из розеток. К недостаткам — невозможность делать это вручную и отсутствие подсчета электроэнергии.
Блок управления и Wi-Fi модуль
Розетки защищены подпружинеными крышками — заглушками.
Так же на самих розетках, поверх контактов, расположены пластиковые защитные крышки.
При включении обод единственной кнопки управления подсвечивается
Первое включение, штатное ПО
Для подключения у смарт удлинителю нам понадобится родное приложение E-control. Если это ваше первое устройство от Broadlink — как у меня, то нужно создать аккаунт. Это недолго и несложно — понадобится электронная почта, и нужно придумать пароль. После авторизации в приложении — нужно будет добавить устройствоПодключение к Domoticz
Для управления устройствами Broadlink — базами дистанционного управления, сенсорной платформой A1, смарт розетками и удлинителем, имеется замечательный проект - https://github.com/mjg59/python-broadlink. Основой послужила инструкция для работы с базой дистанционного управления с 4pda и переработана мной для удлинителя mp1. Инструкция ниже успешно опробована мной на Raspberry Pi Model 3 B, и вполне может применяться на схожих решениях, на Windows — аналогов нет (ну либо они мне неизвестны).Инструкцию пишу по шагам как делал я лично
1. Создание рабочего каталога — sudo mkdir /python-broadlink
Нам необходимо установить несколько пакетов, необходимых для работы -
sudo apt-get install python2.7 -y
sudo apt-get install python-pip -y
sudo apt-get install python-dev libgmp-dev
sudo apt-get install git -y
git clone https://github.com/mjg59/python-broadlink
Некоторые пакеты уже могут быть установлены в вашей системе, это нормально, просто запускаем по очереди все.
те, пакеты которых не хватает, будут скачаны и установлены в систему
Дальше, переходим в наш созданный каталог
cd python-broadlink
И запускаем установку
python setup.py install
Теперь мы можем создавать первый скрипт — поиска устройств Broadlink, создаем файл locatrm.py (все имена файлов — можете давать сами, какие считаете нужным).
sudo nano locatrm.py
В открывшийся пустой файл вставляем скрипт
#!/usr/bin/python
# -*- coding: utf-8 -*-
#Script to locate Broadlink devices on local network by Graeme Brown Dec 23 2016
#These must be set up using the Broadlink app first!
import broadlink
import time
print "************************************************"
print "Using python library created by Matthew Garrett"
print "https://github.com/mjg59/python-broadlink"
print "************************************************"
print "Сканирую сеть для поиска устройств Broadlink...."
mydevices = broadlink.discover(timeout=5)
print "Найдено " + str(len(mydevices )) + " устройство broadlink"
time.sleep(1)
print "..............."
for index, item in enumerate(mydevices):
mydevices[index].auth()
ipadd = mydevices[index].host
ipadd = str(ipadd)
print "Устройство " + str(index + 1) +" Host address = " + ipadd[1:19]
macadd = ''.join(format(x, '02x') for x in mydevices[index].mac[::-1])
macadd = str(macadd)
mymacadd = macadd[:2] + " " + macadd[2:4] + " " + macadd[4:6] + " " + macadd[6:8] + " " + macadd[8:10] + " " + macadd[10:12]
print "Устройство " + str(index + 1) +" MAC address = " + mymacadd
print "..............."
Выходим из режима редактирования CTRL+X сохраняя все изменения.
Запускаем скрипт командой
python locatrm.py
Скрипт обнаруживает удлинитель и сообщает его IP и mac адрес
Теперь делаем скрипт для проверки статуса удлинителя. Делал я его скорее для общего развития, для работы он мне не пригодился. Создаем файл s1stat.py
sudo nano s1stat.py
Вставляем код
#!/usr/bin/python
import broadlink
devices = broadlink.mp1(host=(«192.168.0.102»,80), mac=bytearray.fromhex(«34EA34A5373B»)) — тут Ваши ИП и Мак удлинителя
devices.auth()
print devices.check_power() — эта команда выводит статус всех розеток
Делаем сохраненый скрипт исполняемым
sudo chmod +x s1stat.py
Запускаем, проверяем
python s1stat.py
Если все сделано правильно — вы получаете статусы всех розеток
Теперь можно делать скрипты для включения и выключения каждой розетки. Всего у нас 4 розетки, значит получится 8 скриптов. Код скрипта аналогичный вышеприведенному, только вместо команды проверки статуса пишем команду на включение
devices.set_power(1, True) — первая розетка включить
Или выключение
devices.set_power(1, False) — первая розетка выключить
Я называл файлы s1on.py, s1off.py и так далее для всех 4х пар.
После создания файлов, нужно сделать каждый из файлов исполняемым -
sudo chmod +x s1on.py — повторить для всех
Можно проверить их работоспособность включая и выключая каждую из розеток
python s1on.py — включение первой розетки
И дать им права
sudo chmod 777 /home/pi/python-broadlink/s1on.py --- повторить для всех
Теперь можно переходить в Domoticz, на вкладке Настройки — Оборудование — создаем (если у вас еще нет) виртуальное устройство Dummy. После чего создаем 4 виртуальных переключателя, я назвал их
Broadlink 1, S1, Broadlink 1, S2, Broadlink 1, S3 и Broadlink 1, S4.
Далее идем в меню переключатели, выбираем каждый из созданных переключателей, меняем им иконку на розетку — так понятнее, и в строках действие при включении и выключении прописываем пути к нашим скриптам. Например к розетке номер 2
script:///home/pi/python-broadlink/s2on.py — включить
script:///home/pi/python-broadlink/s2off.py — выключить
Все, теперь каждая из розеток может управляться из Domoticz. В моем удлинителе сейчас занято 3 первые розетки, в первую включена обычная настольная лампа, во вторую один из увлажнителей, в третью — принтер, так как включать его родным переключателем — неудобно, мешает стол.
Первой и третьей розеткой управляет кнопка Xiaomi, по действию клик — включается и выключается настольная лапа, дабл клик — управляет включением и выключением потолочного светильника Yeelight Celling Light, про который я рассказывал раньше и лонг клик — включение и выключение принтера. Сценарий на lua выглядит так:
Вторая розетка работает в связке с датчиками влажности / температуры и открытия от Xiaomi.
Первое условие выключает увлажнитель при достижении влажности 55 и выше%, второе — включает при падении 45 и менее%, третье условие отключает увлажнитель при открытии окна, четвертое — включает при закрытии окна и влажности менее 45%. Кстати сценарий сейчас я чуть доработал, добавив во второе условие — на включение — проверку статуса оконного датчика, что-бы увлажнитель не включался при открытом окне.
Видеоверсия обзора
На этом все, спасибо за внимание, если тема интересна — буду продолжать рассказывать про интеграцию других устройств в систему управления умным домом Domoticz.
7 коментарів
Так у меня особо опыта и нету — еще месяца три назад для меня это темный лес был:) Сам вот разбираюсь и ковыряюсь, иногда собственные обзоры пересматривать даже приходится, вроде справочного материала.
Нет. Реализация управления каждой розеткой — аппаратная, на каждой своя релюха, а у сяоми — она одна, общая. Зато он умеет электроженргию считать. Кстати удлинитель сяоми к домотикз не подключается — у него нет режима разработчика.
брался за 19.99, в ГБ на тот момент стоил 25, как сейчас на английской версии www.gearbest.com/power-strips/pp_360376.html
Кстати на ru версии магазина — часто цены намного интереснее