Смарт удлинитель 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 — как у меня, то нужно создать аккаунт. Это недолго и несложно — понадобится электронная почта, и нужно придумать пароль. После авторизации в приложении — нужно будет добавить устройство



Далее вам будет необходимо подключить найденное устройство к своей wi-fi сети, после чего удлинитель появится у вас в списке устройств. Приложение позволяет управлять состоянием каждой из четырех розеток фильтра, устанавливать расписание включения — выключения, задать имя и даже собственное изображение для иконки удлинителя.



Подробнее рассказывать о приложении не буду, так как тема обзора — это интеграция удлинителя в инфраструктуру Domoticz. Напомню у меня он крутится на одноплатном миникомпе Raspberry Pi Model 3 B. Внимание — обязательно настраиваем на домашнем роутере, выдачу статического IP адреса удлинителю, привязав его к mac.

Подключение к Domoticz

Для управления устройствами Broadlink — базами дистанционного управления, сенсорной платформой A1, смарт розетками и удлинителем, имеется замечательный проект — github.com/mjg59/python-broadlink. Основой послужила инструкция для работы с базой дистанционного управления, но переработана для удлинителя 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.
Планирую купить +32 Добавить в избранное +27 +52
+
avatar
0
Не хватает фото реле.
+
avatar
  • kvazis
  • 10 мая 2017, 14:21
+5
Фокус обзора я строил на подключении к домотикз. Обычных обзоров этого удлинителя и так хватает.
Вот например
+
avatar
+13
аффтар, пиши исчо))) пригодится)
+
avatar
+1
за интеграцию с домотикзом огромный плюс, интересно было бы узнать про общий план смарт устройств и из каких они линеек. ну и кратко другие сценарии, ибо я вижу у Вас Xiaomi с Broadlink через Domoticz дружат, а дружба это хорошо.

слышал для интеграции с xiaomi нужно их шлюз докупать (Xiaomi Mi Smart Home Gateway), получается для интеграции и broadlink — тоже нужен шлюз (Broadlink RM2)?
+
avatar
  • kvazis
  • 10 мая 2017, 17:15
0
Шлюз нужен для zigbee или z-wave устройств. Для обозреваемого удлинителя более ничего не надо, он имеет Wi-Fi модуль
+
avatar
0
Yeelight Celling Light можно управлять через Domoticz напрямую?
+
avatar
  • kvazis
  • 10 мая 2017, 19:41
+2
Да, в первом сценарии как раз на дабл клик она и есть, если выключена — то включение с полной яркостью (level=100), если статус отличен от выключено — ~= 'Off' — то выключить.
elseif (devicechanged['DD Desktop Button'] == 'Double Click') and otherdevices ['DD Yeelight Luna'] == 'Off' then
commandArray['OpenURL']=«root:[email protected]:8080/json.htm?type=command¶m=switchlight&idx=48&switchcmd=Set%20Level&level=100»

elseif (devicechanged['DD Desktop Button'] == 'Double Click') and otherdevices ['DD Yeelight Luna'] ~= 'Off' then
commandArray['DD Yeelight Luna'] = 'Off'
+
avatar
  • wojda
  • 11 мая 2017, 11:42
0
Как Вам Broadlink MP1 http://ru.gearbest.com/power-strips/pp_360376.html 4 независимые розетки с измерением мощности.
Ваш ведь потребляемую мощность не показывает?
+
avatar
  • alex53
  • 11 мая 2017, 19:52
0
Как Вам Broadlink MP1 gearbest.com/catalog/pp_360376.html 4 независимые розетки с измерением мощности.
Ваш ведь потребляемую мощность не показывает?
откуда информация, что MP1 по Вашей ссылке может измерять мощность?
+
avatar
  • wojda
  • 13 мая 2017, 10:00
0
чет перепутал кажись, ищу внимательно(
+
avatar
  • kvazis
  • 12 мая 2017, 08:55
0
Что-то я там не увидел где там написано что он измеряет мощность
+
avatar
  • wojda
  • 13 мая 2017, 10:05
0
напутал( думал, чт опоказывает мощность через приложение(( А что подскажите подобное, но с мощностью? Розетку Сяоми по Зигби не предлагать, там к ней сервер типа нужен(
+
avatar
  • kvazis
  • 13 мая 2017, 20:24
0
не сервер а шлюз, и если хотите управлять и измерять мощность онлайн из любой точки мира, то лучшего пока не знаю решения
+
avatar
0
Broadlink SP2?
+
avatar
  • kvazis
  • 01 июня 2017, 12:35
0
Дорогая как собака. Нет смысла
+
avatar
0
однозначно плюс, продолжайте