Страница 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 второй раз пытаетесь команду запустить?