1. Главная страница » Компьютеры

Domoticz broadlink rm pro

Автор: | 16.12.2019

Свой сегодняшний обзор, я хочу посвятить замечательному гаджету от Broadlink — универсальному пульту дистанционного управления, способному считывать, сохранять и воспроизводить не только обычные, инфракрасные пульты, но и радио пульты, работающие на частоте 433 Mhz. Так же уделю внимание практическим аспектам интеграции в Domoticz и создании сценариев работы.

Так как модель Broadlink RM pro уже неоднократно обозревалась, я решил поработать с моделью Broadlink RM plus, которая стоила ровно столько же сколько и Broadlink RM pro.

Как выяснилось несколько позже, уже когда я ждал заказ, RM plus является OEM вариантом первой версии RM plus, отличия только в верхней крышке корпуса и отсутствии указаний на производителя на корпусе.

Где купить?

Комплект поставки

Поставляется устройство в простой белой картонной коробке, что говорит о том, что данный тип продукта OEM.

В комплекте поставки идет база, треугольной формы, кабель USB и micro USB и немного макулатуры.

Внешне база напоминает какой-то артефакт, выполнена из черного глянцевого пластика. Никаких упоминаний о производителе на корпусе нет.

Размеры

Форма корпуса представляет собой равносторонний треугольник. Длина стороны 11,5 см

Толщина устройства — 3,6 см

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

На другой стороне — порт питания micro USB и окошко кнопки reset

На нижней стороне — три прорезиненные ножки, вентиляционные отверстия и место для наклейки. Сама наклейка отсутствует.

Штатное ПО

Для подключения к Broadlink RM plus нам понадобится штатная программа E-Control. Она обнаруживает новое устройство, после чего нужно ввести пароль к wi-fi сети и устройство появляется в общем списке.

Дальше мы можем добавлять пульты — выбрать можно среди классов устройств, либо добавить пульт вручную. Например кондиционер.

Конечно имеется возможность ручного добавления кнопок. Внешний вид кнопок можно выбрать из шаблона, либо создать свои, после чего кнопки следует обучить командам реальных пультов. Для ИК пультов — достаточно нажать Обучение, направить пульт на RM plus и нажать на нужную кнопку. Для радиопультов нужно сначала нажать кнопку Сканировать, во время сканирования удерживать нужную кнопку на пульте, и после этого нажать Обучение — и вновь нажать на кнопку пульта.

Комбинации кнопок, в любом порядке и любых пультов можно объединять в сценарии и запускать одним нажатием. Для сценариев можно выбирать собственные фото.

Интеграция в Domoticz

Для интеграции в Domoticz, нам нужны те же самые что и для удлинителя, про которые я рассказывал в обзоре Смарт удлинитель Broadlink MP1. Если вы уже проделывали эту операцию, то ничего дополнительно делать не надо. А если нет — то напоминаю список нужных пакетов

Подробнее в моем обзоре про удлинитель. Все действия аналогичны до момента определения IP адреса устройства. Напоминаю что IP шлюза должен быть статическим. Вот результат вывода поискового скрипта уже с двумя устройствами Broadlink

Создание базы кодов.

Самое время приступить к созданию базы кодов. Для этого я использую бесплатное приложение RM Bridge. Серверная часть ставится на устройство под Android (не знаю есть ли такое под IOS), после чего переходим на сайт http://rm-bridge.fun2code.de/rm_manage/code_learning.html. Запускаем на смартфоне(планшете) серверную часть, вводим появившийся адрес в соответствующие поля и нажимаем Load Devices — после чего можно приступать к считыванию кодов.

Здесь последовательность такая же — для ИК кодов сразу нажимаемLearn Code, направляем пульт на RM plus и нажимаем нужную кнопку, для радио кодов — сначала Frequency Scan — и только потом Learn Code. При обучении не надо долго жать на кнопку — так как RM plus пишет всю последовательность, код получается избыточно длинный. Но если вы обучаете например плавную регулировку яркости или звука — то можно и придержать кнопку секунду другую.

После обучения сайт показывает считанный код, в виде команды и URL. Введя этот URL в адресную строку — можем сразу проверить корректность считанного кода. Код в hex который идет в кавычках после data в строке Plain Command — и есть искомый код.

Я сделал текстовую базу с нужными мне кодами устройств, для использования их в сценариях.

Создание скриптов для Domoticz

Считав и проверив в rm-bridge коды, можно приступать к написанию скриптов.

В консоли малинки создаем файл командой

Скрипт для передачи считанного кода, выглядит так :

IP и mac — вставляем свои. Скрипт с отправкой одного кода выглядит так:

Можно одним скриптом передавать несколько кодов. Например вот скрипт запуска моего увлажнителя воздуха. Если просто включить — он работает в автоматическом режиме и сам решает когда ему отключится. Мне так не нужно. Поэтому после кода включения я транслирую код ручного поднятия влажности несколько раз, до недостижимого в реальности значения, завершается скрипт кодом включения режима ионизации.

После этого сохраняем Ctrl-X — Y наш файл и даем ему права

И можем добавлять скрипты в действия виртуальных выключателей Domoticz. В этом примере на включение увлажнителя стоит длинный скрипт с последовательностью кодов, а на выключение — короткий, с одним кодом выкл.

Ну и на десерт — сценарий управления влажностью. У меня их три одинаковых для разных комнат, только в двух сценарий управляет физической розеткой в которую включены увлажнителя — а в этом — виртуальным сценарием, в котором выключатель инициирует запуск кодов с базы RM plus.

time = os.date(‘%X’);
date = os.date(‘%d.%m.%Y’);
EmailTo = «ВАША_ПОЧТА@gmail.com»
gghum = otherdevices_humidity[‘GG HT’]
ggtemp = otherdevices_temperature[‘GG HT’]

if devicechanged[‘GG HT’] and otherdevices_humidity[‘GG HT’] >= 55 and otherdevices [‘Vitek’] == ‘On’ then
commandArray[‘Vitek’] = ‘Off’
Message=’ Гостиная — увлажнитель отключен в: ‘… time… ‘, ‘… date… ‘, влажность — ‘… gghum… ‘%, температура — ‘… string.sub(ggtemp, 1, 4)… ‘ C’
commandArray[‘SendEmail’]=’Domoticz Report#’… Message… ‘#’… EmailTo

elseif devicechanged[‘GG HT’] and otherdevices_hum and time >= ’08:00′ and time = ’08:00′ and time = ’22:31′ and time = 51 then
Message=’ Гостиная — окно закрыто в: ‘… time… ‘, ‘… date… ‘, влажность — ‘… gghum… ‘%, температура — ‘… string.sub(ggtemp, 1, 4)… ‘ C’
commandArray[‘SendEmail’]=’Domoticz Report#’… Message… ‘#’… EmailTo

Разберем сценарий. В начале сценария мы присваиваем переменным время, дату, для отчетов я использую уведмоления по электронной почте — gmail, которая вкупе с включенными уведомлениями на этот почтовый ящик, работает практически как push уведомление, а так жне значения температуры и влажности получаемые с датчика температуры и влажности Xiaomi.

Первое условие — если влажность достигает 55% и статус выключателя увлажнителя — включено, тогда увлажнитель выключается и шлется отчет на почту.

Для настройки почты — нужно перейти на вкладку настроек, e-mail, там нужно указать smtp сервер и адреса исходящей и входящей почты. Так же в сценариях можно вручную указывать адрес куда слать уведомления.

Я не поленился и завел отдельный gmail адрес для получения отчетов Domoticz, добавил этот аккаунт к существующим в Андроид приложение Gmail и включил уведомления для этого ящика. Получилась вполне себе альтернатива push уведомлениям.

Отчет получаемый от скрипта на почту выглядит так :

Гостиная — увлажнитель включен в: 08:37:40, 18.05.2017, влажность — 43%, температура — 22 C

Второе условие — включение увлажнителя при достижении влажности 45 % и менее %, при условии что закрыто окно и время находится в промежутке с 8 утра до 22.30 вечера

Третье и четвертое условие — открытие окна, если увлажнитель включен — он выключается, в обоих случаях шлется отчет.

Пятое условие — закрытие окна, влажность менее 50%, время с 8 утра до 22.30 вечера, увлажнитель выключен — включаем.

Шестое и седьмое условие — закрытие окна в ночное время или при влажности более 51% — просто шлем отчет.

Несмотря на всю мою любовь к Xiaomi, должен признать что этот продукт гораздо более удачный. Он более универсальный так как может считывать и IR и RF коды, он работает с Domoticz (шлюз от Xiaomi — нет). Достаточно один раз поиграться с обучением и у вас будет база всех кодов ваших пультов, которые легко тиражировать — если вам нужно несколько таких баз. Если не нужны радиопульты — то можно попробовать это решение реализовать на ИК базе Broadlink Universal WIFI которая стоит в два разе дешевле аналогичной по функциональности «шайбы» Xiaomi.

Для тех кто незнаком с темой —


Надеюсь обзор был полезен, если тема интересна, то буду продолжать.

Что нужно: Кондиционер, Broadlink RM Pro, Domoticz с установленным плагином broadlink

1. Через обучение плагина broadlink в domoticz (в переключателях) обучаем команду кнопки пульта кондиционера, она (ini файл ) появляется в своей папке, указанной в настройках.

2. Переносим в /home/pi/domoticz/broadlinkcommands переименовываем в conditioningOFF.ini и conditioningON.ini соответственно.

3. Даем права файлам:
sudo chmod 777 /home/pi/domoticz/broadlinkcommands/conditioningOFF.ini

sudo chmod 777 /home/pi/domoticz/broadlinkcommands/conditioningON.ini

4. Создаем в /home/pi/domoticz/broadlinkcommands/bash скрипты conditioningOFF.sh и conditioningON.sh вида:

#!/bin/bash sudo python3
/home/pi/domoticz/plugins/BroadlinkRM2/plugin_send.py /home/pi/domoticz/broadlinkcommands/conditioningOFF.ini
exit 0

5. Даем права скриптам:
sudo chmod 777 /home/pi/domoticz/broadlinkcommands/bash/conditioningOFF.sh

sudo chmod 777 /home/pi/domoticz/broadlinkcommands/bash/conditioningON.sh

6. Даем права плагину:
sudo chmod 777 /home/pi/domoticz/plugins/BroadlinkRM2/plugin_send.py

7. Делаем скрипты исполняемыми:

sudo chmod +x /home/pi/domoticz/broadlinkcommands/bash/conditioningON.sh

sudo chmod +x /home/pi/domoticz/broadlinkcommands/bash/conditioningOFF.sh

sudo chmod +x /home/pi/domoticz/plugins/BroadlinkRM2/plugin_send.py

8. В domoticz создаем dummy устройство «Выключатель» и в командах:

9. Создаем dummy устройство «Установки термостата»:

10. Создаем событие:

Broadlink Universal IR Remote Controller plugin for Domoticz

Broadlink Universal IR Remote Controller plugin for Domoticz. Note: This plugin is under development. This plugin was tested with python 3.5.x and Domoticz 4.x installed on Raspberry Pi.

  • Broadlink RM2 Pro/Plus
  • Broadlink RM mini3

To configure Broadlink IR just enter the Mac Address of your Broadlink RM2 IR device (lowercase without colon). If you do not know the Mac Address, just leave Mac Address field defaulted 0, this will start discover mode for your broadlink devices. Go to the log, it will display the found broadlink devices and the Mac Address you need.

Plugin creates a control center. The control center have 5 buttons. Reset Level — used to reset incorrectly recognized IR code. Learn — used to receive (learn) IR code, Test — to test received IR code, Save Level — to save received commands into memory. There is another button — Create , it creates a new device in Domoticz to control your devices with an IR port.

If before pressing Create only one level was saved, creates a Push On button, if two levels was saved it a Switch creates, which allows to turn on and off devices with an IR port. If 3 or more levels was saved, a selector switch is creates.

The plugin supports sending multiple IR commands at once when switching on / off in Domoticz (for example, switching tv channels). Just press the Learn button, send an IR command from your remote, repet last step as many times as you need IR commands, finnaly press Save button. After pressing save button, the device will be created.

Установка / How to Install:

Обновление / How to update:

Плагин Broadlink Universal IR Remote Controller для Domoticz

Внимание! Плагин находится в разработке, в дальнейшем возможны изменения в работе плагина.

  • Broadlink RM2 Pro/Plus
  • Broadlink RM mini3

Для настройки плагина заходим в панель управления Domoticz Настройки -> Оборудование из выпадающего списка выбираем Broadlink Universal IR Remote Controller, даем ему имя, например, Broadlink, вводим mac адрес устройства. Флажок Debug предназначен для выявления ошибок и отладки плагина. Для того, чтобы техническая информация не сыпалась в консоль, флажок Debug рекомандуется установить в положение False . Нажимаем Добавить, после этого в переключателях появится командный центр управления Broadlink Universal IR Remote Controller.

Центр управления имеет несколько кнопок. Reset Level — используется для сброса неправильно распознанных команд с физических пультов при обучении. Learn — используется для получения (обучения) пульта Broadlink, Test — для тестирования полученных ИК команд, Save Level — для сохранения этих команд в память. Есть еще одна кнопка — Create , она создает новое устройство в Domoticz для управления устройствами с ИК портом.

Если до нажатия Create был сохранен один уровень команд, создается кнопка (Push On button), если два — обычный выключатель (Switch), позволяющий включать и выключать устройства с ИК портом. Если уровней 3 и более — создается селекторный переключатель.

Созданные устройства можно редактировать, меняя значок, имя и название уровней.

Как добавить кнопку

Нажимаем Reset Level -> Learn после того, как индикатор на Broadlink Universal IR Remote Controller замигал, направляем на него пульт и нажимаем кнопку, которую хотим добавить. После этого нажимаем Test и если все прошло хорошо и команда сработала — нажимаем Save Level -> Create

Как добавить выключатель

Нажимаем Reset Level -> Learn после того, как индикатор на Broadlink Universal IR Remote Controller замигал, направляем на него пульт и нажимаем кнопку, которую хотим добавить на включение, после этого нажимаем Test и если все прошло успешно, команда сработала — нажимаем Save Level . Для захвата следующей команды нажимаем Learn после того, как индикатор на Broadlink Universal IR Remote Controller замигал, нажимаем кнопку, которую хотим добавить на выключение, далее нажимаем Test . Если команда корректно сработала, нажимаем Save Level . Если по каким-то причинам команда не распознана, просто нажимаем Reset Level и повторяем все сначала. После добавления команды и успешного тестирования, нажимаем Create для создания выключателя.

Добавление селекторного выключателя ничем не отличается, кроме того, что процедуру сканирования ИК кода необходимо повторить столько раз, сколько необходимо уровней, нажимая каждый раз после добавления уровня Save Level, по окончании добавления всех команд необходимо нажать Create .

Как добавить сразу несколько ИК команд на включение

Плагин поддерживает отправку сразу несколько ИК команд при включении/выключении/переключении. Это может быть полезно, например, для переключения каналов на ТВ при цифровом наборе (либо для устройств, для выключения режима на которых необходимо нажать на несколько кнопок). Рассмотрим добавление на примере кнопки.

Допустим, нам необходимо переключить на канал с номером 916. Нажимаем Reset Level -> Learn нажимаем на пульте кнопку 9 -> Learn нажимаем на пульте кнопку 1 -> Learn нажимаем на пульте кнопку 6. Далее нажимаем Test . На этом этапе пульт отправит сразу три команды "916". В случае успеха нажимаем Save Level -> Create . Все! Кнопка включения канала с номером 916 создана и готова к использованию в сценариях автоматизации системы Domoticz. Аналогичным способом создаются выключатели и селекторные переключатели.

Если устройства надоели и больше не хотите далее использовать, можно их удалить. Для этого заходим настройки — устройства. Слева ставим галочку Chuangmi (для отображения только устройств плагина), далее напротив устройства, которое мы хотим удалить нажимаем на стрелочку.

Просто удалять устройства из переключателей бесполезно, они там снова воссоздаются после перезагрузки системы плагинов.

Читайте также:  1С не закрывает 20 счет

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *