[Модуль] Broadlink (dev_broadlink)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
nick7zmail
Сообщения: 6624
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 119 раз
Поблагодарили: 1631 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Чт июл 13, 2017 11:45 am

igorewa писал(а):Помогите с этим Если дебажите уже известное устройство нужно заменить вызываемую функцию в broadlink_debug_scr.php
$payload = $rm->some_req(); на нужную функцию от устройства...а вывод этой функции заменить с return $data на return $payload, если хотите увидеть полный пэйлод...

Я пытаюсь пробить карниз, в модуле он определен и добавлен , что нужно добавить в broadlink_debug_scr.php ?
Тут нужна "предподготовка", как раз о которой писали на страницах до этого....
Первым делом надо перехватить пакет, который идет с девайса приложению...либо через packet capture (я давал вроде ссылку, как это делается), либо wireshark-ом...любым способом кароч))

Пакет зашифрованный...второй шаг - расшифровать его...с приложения надо вытащить базу данных (это можно сделать только с рут-доступом) из неё вытащить ключи и ID, и расшифровать этот пакет, как сделать - тоже писали - как называется, где лежит, и как вытащить....и скриптик для расшифровки выкладывали...

Третий шаг - в расшифрованном пакете - найти байт определяющий команду (скорее всего первый...учтите - сама команда начинается после определённой последовательности символов), и их записать в команду some_req() в broadlink.class.php...и потом, уже переходим к моему скрипту (который debug_scr)...запускаем - должен по-идее выпасть полный пэйлод...после этого можно из e-control потыкать разные настройки и т.п. , обновлять страничку, и наблюдать за байтами)))записывать что за какой отвечает...

Теперь к действиям - опять перехватываем управляющий пакет (который уходит от приложения устройству), расшифровываем, запоминаем управляющий байт, все остальные байты, скорее всего, будут как в предыдущем пэйлоде.
В команде some_action(); Записываем 1й байт (там есть пример в broadlink.class.php в конце), записываем управляющий байт, в дебажном скрипте меняем some_req на some_action, и пробуем запустить....по идее команда выполнится должна)) меняем управляющий байт (надо несколько вариантов посмотреть...с закрытыми, открытыми, наполовину открытыми) - опять запускаем, смотрим выполнилось или нет....

Далее все исследования оформляем, записываем, и скидываем сюда)) тогда я допишу класс, и, чисто теоретически - должно всё заработать уже штатно =D.
nalog писал(а):Господа не подскажете как вы используете полученные в RM Bridge коды. У меня есть RF выключатели, к сцене приделал кнопку с методами

header( "http://адрес RM Bridge:7474/code/lights-zal" );

но когда запрос идет на приложение получаю ошибку CORS Access-Control-Allow-Origin я так понял это косяк самого приложения, там не возможно добавить настройку.. Если иду напрямую то все норм. Каким еще способом можно прикрутить выключалку?
В методе используйте getURL('адрес');
За это сообщение автора nick7zmail поблагодарил:
nalog (Пт июл 14, 2017 8:00 am)
Рейтинг: 1.27%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
dr.pavlov.alex
Сообщения: 103
Зарегистрирован: Вс апр 23, 2017 7:09 pm
Благодарил (а): 38 раз
Поблагодарили: 1 раз

Re: Модуль Broadlink

Сообщение dr.pavlov.alex » Пт июл 14, 2017 6:45 am

Можно ли статус для кнопки записывать из датчика освещенности A1?
Aopen de7000 на Ubuntu 16.04.4 LTS+Broadlink
Аватара пользователя
nick7zmail
Сообщения: 6624
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 119 раз
Поблагодарили: 1631 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Пт июл 14, 2017 6:59 am

В смысле статус для кнопки?))) не понял вопроса, но если вы имеете ввиду - можно ли выполнять какие-либо действия в зависимости от освещённости - то да, можно.

Отправлено с моего Xperia Z через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
dr.pavlov.alex
Сообщения: 103
Зарегистрирован: Вс апр 23, 2017 7:09 pm
Благодарил (а): 38 раз
Поблагодарили: 1 раз

Re: Модуль Broadlink

Сообщение dr.pavlov.alex » Пт июл 14, 2017 7:37 am

nick7zmail писал(а):В смысле статус для кнопки?))) не понял вопроса, но если вы имеете ввиду - можно ли выполнять какие-либо действия в зависимости от освещённости - то да, можно.

Отправлено с моего Xperia Z через Tapatalk
Нет не это имел ввиду. Есть кнопка, типа сладйдера, где используется метод объекта. Как то вы показывали как ей присваивать статус 1/0 в зависимости от того в каком она положении, но если выключить/включить свет физически, то статус кнопки не актуален. Возможно ли в этот самый метод засовывать свойство из А1?
Aopen de7000 на Ubuntu 16.04.4 LTS+Broadlink
Аватара пользователя
nick7zmail
Сообщения: 6624
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 119 раз
Поблагодарили: 1631 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Пт июл 14, 2017 8:10 am

Не ломайте мне мозг плс))
Это кнопка
1.jpg
1.jpg (5.57 КБ) 3802 просмотра
Это слайдер
2.jpg
2.jpg (7.5 КБ) 3802 просмотра
Я не представляю как может быть "кнопка типа слайдера" или "кнопка слайдер" =D за последнюю неделю просто уже несколько раз это словосочетание встречал...

Если вы имеете ввиду этот элемент
3.jpg
3.jpg (2.49 КБ) 3802 просмотра
То это просто "Выключатель".

И да, можно...только надо так отстроить, чтобы включенный свет с дневным не путал...а это крайне сложно...т.к. там не аналоговое значение, а 0,1,2

Код: Выделить всё

if('А1.свойство_освещенности'==<нужный порог освещенности>) {
sg('выключатель.статус',1); 
} else {
sg('выключатель.статус',0); 
}
И данный метод привязать к свойству, связанному с освещенность А1, чтобы запускался автоматически при обновлении.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
dr.pavlov.alex
Сообщения: 103
Зарегистрирован: Вс апр 23, 2017 7:09 pm
Благодарил (а): 38 раз
Поблагодарили: 1 раз

Re: Модуль Broadlink

Сообщение dr.pavlov.alex » Пт июл 14, 2017 10:10 am

nick7zmail писал(а):Не ломайте мне мозг плс))
Это кнопка
1.jpg
Это слайдер
2.jpg
Я не представляю как может быть "кнопка типа слайдера" или "кнопка слайдер" =D за последнюю неделю просто уже несколько раз это словосочетание встречал...

Если вы имеете ввиду этот элемент
3.jpg
То это просто "Выключатель".

И да, можно...только надо так отстроить, чтобы включенный свет с дневным не путал...а это крайне сложно...т.к. там не аналоговое значение, а 0,1,2

Код: Выделить всё

if('А1.свойство_освещенности'==<нужный порог освещенности>) {
sg('выключатель.статус',1); 
} else {
sg('выключатель.статус',0); 
} 
И данный метод привязать к свойству, связанному с освещенность А1, чтобы запускался автоматически при обновлении.
Все равно до конца не понимаю, что и как должно работать. Можно подробнее с созданием выключателя?
Aopen de7000 на Ubuntu 16.04.4 LTS+Broadlink
Аватара пользователя
nick7zmail
Сообщения: 6624
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 119 раз
Поблагодарили: 1631 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Пт июл 14, 2017 10:35 am

dr.pavlov.alex писал(а): Все равно до конца не понимаю, что и как должно работать. Можно подробнее с созданием выключателя?
Про создание выключателя есть как минимум 2 ссылки в первом сообщении темы. То что я описал - это уже с созданным выключателем надо делать.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
nick7zmail
Сообщения: 6624
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 119 раз
Поблагодарили: 1631 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Пт июл 14, 2017 10:40 am

Проблема: Перевернут IP при автоматическом сканировании.

Причина: Не выяснена. Есть предположение, что зависит от производителя устройства...пробовал вручную переворачивать IP для устройств, о которых отписывались, пока не столкнулся с картиной - 2 одинаковые розетки, обе SPmini, у одной нормальный IP, у другой - перевернутый...может есть байт в пэйлоде который отвечает за переворачивание IP, я хз если честно...

Решение: Добавить устройство, после чего вручную занести правильный IP.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
dr.pavlov.alex
Сообщения: 103
Зарегистрирован: Вс апр 23, 2017 7:09 pm
Благодарил (а): 38 раз
Поблагодарили: 1 раз

Re: Модуль Broadlink

Сообщение dr.pavlov.alex » Пт июл 14, 2017 10:50 am

nick7zmail писал(а):
dr.pavlov.alex писал(а): Все равно до конца не понимаю, что и как должно работать. Можно подробнее с созданием выключателя?
Про создание выключателя есть как минимум 2 ссылки в первом сообщении темы. То что я описал - это уже с созданным выключателем надо делать.
С созданным выключателем и методом statusChanged, так?
Aopen de7000 на Ubuntu 16.04.4 LTS+Broadlink
Аватара пользователя
nick7zmail
Сообщения: 6624
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 119 раз
Поблагодарили: 1631 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Пт июл 14, 2017 10:51 am

dr.pavlov.alex писал(а):
nick7zmail писал(а):
dr.pavlov.alex писал(а): Все равно до конца не понимаю, что и как должно работать. Можно подробнее с созданием выключателя?
Про создание выключателя есть как минимум 2 ссылки в первом сообщении темы. То что я описал - это уже с созданным выключателем надо делать.
С созданным выключателем и методом statusChanged, так?
Верно.
Только для объекта, связанного с А1 - надо создать метод...к примеру lum_updated, связать его со свойством освещенности, чтоб запускался автоматически, и вписать в него вышеприведенный код, исправив значения свойств освещенности и статуса выключателя.

Отправлено с моего Xperia Z через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить