Найти в Дзене
Sprut.ai

Broadlink MP1 управляем из Domoticz

Оглавление

Оглавление

Подготавливаем площадку

Добавляем управление каждой розеткой удлинителя Broadlink Mp1 в нашу систему умного дома, с помощью плагина python-broadlink

  • Broadlink MP1 вы заранее подключаете к вашей Wi-Fi сети, с помощью программы e-Control
  • Подключитесь по SSH с помощью программы Putty к вашей Raspberry PI
  • Устанавливаем библиотеки и необходимые зависимости:

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 -ySHELLКОПИРОВАТЬ

  • Загружаем плагин python-broadlink v0.5 с более старшими версиями работать не будет! И переходим в папку:

git clone https://github.com/zver5/python-broadlink
cd python-broadlinkSHELLКОПИРОВАТЬ

  • Устанавливаем плагин

sudo python setup.py installSHELLКОПИРОВАТЬ

  • Изменяем владельца папки если нужно

cd --sudo chown -R pi:pi python-broadlinkSHELLКОПИРОВАТЬ

  • Переходим в папку

cd ~/python-broadlink/cliSHELLКОПИРОВАТЬ

  • Запускаем поиск устройств

./broadlink_discoverySHELLКОПИРОВАТЬ

Нас интересует удлинитель Broadlink MP1, IP-адрес 192.168.1.181 и MAC 4aa2c934ea34

Вариант №1

Получения статуса пилота включен\выключен, введите команду ниже. Укажите IP и MAC-адрес вашего удлинителя Broadlink MP1:

./broadlink_cli --type 0x4eb5 --host 192.168.1.181 --mac 4aa2c934ea34 --checkSHELLКОПИРОВАТЬ

  • К сожалению команд о получении статуса каждой розетки для broadlink_cli, я не нашел. Буду рад если вы поделитесь информацией. Продолжим...

Вариант №2

Получения статуса каждой розетки

  • Создаем папку для скриптов, для этого вводим в консоли:

sudo mkdir ~/python-broadlink/scripts/mp1SHELLКОПИРОВАТЬ

  • Создаем скрипт проверки статуса удлинителя, с помощью текстового редактора nano, вводим в консоли:

sudo nano /python-broadlink/scripts/mp1/mp1stat.pySHELLКОПИРОВАТЬ

  • В открывшемся окне вставляем код ниже, замените на свой IP и MAC-адрес:

#!/usr/bin/python
import broadlink
devices = broadlink.mp1(host=("192.168.1.181",80), mac=bytearray.fromhex("34ea34c9a24a"))
devices.auth()
print devices.check_power()MARKDOWNКОПИРОВАТЬ

  • Сохраняем Ctrl+O=>Enter=>Ctrl+X
  • Даем права файлу

sudo chmod +x mp1stat.pySHELLКОПИРОВАТЬ

  • Проверяем работу

python mp1stat.pySHELLКОПИРОВАТЬ

-2

Нам показан статус каждой розетки пилота, где s1 это номер розетки, True=включено False=Выключено

Создаем скрипты включения каждой розетки

  • Вводим в консоли с помощью текстового редактора nano, для создания скрипта на включение:

sudo nano /python-broadlink/scripts/mp1/s1on.pySHELLКОПИРОВАТЬ

  • В открывшемся окне вставляем код ниже, замените на свой IP и MAC-адрес:

#!/usr/bin/python
import broadlink
devices = broadlink.mp1(host=("192.168.1.181",80), mac=bytearray.fromhex("34ea34c9a24a"))
devices.auth()
print devices.set_power(1, True)MARKDOWNКОПИРОВАТЬ

  • Сохраняем Ctrl+O=>Enter=>Ctrl+X
  • Повторяем процедуру создания скриптов включения еще 3 раза, изменяя имя файла и изменив цифру в скрипте:

print devices.set_power(1, True) — первая розетка включить 
print devices.set_power(2, True) — вторая розетка включить и т.д

  • В итоге у вас получится четыре файла на включение каждой розетки s1on.py, s2on.py, s3on.py, s4on.py

Создаем скрипты выключения каждой розетки 

  • Вводим в консоли с помощью текстового редактора nano, для создания скрипта на выключение:

sudo nano /python-broadlink/scripts/mp1/s1off.pySHELLКОПИРОВАТЬ

  • В открывшемся окне вставляем код ниже, замените на свой IP и MAC-адрес:

#!/usr/bin/python
import broadlink
devices = broadlink.mp1(host=("192.168.1.181",80), mac=bytearray.fromhex("34ea34c9a24a"))
devices.auth()
print devices.set_power(1, False)MARKDOWNКОПИРОВАТЬ

  • Сохраняем Ctrl+O=>Enter=>Ctrl+X
  • Повторяем процедуру создания скриптов выключения еще 3 раза, изменяя имя файла и изменив цифру в скрипте:

print devices.set_power(1, False) — первая розетка выключить
print devices.set_power(2, False) — вторая розетка выключить и т.д

  • В итоге у вас получится четыре файла на выключение каждой розетки s1off.py, s2off.py, s3off.py, s4off.py
  • Даем права нашим файлам

sudo chmod +x s1on.py
sudo chmod +x s2on.py
sudo chmod +x s3on.py
sudo chmod +x s4on.py
sudo chmod +x s1off.py
sudo chmod +x s2off.py
sudo chmod +x s3off.py
sudo chmod +x s4off.pySHELLКОПИРОВАТЬ

  • Проверяем работу, выключаем розетку №1:

python s1off.pySHELLКОПИРОВАТЬ

  • Проверяем работу, включаем розетку №1:

python s1on.pySHELLКОПИРОВАТЬ

Если все работает идем дальше...

Переходим в Domoticz и настраиваем виртуальный датчик:

  • Настройка-Оборудование
  • В разделе Тип: выбираете - Dummy (Does nothing, use for only virtual switch) указываете имя
  • Нажимайте добавить, появится новая запись
  • Выберите создать виртуальные датчики
  • Указываете имя, Тип датчика: Переключатель - OK, создаете 4 переключателя
  • Настройка-Устройства в открывшемся окне находим созданные вами датчики/переключатели
  • Переходим в меню Переключатели. В открывшемся окне видим ваши созданные ранее датчики/переключатели. Здесь вы сможете управлять, редактировать, менять иконки, получать информацию

Инструкция в картинках:

-3
-4
-5
-6
Нажимаем редактировать на ранее созданном переключателе
Нажимаем редактировать на ранее созданном переключателе
В открывшемся окне прописываем путь к скрипту на вкл/выкл
Проделываем с каждым переключателем указывая нужный файл
В открывшемся окне прописываем путь к скрипту на вкл/выкл Проделываем с каждым переключателем указывая нужный файл

P.S К сожалению получать статус розеток вкл/выкл, в Domoticz, мне так и не получилось