Страница 355 из 376
Re: [Модуль] Broadlink (dev_broadlink)
Добавлено: Вт май 12, 2020 12:06 pm
doc_bravn
Подскажите пожалуйста как можно с помощью модуля Broadlink передавать зажатие кнопки? Мне нужно иногда бывает перезагрузить ТВ зажатием кнопки включения на пульте на 2 секунды. Как можно тоже самое реализовать через модуль? Можно передавать один и тот же сигнал на протяжении 2-х секунд?
Re: [Модуль] Broadlink (dev_broadlink)
Добавлено: Вт май 12, 2020 1:15 pm
Chainik
doc_bravn писал(а): Вт май 12, 2020 12:06 pm
Подскажите пожалуйста как можно с помощью модуля Broadlink передавать зажатие кнопки? Мне нужно иногда бывает перезагрузить ТВ зажатием кнопки включения на пульте на 2 секунды. Как можно тоже самое реализовать через модуль? Можно передавать один и тот же сигнал на протяжении 2-х секунд?
Тут два варианта. Либо у вас должен быть изначально сохранен в виде команды "длинный" (при удержании кнопки) сигнал, либо делаете ряд "коротких" команд через паузу (имитируя таким образом удержание кнопки).
Код: Выделить всё
brLinkCommand('TV_Panasonic_1_On_Off');
usleep(50000);
brLinkCommand('TV_Panasonic_1_On_Off');
usleep(50000);
brLinkCommand('TV_Panasonic_1_On_Off');
usleep(50000);
brLinkCommand('TV_Panasonic_1_On_Off');
usleep(50000);
brLinkCommand('TV_Panasonic_1_On_Off');
Re: [Модуль] Broadlink (dev_broadlink)
Добавлено: Вт май 12, 2020 5:46 pm
doc_bravn
Chainik писал(а): Вт май 12, 2020 1:15 pm
Тут два варианта. Либо у вас должен быть изначально сохранен в виде команды "длинный" (при удержании кнопки) сигнал, либо делаете ряд "коротких" команд через паузу (имитируя таким образом удержание кнопки).
Код: Выделить всё
brLinkCommand('TV_Panasonic_1_On_Off');
usleep(50000);
brLinkCommand('TV_Panasonic_1_On_Off');
usleep(50000);
brLinkCommand('TV_Panasonic_1_On_Off');
usleep(50000);
brLinkCommand('TV_Panasonic_1_On_Off');
usleep(50000);
brLinkCommand('TV_Panasonic_1_On_Off');
Попробовал записать длинную команду удерживая кнопку при обучении. Модуль ее записал. И передает потом, но как-то не так. Телевизор на эту передаваемую длинную команду вообще никак не реагирует. Попробую коротки с паузой...
Re: [Модуль] Broadlink (dev_broadlink)
Добавлено: Ср май 13, 2020 9:57 am
nick7zmail
Я бы всё таки ещё раз попробовал записать с удержанием...хотя она скорее всего фильтруется, и преобразуется в одиночную...с RF вроде так работает, не смотря на удержание....кстати в RM Tools есть анализатор кода, где можно количество повторов поменять...это ещё как вариант.
Re: [Модуль] Broadlink (dev_broadlink)
Добавлено: Чт май 21, 2020 5:23 pm
doc_bravn
В методе StatusUpdated есть такой код у меня:
if (gg('Relay01.status')=='1')
{
sleep(18);
brLinkCommand('ТВ вправо');
Почему-то команда броадлинком излучается дважды. Уже всю голову себе сломал почему. Прям подряд два раза излучает. Один раз и тут же второй. Я уже и переобучал эту команду. Все равно излучает дважды. При чем если из самого модуля броадлинк ее проверять нажимая на значок молнии сбоку, то излучает верно, один раз.
Почему это происходит и как от этого избавиться?
Re: [Модуль] Broadlink (dev_broadlink)
Добавлено: Чт май 21, 2020 5:44 pm
xor
doc_bravn писал(а): Чт май 21, 2020 5:23 pm
В методе StatusUpdated есть такой код у меня:
if (gg('Relay01.status')=='1')
{
sleep(18);
brLinkCommand('ТВ вправо');
Почему-то команда броадлинком излучается дважды. Уже всю голову себе сломал почему. Прям подряд два раза излучает. Один раз и тут же второй. Я уже и переобучал эту команду. Все равно излучает дважды. При чем если из самого модуля броадлинк ее проверять нажимая на значок молнии сбоку, то излучает верно, один раз.
Почему это происходит и как от этого избавиться?
перепишите код на
Код: Выделить всё
if (gg('Relay01.status')=='1')
{
settimeout('tv_right',"brLinkCommand('ТВ вправо');",18);
если у вас дальше не наверчено, должно быть одно срабатывание (это костыль) возможно, у вас статусапдптед неск. раз срабатывает(
Re: [Модуль] Broadlink (dev_broadlink)
Добавлено: Чт май 21, 2020 5:51 pm
doc_bravn
xor писал(а): Чт май 21, 2020 5:44 pm
если у вас дальше не наверчено, должно быть одно срабатывание (это костыль) возможно, у вас статусапдптед неск. раз срабатывает(
Весь код метода такой:
Код: Выделить всё
if (gg('Relay01.status')=='1')
{
sleep(18);
brLinkCommand('ТВ вправо');
sleep(2);
brLinkCommand('ТВ ОК');
}else{
sg('Relay01.status', 0);
}
Это все что есть в методе. Задача такая: излучить код кнопки вправо, а затем излучить код кнопки ОК, чтобы запустить нужное приложение в ТВ.
Изменил код который вы указали выше. Действительно стало одно срабатывание, но перестал излучать вторую команду. Посоветуете как его правильно написать чтобы отрабатывали две команды по одному разу.
Re: [Модуль] Broadlink (dev_broadlink)
Добавлено: Чт май 21, 2020 7:28 pm
xor
doc_bravn писал(а): Чт май 21, 2020 5:51 pm
xor писал(а): Чт май 21, 2020 5:44 pm
если у вас дальше не наверчено, должно быть одно срабатывание (это костыль) возможно, у вас статусапдптед неск. раз срабатывает(
Весь код метода такой:
Код: Выделить всё
if (gg('Relay01.status')=='1')
{
sleep(18);
brLinkCommand('ТВ вправо');
sleep(2);
brLinkCommand('ТВ ОК');
}else{
sg('Relay01.status', 0);
}
Это все что есть в методе. Задача такая: излучить код кнопки вправо, а затем излучить код кнопки ОК, чтобы запустить нужное приложение в ТВ.
Изменил код который вы указали выше. Действительно стало одно срабатывание, но перестал излучать вторую команду. Посоветуете как его правильно написать чтобы отрабатывали две команды по одному разу.
ответил в телеге
Код: Выделить всё
settimeout('tv_right',"brLinkCommand('ТВ вправо');sleep(2);brLinkCommand('ТВ ОК');",18);
костыль тут - таймер,запущенный второй раз 18 с, перетрёт предыдущий, так вы избавитесь от последствий, не убрав первопричину(
Re: [Модуль] Broadlink (dev_broadlink)
Добавлено: Чт май 21, 2020 7:55 pm
doc_bravn
xor писал(а): Чт май 21, 2020 7:28 pm
костыль тут - таймер,запущенный второй раз 18 с, перетрёт предыдущий, так вы избавитесь от последствий, не убрав первопричину(
Я не понимаю почему оно стало дважды отсылать команду. Уже все проверил что мог. Вроде все правильно, но все равно отсылает два раза команду.
Re: [Модуль] Broadlink (dev_broadlink)
Добавлено: Чт май 21, 2020 8:05 pm
nick7zmail
Может вы status в модуле привязали? И через brLinkCommand второй раз пытаетесь команду запустить?