[Модуль] Broadlink (dev_broadlink)
Модератор: immortal
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
[Модуль] Broadlink (dev_broadlink)
Собрал всё в один модуль, надеюсь - ничего не сломал. После установки можно выбрать API.
1) RM-bridge
Кто бы что не говорил - это самый простой способ управления командами. Просто ставите приложение с маркета, вводите ip/port в нужные поля - и готово, записываете, просматриваете команды...
2) BroadlinkHTTPBridge
Все тот же модуль для http - бриджа...функционал не менял/не урезал/не добавлял...пока все на том же уровне, хотя есть куда улучшать. Работает с той же таблицей, что и предыдущий)
3) PHP
Самостоятельный PHP модуль, работающий без бриджа.
Собственно сам модуль (на гитхабе) https://github.com/nick7zmail/MajorDoMo-dev_broadlink
Поддержать разработку либо поблагодарить разработчика вы можете тут http://connect.smartliving.ru/tasks/5.html
Обновления:
-22.01.17 - Добавлено PHP-api подробнее
-24.01.17 - Добавлена поддержка A1 air и RM3 mini в php подробнее
-02.02.17 - Добавлена поддержка розеток sp2/3/cc/mini в php подробнее
-10.02.17 - Поддержка MP1 в php подробнее
-20.04.17 - Большое обновление функционала подробнее
-25.04.17 - Полная поддержка sp3 (в том числе ночник) подробнее
-28.04.17 - Обновление вызова команд подробнее
-29.04.17 - Интеграция с модулем "Простые устройства" подробнее
-17.06.17 - Поддержка S1/S1c и выключателя SC1 подробнее
-22.06.17 - Сохранение ключей авторизации, расширение функций s1 подробнее
-12.07.17 - Добавлены новые устройства из e-control, исправлена ошибка с температурой 249 на RM подробнее
-19.07.17 - Добавлены функции MS1 и класс в библиотеке для карнизов dooya подробнее
Полезная информация:
Общее
Добавление нового устройства (PHP)
Немного о моделях устройств (PHP)
RM(1,2,3,mini,pro,pro+)
Обучение командам (PHP)
Как работать с записанными командами (PHP, через объект.свойство, инструкция с картинками =) )
Создание выключателя (Простые устройства, инструкция с картинками)
Активация команд кодом
Настройка кондиционера
Про датчик температуры в RM2
А1
Данные, которые приходят с А1
Пример сцены А1
MS1
Про колонку MS1
Про колонку MS1 (продолжение)
Функции в модуле
Проблемы и их решения:
Не работает сканирование устройств
Перевернут IP
Связанные темы:
Про модуль RM-bridge
Про httpbridge
Про подключение без бриджа
Отдельная тема по выключателям LIVOLO (для них команды почему-то не записываются с облачных пультов e-control'а...но решение есть -КОДЫ УПРАВЛЕНИЯ LIVOLO)
Архив
О каждом из них по-подробнее:1) RM-bridge
Кто бы что не говорил - это самый простой способ управления командами. Просто ставите приложение с маркета, вводите ip/port в нужные поля - и готово, записываете, просматриваете команды...
2) BroadlinkHTTPBridge
Все тот же модуль для http - бриджа...функционал не менял/не урезал/не добавлял...пока все на том же уровне, хотя есть куда улучшать. Работает с той же таблицей, что и предыдущий)
3) PHP
Самостоятельный PHP модуль, работающий без бриджа.
Собственно сам модуль (на гитхабе) https://github.com/nick7zmail/MajorDoMo-dev_broadlink
Поддержать разработку либо поблагодарить разработчика вы можете тут http://connect.smartliving.ru/tasks/5.html
Обновления:
-22.01.17 - Добавлено PHP-api подробнее
-24.01.17 - Добавлена поддержка A1 air и RM3 mini в php подробнее
-02.02.17 - Добавлена поддержка розеток sp2/3/cc/mini в php подробнее
-10.02.17 - Поддержка MP1 в php подробнее
-20.04.17 - Большое обновление функционала подробнее
-25.04.17 - Полная поддержка sp3 (в том числе ночник) подробнее
-28.04.17 - Обновление вызова команд подробнее
-29.04.17 - Интеграция с модулем "Простые устройства" подробнее
-17.06.17 - Поддержка S1/S1c и выключателя SC1 подробнее
-22.06.17 - Сохранение ключей авторизации, расширение функций s1 подробнее
-12.07.17 - Добавлены новые устройства из e-control, исправлена ошибка с температурой 249 на RM подробнее
-19.07.17 - Добавлены функции MS1 и класс в библиотеке для карнизов dooya подробнее
Полезная информация:
Общее
Добавление нового устройства (PHP)
Немного о моделях устройств (PHP)
RM(1,2,3,mini,pro,pro+)
Обучение командам (PHP)
Как работать с записанными командами (PHP, через объект.свойство, инструкция с картинками =) )
Создание выключателя (Простые устройства, инструкция с картинками)
Активация команд кодом
Настройка кондиционера
Про датчик температуры в RM2
А1
Данные, которые приходят с А1
Пример сцены А1
MS1
Про колонку MS1
Про колонку MS1 (продолжение)
Функции в модуле
Проблемы и их решения:
Не работает сканирование устройств
Перевернут IP
Связанные темы:
Про модуль RM-bridge
Про httpbridge
Про подключение без бриджа
Отдельная тема по выключателям LIVOLO (для них команды почему-то не записываются с облачных пультов e-control'а...но решение есть -КОДЫ УПРАВЛЕНИЯ LIVOLO)
Архив
Последний раз редактировалось nick7zmail Пн сен 11, 2017 10:28 am, всего редактировалось 50 раз.
- За это сообщение автора nick7zmail поблагодарил:
- C_3AXAPOB (Ср янв 04, 2017 1:49 am) • Denis_k (Чт янв 05, 2017 11:06 pm) • slgeo (Сб янв 07, 2017 10:27 pm) • gorobey (Пн янв 23, 2017 8:03 pm) • VooDooN (Пт янв 27, 2017 6:38 pm) • kas5858 (Ср мар 01, 2017 9:05 am) • Chainik (Вс апр 16, 2017 11:25 pm) • Sayler (Вс май 07, 2017 9:31 am) • SolarW (Вт май 16, 2017 9:34 am) • ipc2002 (Чт июл 20, 2017 9:59 pm) и ещё 11
- Рейтинг: 24.42%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Модуль Broadlink
Не вижу смысла больше тянуть с обновой...тест вроде прошел более-менее нормально)).
Выложил поддержку php-api для нашего бродлинка...
Подтянул интерфейс по сравнению с тестовой версией))
Инструкция по добавлению устройств:
1. Открываем модуль, нажимаем сканировать устройства.
2. Видим там ваши устройства...если не видим - возможно ваши устройства в другой подсети...тогда желательно запустить модуль из той же сети что и broadlink. Если таки нет возможности - ознакомтесь с этим постом. Можете попробовать взять Марку устройства наугад (все марки прописаны в broadlink.class.php).
3. Добавляем устройства в таблицу (кнопка + в интерфейсе сканирования, или "Добавить" в основном интерфейсе), выбираем тип устройства
4. Название (какое душе угодно))) сделано, чтобы вам удобнее было контролировать ваши девайсы
5. IP устройства - не нуждается в комментариях (заполняется автоматически при добавлении через сканирование)
6. !!!Важно!!! Марка устройства - со страницы "сканирование устройств" (заполняется автоматически при добавлении через сканирование)
7. MAC - думаю тоже не нуждается в комментариях (заполняется автоматически при добавлении через сканирование)
8. Обновлено: поле не редактируемое, там должно появляться время последнего обновления связанных свойств
9. Сохраняем изменения
Все данные с устройств приходят на вкладку "Данные", будь то статус розеток, температура RM, показания датчиков и т.п.
Данные, как и в случае httpbridge запрашивается раз в час по событию HOURLY. Хотите получать чаще - выполняйте любым методом такой код:
Обучение командам (со вкладки общее).
1. Кнопка обучить коду. RM переходит в режим обучения (желтый индикатор горит);
2. Воспроизводим нажатие пульта (на это есть 10 сек, индикатор после однократного нажатия должен погаснуть). В случае с RF командами возможно придется подержать кнопку подольше;
3. Переходим на вкладку данные. Там должна появится команда "new_command";
4. Переименовываем во что-нибудь более-менее вменяемое))
Обучение командам (со вкладки данные).
1. Вбиваем имя команды в поле "Добавить:";
2. Кнопка обучить коду. RM переходит в режим обучения (желтый индикатор горит);
3. Воспроизводим нажатие пульта (на это есть 10 сек, индикатор после однократного нажатия должен погаснуть). В случае с RF командами возможно придется подержать кнопку подольше;
4. На вкладке данные появится команда с введенным в п. 1 именем.
Добавление новой команды (без обучения).
1. Вбиваем имя команды в поле "Добавить:";
2. Нажимаем "Сохранить";
3. Появится новая строка с пустым полем "Значение", туда можно занести любой код.
Воспроизведение команд.
Через привязанные Объект.свойство
1. В таблице команд нужно привязать команду к свойству любого объекта
2. Любым удобным методом (сценарий, объект.метод, голосовой шаблон, кнопка в интерфейсе и т.п.) поменять привязанное свойство на 1
3. Команда выполнится, и свойство снова скинется на 0
Через ссылку/код
Готовые ссылки, код для вызова, а так же код для изменения свойства можно увидеть нажав на "Использование команд" на вкладке "общие" или "данные".
Выложил поддержку php-api для нашего бродлинка...
Подтянул интерфейс по сравнению с тестовой версией))
Инструкция по добавлению устройств:
1. Открываем модуль, нажимаем сканировать устройства.
2. Видим там ваши устройства...если не видим - возможно ваши устройства в другой подсети...тогда желательно запустить модуль из той же сети что и broadlink. Если таки нет возможности - ознакомтесь с этим постом. Можете попробовать взять Марку устройства наугад (все марки прописаны в broadlink.class.php).
3. Добавляем устройства в таблицу (кнопка + в интерфейсе сканирования, или "Добавить" в основном интерфейсе), выбираем тип устройства
4. Название (какое душе угодно))) сделано, чтобы вам удобнее было контролировать ваши девайсы
5. IP устройства - не нуждается в комментариях (заполняется автоматически при добавлении через сканирование)
6. !!!Важно!!! Марка устройства - со страницы "сканирование устройств" (заполняется автоматически при добавлении через сканирование)
7. MAC - думаю тоже не нуждается в комментариях (заполняется автоматически при добавлении через сканирование)
8. Обновлено: поле не редактируемое, там должно появляться время последнего обновления связанных свойств
9. Сохраняем изменения
Все данные с устройств приходят на вкладку "Данные", будь то статус розеток, температура RM, показания датчиков и т.п.
Данные, как и в случае httpbridge запрашивается раз в час по событию HOURLY. Хотите получать чаще - выполняйте любым методом такой код:
Код: Выделить всё
include_once(DIR_MODULES."dev_broadlink/dev_broadlink.class.php");
$dev_broadlink=new dev_broadlink();
$dev_broadlink->check_params();
1. Кнопка обучить коду. RM переходит в режим обучения (желтый индикатор горит);
2. Воспроизводим нажатие пульта (на это есть 10 сек, индикатор после однократного нажатия должен погаснуть). В случае с RF командами возможно придется подержать кнопку подольше;
3. Переходим на вкладку данные. Там должна появится команда "new_command";
4. Переименовываем во что-нибудь более-менее вменяемое))
Обучение командам (со вкладки данные).
1. Вбиваем имя команды в поле "Добавить:";
2. Кнопка обучить коду. RM переходит в режим обучения (желтый индикатор горит);
3. Воспроизводим нажатие пульта (на это есть 10 сек, индикатор после однократного нажатия должен погаснуть). В случае с RF командами возможно придется подержать кнопку подольше;
4. На вкладке данные появится команда с введенным в п. 1 именем.
Добавление новой команды (без обучения).
1. Вбиваем имя команды в поле "Добавить:";
2. Нажимаем "Сохранить";
3. Появится новая строка с пустым полем "Значение", туда можно занести любой код.
Воспроизведение команд.
Через привязанные Объект.свойство
1. В таблице команд нужно привязать команду к свойству любого объекта
2. Любым удобным методом (сценарий, объект.метод, голосовой шаблон, кнопка в интерфейсе и т.п.) поменять привязанное свойство на 1
3. Команда выполнится, и свойство снова скинется на 0
Через ссылку/код
Готовые ссылки, код для вызова, а так же код для изменения свойства можно увидеть нажав на "Использование команд" на вкладке "общие" или "данные".
Последний раз редактировалось nick7zmail Вт май 16, 2017 8:15 am, всего редактировалось 7 раз.
- За это сообщение автора nick7zmail поблагодарили (всего 8):
- slgeo (Вс янв 22, 2017 4:57 pm) • kas5858 (Вс янв 22, 2017 5:34 pm) • C_3AXAPOB (Вс янв 22, 2017 7:15 pm) • Sayler (Вс янв 22, 2017 9:28 pm) • VooDooN (Пт янв 27, 2017 5:07 pm) • Pasha_dom (Вт сен 19, 2017 10:48 am) • PSerega (Вс окт 01, 2017 7:09 pm) • Dicont (Сб янв 27, 2018 3:20 pm)
- Рейтинг: 9.3%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 364
- Зарегистрирован: Вс янв 15, 2017 5:34 pm
- Откуда: Москва
- Благодарил (а): 100 раз
- Поблагодарили: 53 раза
Re: Модуль Broadlink
Правильно http://ваш IP/modules/dev_broadlink/discover.php, у меня по крайней мере так.nick7zmail писал(а): 1. Открываем http://ваш IP/modules/dev_broadlink/broadlink-device-php/discover.php
Raspberry Pi3 - Broadlink - MegaD - Много датчиков - Камеры - Часы.
Connect
Connect
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Модуль Broadlink
Да, сори...торопился, когда инструкцию писал)) исправилkas5858 писал(а): Правильно http://ваш IP/modules/dev_broadlink/discover.php, у меня по крайней мере так.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Модуль Broadlink
Я вот только не понял...раз в час у меня падает мэйн цикл...думал сперва из-за модуля...потом обновил систему, перезагрузил комп - все прекратилось....решил глюк какой-то был, а с модулем все норм. Выложил обнову...ща опять словил перезапуск основного цикла...
Кто уже установил - все норм? Или так же раз в час глючит??
Кто уже установил - все норм? Или так же раз в час глючит??
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 364
- Зарегистрирован: Вс янв 15, 2017 5:34 pm
- Откуда: Москва
- Благодарил (а): 100 раз
- Поблагодарили: 53 раза
Re: Модуль Broadlink
У меня тоже глючит раз в час.nick7zmail писал(а): Кто уже установил - все норм? Или так же раз в час глючит??
Raspberry Pi3 - Broadlink - MegaD - Много датчиков - Камеры - Часы.
Connect
Connect
-
- Сообщения: 510
- Зарегистрирован: Ср июн 08, 2016 4:17 pm
- Благодарил (а): 124 раза
- Поблагодарили: 101 раз
Re: Модуль Broadlink
Падает раз в час
Orange pi pc plus, megaD-2561, Xiaomi
--------------------------------------------------
http://connect.smartliving.ru/profile/908
--------------------------------------------------
http://connect.smartliving.ru/profile/908
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Модуль Broadlink
Короче - временно вырубил получение температуры через php. Из-за этого крашится мэйн цикл. Падает вот с такой ошибкой
По ходу дело в библиотеке...кто знает как исправить - помогите...
Чтобы включить получение температуры найдите и раскоментируйте этот кусок кода
в dev_broadlink.class.php.
Код: Выделить всё
Fatal error: Cannot redeclare aes128_cbc_encrypt() (previously declared in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink.class.php:4) in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink.class.php on line 6
Target: C:\_majordomo\htdocs/backup/20170122
Чтобы включить получение температуры найдите и раскоментируйте этот кусок кода
КодПоказать
Код: Выделить всё
/*for ($i = 1; $i <= count($db_rec); $i++) {
$rec=$db_rec[$i-1];
if ($rec['TYPE']=='rm') {
require(DIR_MODULES.$this->name.'/broadlink.class.php');
$rm = Broadlink::CreateDevice($rec['IP'], $rec['MAC'], 80, $rec['DEVTYPE']);
$rm->Auth();
$response = $rm->Check_temperature();
if(isset($response) && $response!='') {
sg($rec['LINKED_OBJECT'].'.temperature', (float)$response);
}
}
if(isset($response) && $response!='') {
$rec['UPDATED']=date('Y-m-d H:i:s');
SQLUpdate('dev_httpbrige_devices', $rec);
}
}*/
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<