Таймер в условно бесконечном цикле

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

zevplus
Сообщения: 33
Зарегистрирован: Чт авг 02, 2018 1:40 pm
Благодарил (а): 11 раз
Поблагодарили: 0

Таймер в условно бесконечном цикле

Сообщение zevplus » Ср мар 11, 2020 4:32 pm

Всем доброго дня!
Прошу помощи в решении следующей задачи - организовать режим нагрузочного тестирования телевизионной приставки путем переключения каналов.

Исходные данные:

MegaD + IR передатчик
Majordomo со сценой IR_RCU. На сцене кнопка IR_Ch_UP_Run (img) c состояниями RUN и STOP.

Нужно придумать алгоритм - как посылать IR команду

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

file_get_contents("http://192.168.11.214/sec/?pt=12&ir=00FDD22D&irp0=9000&irp1=4500&irp2=560&irp3=1600&irp4=560"); 
каждые 3 секунды, пока состояние кнопки IR_Ch_UP_Run на сцене IR_RCU = RUN

Заранее спасибо!

Евгений.
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: Таймер в условно бесконечном цикле

Сообщение Chainik » Ср мар 11, 2020 5:01 pm

zevplus писал(а):
Ср мар 11, 2020 4:32 pm
Всем доброго дня!
Прошу помощи в решении следующей задачи - организовать режим нагрузочного тестирования телевизионной приставки путем переключения каналов.

Исходные данные:

MegaD + IR передатчик
Majordomo со сценой IR_RCU. На сцене кнопка IR_Ch_UP_Run (img) c состояниями RUN и STOP.

Нужно придумать алгоритм - как посылать IR команду

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

file_get_contents("http://192.168.11.214/sec/?pt=12&ir=00FDD22D&irp0=9000&irp1=4500&irp2=560&irp3=1600&irp4=560"); 
каждые 3 секунды, пока состояние кнопки IR_Ch_UP_Run на сцене IR_RCU = RUN

Заранее спасибо!

Евгений.
1. Создать объект, создать свойство, создать метод.
2. Прописать код метода:

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

If (gg('Имя_объекта.Имя_свойства') == 1) {
file_get_contents("http://192.168.11.214/sec/?pt=12&ir=00FDD22D&irp0=9000&irp1=4500&irp2=560&irp3=1600&irp4=560");
SetTimeOut("myTimer_55","callMethod('Имя_объекта.Имя_метода');",3);
} else {
return "";
}
3. В состоянии кнопки на сцене RUN вписать код PHP:

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

sg('Имя_объекта.Имя_свойства', 0);
4. Для состояния RUN сослаться на Объект.Свойство и выставить условие отображения "=1".
5. В состоянии кнопки на сцене STOP вписать код PHP:

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

sg('Имя_объекта.Имя_свойства', 1);
cm('Имя_объекта.Имя_метода');
6. Для состояния STOP сослаться на Объект.Свойство и выставить условие отображения "<>1".
За это сообщение автора Chainik поблагодарили (всего 2):
xor (Ср мар 11, 2020 10:38 pm) • zevplus (Сб мар 14, 2020 10:37 am)
Рейтинг: 2.33%
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 633 раза

Re: Таймер в условно бесконечном цикле

Сообщение xor » Ср мар 11, 2020 10:49 pm

Chainik писал(а):
Ср мар 11, 2020 5:01 pm
...
1. Создать объект, создать свойство, создать метод.
...
можно без доп. объекта, обойдясь скриптом в две строки, в котором первая строка
file_get_contents("http://192.168.11.214/sec/?pt=12&ir=00F ... 0&irp4=560");
а последняя - таймер с запуском этого же скрипта с 3-х секундной задержкой, в ран кнопки запуск этого скрипта, в стоп - cleartimeout('имя_таймера_из_скрипта');
единственно, стоп придется неск. раз, возможно, нажать, чтобы попасть во время (3с-время выполнения file_get_contents) но если это для отладки, а не пост. решение, то сойдёт)
За это сообщение автора xor поблагодарили (всего 2):
Chainik (Ср мар 11, 2020 10:51 pm) • zevplus (Сб мар 14, 2020 10:37 am)
Рейтинг: 2.33%
zevplus
Сообщения: 33
Зарегистрирован: Чт авг 02, 2018 1:40 pm
Благодарил (а): 11 раз
Поблагодарили: 0

Re: Таймер в условно бесконечном цикле

Сообщение zevplus » Чт мар 12, 2020 11:13 am

Спасибо!

Сегодня попробую!

Евгений.
zevplus
Сообщения: 33
Зарегистрирован: Чт авг 02, 2018 1:40 pm
Благодарил (а): 11 раз
Поблагодарили: 0

Re: Таймер в условно бесконечном цикле

Сообщение zevplus » Чт мар 12, 2020 1:18 pm

Chainik писал(а):
Ср мар 11, 2020 5:01 pm

1. Создать объект, создать свойство, создать метод.
Можете посоветовать - в каком классе создавать этот объект (IR_Sender)? или класс тоже нужно создать? у меня есть классы из установки "по умолчанию" - , например, SDevices

С уважением, Евгений.
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: Таймер в условно бесконечном цикле

Сообщение Chainik » Чт мар 12, 2020 3:07 pm

zevplus писал(а):
Чт мар 12, 2020 1:18 pm
Chainik писал(а):
Ср мар 11, 2020 5:01 pm

1. Создать объект, создать свойство, создать метод.
Можете посоветовать - в каком классе создавать этот объект (IR_Sender)? или класс тоже нужно создать? у меня есть классы из установки "по умолчанию" - , например, SDevices

С уважением, Евгений.
Я бы на вашем месте создал новый класс. Это (создание нового класса) вас в дальнейшем ни к чему не обязывает. Просто будете овладевать базовым функционалом системы. А заодно избежите неочевидных для пользователя вещей, которые могут подстерегать в уже существующих классах.
Так что инструкцию можно было начать так:
1. Создать класс, создать объект, создать свойство, создать метод. :)
За это сообщение автора Chainik поблагодарил:
zevplus (Сб мар 14, 2020 10:37 am)
Рейтинг: 1.16%
zevplus
Сообщения: 33
Зарегистрирован: Чт авг 02, 2018 1:40 pm
Благодарил (а): 11 раз
Поблагодарили: 0

Re: Таймер в условно бесконечном цикле

Сообщение zevplus » Чт мар 12, 2020 4:32 pm

Chainik писал(а):
Ср мар 11, 2020 5:01 pm
...
Так что инструкцию можно было начать так:
1. Создать класс, создать объект, создать свойство, создать метод. :)
Спасибо - Буду учить мат часть...

Евгений
zevplus
Сообщения: 33
Зарегистрирован: Чт авг 02, 2018 1:40 pm
Благодарил (а): 11 раз
Поблагодарили: 0

Re: Таймер в условно бесконечном цикле

Сообщение zevplus » Пт мар 13, 2020 6:23 pm

Всем большое спасибо!

Все получилось!

Единственное, что изменил - свойства и метод сделал для класса а не для объекта (у меня объектов несколько).

Как развитие - добавил свойство "счетчик" и теперь каналы переключаются 30 раз вверх и 30 раз вниз пока не нажата кнопка Stop.

Если кому интересно - готов все расписать по шагам...

Евгений.
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: Таймер в условно бесконечном цикле

Сообщение Chainik » Пт мар 13, 2020 7:37 pm

zevplus писал(а):
Пт мар 13, 2020 6:23 pm
Всем большое спасибо!

Все получилось!
...
Ну отлично!
А для "спасибо" есть специальная кнопочка (в виде жеста, выражающего одобрение). :)
За это сообщение автора Chainik поблагодарил:
zevplus (Сб мар 14, 2020 10:38 am)
Рейтинг: 1.16%
Аватара пользователя
vitosmaxim80sad145
Сообщения: 148
Зарегистрирован: Сб июл 07, 2018 12:48 am
Откуда: Днепр
Благодарил (а): 100 раз
Поблагодарили: 1 раз

Re: Таймер в условно бесконечном цикле

Сообщение vitosmaxim80sad145 » Пн авг 31, 2020 5:28 pm

zevplus писал(а):
Пт мар 13, 2020 6:23 pm
Всем большое спасибо!

Все получилось!

Единственное, что изменил - свойства и метод сделал для класса а не для объекта (у меня объектов несколько).

Как развитие - добавил свойство "счетчик" и теперь каналы переключаются 30 раз вверх и 30 раз вниз пока не нажата кнопка Stop.

Если кому интересно - готов все расписать по шагам...

Евгений.
Да было бы не плохо расписать но наверное не 30 каналов а просто вверх пока не остановил .за ранее спасибо
Ответить