[Модуль] Broadlink (dev_broadlink)
Модератор: immortal
- vitt76
- Сообщения: 372
- Зарегистрирован: Вс апр 09, 2017 2:36 pm
- Благодарил (а): 101 раз
- Поблагодарили: 51 раз
Re: Модуль Broadlink
И все же мне немного непонятно, как работать с ms1.
Хочется перед запуском потока (будильника) быть уверенным, что колонка онлайн, иначе выбрать другой плеер.
Когда колонка выключена с кнопки, понятно, что ее из модуля не дозваться.
Если она выключена из модуля по power, даже находясь на зарядке, модуль мой перестает ее видеть и обновлять, включить колонку не получается.
И даже если ничего не трогать, колонка со временем переходит в какой-то спящий режим (индикатор питания медленно мерцает) и тоже перестает быть доступна из модуля. E-control ее легко при этом будит.
Ну и кнопка pause ставит колонку на паузу, из которой выход только по кнопке next с переходом на следующую песню.
Может, я что-то не так понимаю или делаю?
Хочется перед запуском потока (будильника) быть уверенным, что колонка онлайн, иначе выбрать другой плеер.
Когда колонка выключена с кнопки, понятно, что ее из модуля не дозваться.
Если она выключена из модуля по power, даже находясь на зарядке, модуль мой перестает ее видеть и обновлять, включить колонку не получается.
И даже если ничего не трогать, колонка со временем переходит в какой-то спящий режим (индикатор питания медленно мерцает) и тоже перестает быть доступна из модуля. E-control ее легко при этом будит.
Ну и кнопка pause ставит колонку на паузу, из которой выход только по кнопке next с переходом на следующую песню.
Может, я что-то не так понимаю или делаю?
Broadlink + Orange Pi PC ARMBIAN 5.31
- vitt76
- Сообщения: 372
- Зарегистрирован: Вс апр 09, 2017 2:36 pm
- Благодарил (а): 101 раз
- Поблагодарили: 51 раз
Re: Модуль Broadlink
Я неправильно выразился, хочется не убеждаться, что она оффлайн (статус у нее и так оффлайн), а попинать ее как-то, чтобы разбудить. Вот и сейчас индикатор мерцает, колонка то ли спит, то ли дремлет, последнее обновление в модуле вчера 19:45, вручную не обновляется. Из e-control доступна.
Если говорить про пинг, то да, колонка пингуется, но для модуля она оффлайн.
Если говорить про пинг, то да, колонка пингуется, но для модуля она оффлайн.
Broadlink + Orange Pi PC ARMBIAN 5.31
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Модуль Broadlink
Для модуля она оффлайн - потому что ответы не выдаёт в спящем...vitt76 писал(а):Я неправильно выразился, хочется не убеждаться, что она оффлайн (статус у нее и так оффлайн), а попинать ее как-то, чтобы разбудить. Вот и сейчас индикатор мерцает, колонка то ли спит, то ли дремет, последнее обновление в модуле вчера 19:45, вручную не обновляется. Из e-control доступна.
Если говорить про пинг, то да, колонка пингуется, но для модуля она оффлайн.
Будилась она у меня по посылу любой команды (вроде или плэй тыкал, или мьют - и она просыпалась)...
Если без питания вырубить - колонка естественно вырубится вообще (питание не будет гореть).
Не знаю, что за "глубокий" сон...через сколько он наступает? Может тогда поможет "PowerButton" и затем типа Play команды... Дома поэкспериментирую.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
- VooDooN
- Сообщения: 307
- Зарегистрирован: Сб июн 11, 2016 12:02 am
- Благодарил (а): 170 раз
- Поблагодарили: 64 раза
Re: Модуль Broadlink
nick7zmail, а добавлена ли в модуль возможность показывать мощность из SP2? А то у меня тут спрашивают про SP2, что для него есть возможность только включить/выключить, а поле с энергией вообще не показывается. Вроде бы и циклы проверили, и удаляли/добавляли устройство, и модуль самый последний используют, и в Debug ошибок нет.
-
- Сообщения: 103
- Зарегистрирован: Вс апр 23, 2017 7:09 pm
- Благодарил (а): 38 раз
- Поблагодарили: 1 раз
Re: Модуль Broadlink
MS1 часа 4 ждал глубокого спящего режима (мигание кнопки Power) так и не дождался. Колонка без проблем включилась из модуля. Включается из модуля любой кнопкой, даже если в свойство DLNA Render отправить ссылку на онлайн радиостанцию.
У меня вот другая проблема, так и не заработали кнопки (Power, pause, play, mute) из меню.
У меня вот другая проблема, так и не заработали кнопки (Power, pause, play, mute) из меню.
Aopen de7000 на Ubuntu 16.04.4 LTS+Broadlink
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Модуль Broadlink
Про sp2 хз...если протокол такой же как у sp3s -то должно работать...если нет - уж извиняйте)) протокол копать надо...а sp2 у меня нет.
По ms1 гляну, как время будет.
Отправлено с моего Xperia Z через Tapatalk
По ms1 гляну, как время будет.
Отправлено с моего Xperia Z через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
- ipc2002
- Сообщения: 125
- Зарегистрирован: Пн май 15, 2017 8:13 pm
- Откуда: Москва
- Благодарил (а): 102 раза
- Поблагодарили: 14 раз
- Контактная информация:
Re: Модуль Broadlink
Снова доброго времени суток!
Подскажите, пожалуйста, как сделать ссылку на поле "примечание" или "название" объекта, чтобы в команде say(), например, использовать (чтоб в логе писала, что включилось, что выключилось)? Чтобы использовать по аналогии с тем, как в примере: $this->getProperty('...'). Добавить в шаблон группы объектов например, чтоб для каждого отдельно не писать...
Подскажите, пожалуйста, как сделать ссылку на поле "примечание" или "название" объекта, чтобы в команде say(), например, использовать (чтоб в логе писала, что включилось, что выключилось)? Чтобы использовать по аналогии с тем, как в примере: $this->getProperty('...'). Добавить в шаблон группы объектов например, чтоб для каждого отдельно не писать...
- VooDooN
- Сообщения: 307
- Зарегистрирован: Сб июн 11, 2016 12:02 am
- Благодарил (а): 170 раз
- Поблагодарили: 64 раза
Re: Модуль Broadlink
У кого есть SP2, работает или не работает отображение энергии на вкладке Data (поле power)? Отображается ли оно вообще?
-
- Сообщения: 469
- Зарегистрирован: Вт мар 12, 2013 1:22 am
- Благодарил (а): 41 раз
- Поблагодарили: 81 раз
Re: Модуль Broadlink
Добавил работу broadlink.class.php с облаком, nick7zmail прими pull request.
Пока только 5 функций:
Пока только 5 функций:
- Auth("email", "password") - авторизация
GetUserInfo() - информация о пользователе (ничего интересного)
GetLastBackup() - получить последний backup сделаный через e-control
GetListBackups() - получить список всех доступных backup-ов
GetBackup("/path/name/") - получить конкретный backup из списка полученного через GetListBackups()
СпойлерПоказать
Все функции возвращают массив, в каждом присутствует поле [error] с кодом ошибки, "0" - все в порядке.
В базе логин и пароль не хранятся нам нужны только номер сессии, id пользователя и ник.
Чтобы их получить нужно пройти авторизацию:$response будет содержать массив:
Если использовать класс Cloud() без параметров, то работает только функция авторизации, все остальные будут возвращать ошибку:
Вот например запрос информации о пользователе:Если все в порядке $response будет таким:
в $response будет список (максимально 10 позиций):
Функция скачает zip-архив в ./files/bl_buckup.zip, распакует его в ./files/SharedData/ и удалит чтоб место не занимал.
Если все хорошо, $response вернет путь к папке с распакованными файлами:Тоже результатом будет путь куда распаковал архив.
Далее работаем с полученными файлами как с обычным json, например:и т.д.
В базе логин и пароль не хранятся нам нужны только номер сессии, id пользователя и ник.
Чтобы их получить нужно пройти авторизацию:
Код: Выделить всё
include_once("/var/www/modules/dev_broadlink/broadlink.class.php");
$cloud = Broadlink::Cloud();
$response = $cloud->Auth("my@email.ru", "password");
для дальнейшей работы нужно запомнить только эти поля: [userid], [nickname] и [loginsession]. В процессе они не меняются, всегда статичны и если даже повторить авторизацию, то будут выданы опять они же. Думаю что присваиваются каждому пользователю при первой регистрации и закрепляются на всегда, хотя nickname изменить можно, изменяться при этом остальное не знаю.[error] => 0
[msg] => ok
[userid] => 4690560846290745793
[nickname] => dmw
[iconpath] =>
[loginsession] => b2b5175390728bcc501a031631c8b4a4
[logintime] => 2017-07-27T17:27:37+08:00
[loginip] => 10.243.41.151
Если использовать класс Cloud() без параметров, то работает только функция авторизации, все остальные будут возвращать ошибку:
Чтобы считалось что авторизация пройдена при подключении класса нужно передавать параметры Broadlink::Cloud(nickname, userid, loginsession).["error"] => -1009
["msg"] => Authorization Required
Вот например запрос информации о пользователе:
Код: Выделить всё
include_once("/var/www/modules/dev_broadlink/broadlink.class.php");
$cloud = Broadlink::Cloud("dmw", "4690560846290745793", "b2b5175390728bcc501a031631c8b4a4");
$response = $cloud->GetUserInfo();
Это запрос списка доступных backup-ов в облаке:[error] => 0
[msg] => ok
[nickname] => dmw
[registerdate] => 2017-02-13 21:31:52
[country] =>
[preferlanguage] =>
[realname] =>
[birthday] => 0000-00-00 00:00:00
[gender] =>
[getnews] =>
[phone] =>
Код: Выделить всё
include_once("/var/www/modules/dev_broadlink/broadlink.class.php");
$cloud = Broadlink::Cloud("dmw", "4690560846290745793", "b2b5175390728bcc501a031631c8b4a4");
$response = $cloud->GetListBackups();
Если нужен конкретный файл из этого списка, то можно запросить его по [pathname]:[сode] => 200
- [0][pathname] => /23/3c4b3262363a8d0424f7e74f5f072a/2017-07-18_20:23:29
- [0][size] => 171.7KB
- [1][pathname] => /23/3c4b3262363a8d0424f7e74f5f072a/2017-07-26_00:19:43
- [1][size] => 171.7KB
[msg] => OK
[error] => 0
Код: Выделить всё
include_once("./modules/dev_broadlink/broadlink.class.php");
$cloud = Broadlink::Cloud("dmw", "4690560846290745793", "b2b5175390728bcc501a031631c8b4a4");
$response = $cloud->GetBackup("/23/3c4b3262363a8d0424f7e74f5f072a/2017-07-18_20:23:29");
Если все хорошо, $response вернет путь к папке с распакованными файлами:
Если нужен последний сохраненный backup, то:[msg] => /var/www/files/SharedData
[error] => 0
Код: Выделить всё
include_once("./modules/dev_broadlink/broadlink.class.php");
$cloud = Broadlink::Cloud("dmw", "4690560846290745793", "b2b5175390728bcc501a031631c8b4a4");
$response = $cloud->GetLastBackup();
Далее работаем с полученными файлами как с обычным json, например:
Код: Выделить всё
$buttons = json_decode(file_get_contents("./files/SharedData/jsonButton")); //список пультов для jsonIrCode
$ircodes = json_decode(file_get_contents("./files/SharedData/jsonIrCode")); //коды пультов из jsonButton, здесь берем и для TC2 коды
$devices = json_decode(file_get_contents("./files/SharedData/jsonDevice")); //список устройств, можно найти publicKey и terminalId
- Рейтинг: 3.49%