Листинг каналов ТВ и остановка (голосом)
Модератор: immortal
- alekszaytsev@mail.ru
- Сообщения: 6
- Зарегистрирован: Чт апр 13, 2017 2:03 pm
- Благодарил (а): 0
- Поблагодарили: 0
- Контактная информация:
Листинг каналов ТВ и остановка (голосом)
Идея далеко не новая наверное , сказать "Алиса , полистай каналы" и что бы МЖДМ листал каналы на телевизоре , и самое главное при словах "Алиса стоп" останавливался. Я создал глобальную переменную и до начала листинга присваиваю ей значение 0 , затем создал шаблон поведения на слово "Стоп" с присваиванием этой переменной значения 1 , в цикле листинга сделал получение значения этой переменной до переключения на следующий канал и если 1 то остановка листинга (break). Так как останавливаться ни чего не хочет , в процессе дебага выявил что единица не передается внутрь цикла. Подскажите кто в курсе как решить, или может все проще чем я думал и давно есть готовое решение, то киньте ссылку пожалуйста...
- lanket
- Сообщения: 1168
- Зарегистрирован: Вт окт 14, 2014 11:27 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 260 раз
- Поблагодарили: 163 раза
Re: Листинг каналов ТВ и остановка (голосом)
А кто листатет каналы?alekszaytsev@mail.ru писал(а):Идея далеко не новая наверное , сказать "Алиса , полистай каналы" и что бы МЖДМ листал каналы на телевизоре , и самое главное при словах "Алиса стоп" останавливался. Я создал глобальную переменную и до начала листинга присваиваю ей значение 0 , затем создал шаблон поведения на слово "Стоп" с присваиванием этой переменной значения 1 , в цикле листинга сделал получение значения этой переменной до переключения на следующий канал и если 1 то остановка листинга (break). Так как останавливаться ни чего не хочет , в процессе дебага выявил что единица не передается внутрь цикла. Подскажите кто в курсе как решить, или может все проще чем я думал и давно есть готовое решение, то киньте ссылку пожалуйста...
То есть какойто проще вы даёте команду листать, можете сказать стоп. Какой проге , кому?
Отправлено с моего Redmi Note 3 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.



gitHub сырого модуля 2й версии

Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
- alekszaytsev@mail.ru
- Сообщения: 6
- Зарегистрирован: Чт апр 13, 2017 2:03 pm
- Благодарил (а): 0
- Поблагодарили: 0
- Контактная информация:
Re: Листинг каналов ТВ и остановка (голосом)
Листает скрипт управляющий Broadlinkом в котором прописано повторять отправку сигнала "Channel+" каждые 5 секунд (Листать не проблема , проблема остановить в нужном месте).
Шаблон поведения "Полистай каналы"
1. Прописывается глобальной переменной (ListStop) = 0
2. Начинаем цикл (for) бесконечный или конечный сколько каналов.
3. Пауза 4 сек.
4. Проверяем состояние ListStop , если = 1 то останавливаем цикл (break)
5. Отдаем команду Broadlinkу "Channel+"
Шаблон поведения "Стоп"
1. Прописывается глобальной переменной (ListStop) = 1
По идее все должно работать и во время переключения каналов если сказать "Стоп" состояние переменной изменяется , я проверял обновляя страницу. Но внутрь цикла это состояние не передается , пробовал 6. пунктом делать say ("Равно ListStop",2); что бы проговаривалось состояние переменной. И оно все время равно 0.
Шаблон поведения "Полистай каналы"
1. Прописывается глобальной переменной (ListStop) = 0
2. Начинаем цикл (for) бесконечный или конечный сколько каналов.
3. Пауза 4 сек.
4. Проверяем состояние ListStop , если = 1 то останавливаем цикл (break)
5. Отдаем команду Broadlinkу "Channel+"
Шаблон поведения "Стоп"
1. Прописывается глобальной переменной (ListStop) = 1
По идее все должно работать и во время переключения каналов если сказать "Стоп" состояние переменной изменяется , я проверял обновляя страницу. Но внутрь цикла это состояние не передается , пробовал 6. пунктом делать say ("Равно ListStop",2); что бы проговаривалось состояние переменной. И оно все время равно 0.
-
- Сообщения: 1465
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 262 раза
- Поблагодарили: 455 раз
Re: Листинг каналов ТВ и остановка (голосом)
А как вы получаете значение глобальной переменной ListStop внутри цикла? Так?
Код: Выделить всё
$value = gg('ListStop');
- alekszaytsev@mail.ru
- Сообщения: 6
- Зарегистрирован: Чт апр 13, 2017 2:03 pm
- Благодарил (а): 0
- Поблагодарили: 0
- Контактная информация:
- lanket
- Сообщения: 1168
- Зарегистрирован: Вт окт 14, 2014 11:27 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 260 раз
- Поблагодарили: 163 раза
Re: Листинг каналов ТВ и остановка (голосом)
Так может в этом и проблема.alekszaytsev@mail.ru писал(а):Листает скрипт управляющий Broadlinkом в котором прописано повторять отправку сигнала "Channel+" каждые 5 секунд (Листать не проблема , проблема остановить в нужном месте).
Шаблон поведения "Полистай каналы"
1. Прописывается глобальной переменной (ListStop) = 0
2. Начинаем цикл (for) бесконечный или конечный сколько каналов.
3...
Уже обсуждали проблемы долгоиграющих скриптов.
Гуру советуют таймерами пользоваться.
Может имеет смысл выполнять цикл запуском самого себя по таймеру?
Отправлено с моего Redmi Note 3 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.



gitHub сырого модуля 2й версии

Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
-
- Сообщения: 1465
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 262 раза
- Поблагодарили: 455 раз
Re: Листинг каналов ТВ и остановка (голосом)
Когда решал аналогичную по логике (но не по конечным действиям) задачу, у меня заработал вариант со скриптом, перезапускающим самого себя по таймеру. Помню, тоже пытался по-началу делать циклом, но что-то там не задалось...
- slgeo
- Сообщения: 551
- Зарегистрирован: Чт фев 05, 2015 2:35 pm
- Откуда: РнД
- Благодарил (а): 139 раз
- Поблагодарили: 74 раза
Re: Листинг каналов ТВ и остановка (голосом)
Со спутниковым ресивером на энигме проще и удобнее, называю сам канал и МД переключает, также и листаю командами "Список каналов","Вверх", "Вниз", "Отмена", "Программа передач". Пример реализации у меня в Connect-е.
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
CONNECT
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Листинг каналов ТВ и остановка (голосом)
ну во первых не
а
Во-вторых gg надо обязательно каждый раз в теле цикла делать.
Если не поможет, то проще реально с таймерами.
SetTimeOut(); функция, посмотрите по форуму примеры.
А для остановки clearTimeOut используйте.
Код: Выделить всё
$value = gg('ListStop');
Код: Выделить всё
$value = gg('Объект.ListStop');
Если не поможет, то проще реально с таймерами.
SetTimeOut(); функция, посмотрите по форуму примеры.
А для остановки clearTimeOut используйте.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".

>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
- alekszaytsev@mail.ru
- Сообщения: 6
- Зарегистрирован: Чт апр 13, 2017 2:03 pm
- Благодарил (а): 0
- Поблагодарили: 0
- Контактная информация:
Re: Листинг каналов ТВ и остановка (голосом)
slgeo писал(а):slgeo
Уважаемый slgeo я безумно рад что у Вас такой крутой ресивер , но переключение как у Вас у меня давно реализовано (и не нужен вообще ресивер , нужен источник IR Lirc в моем случае Broadlink). Мне простите просто влом постоянно говорить Можордомо номер канала или в "В верх","В низ".
Вопрос решен - сделано таймером