Страница 11 из 42
Re: Контексты в шаблонах поведения
Добавлено: Вт янв 19, 2016 10:00 am
nick7zmail
LocalBrownie писал(а):
Ну грешен, да!

Выкинул две строчки с таймингом минут 5 уже после всего этого безобразия. Там было про "твою мать" и "неизвестную команду"
Хм...у меня подобный шаблон отлично работает....а у вас случайно
Напомни через (\d+) минут (.+)
Не указан как еще 1 контекст? По идее должен быть указан как обычная команда...если как контекст - либо уберите, либо так же таймауты на 1сек.
И не помешало бы перезагрузить систему...так...на всякий случай =D....а то были у меня ситуации когда что-то не срабатывало после различных изменений - а после перезагрузки начинало работать.
Re: Контексты в шаблонах поведения
Добавлено: Вт янв 19, 2016 10:41 am
LocalBrownie
nick7zmail писал(а):
Хм...у меня подобный шаблон отлично работает....а у вас случайно
Во-во... Я ж говорю - мистика какая-то!
Напоминалка стоит как команда обычная.
Самое интересное, я вчера таки проверил свой другой шаблон. Тот который
"Алиса ==> Свет ==> комната ==> центр ==> (\d+)( процентов|%)"
Т. есть я прохожу через шаблон "Алиса" в обоих случаях, только второй случай еще более разветвлённый и ничего, всё работает как часики:
20:33 Андрей: Алиса свет комната центр 20%
20:33 Алиса: Устанавливаю на 20 процентов.
20:33 Андрей: Алиса свет комната центр 25%
20:33 Алиса: Устанавливаю на 25 процентов.
... И так "Даканца" без сбоев или каких-то повторов.
20:34 Андрей: Алиса свет комната центр выключить
20:34 Алиса: Выключаю центральные светильники в комнате.
МД перезагружал. Комп, правда, давненько... Да и вряд-ли поможет. Второй шаблон (со светом) работает ведь.
Вытащу на экран оба шаблона сразу и буду сравнивать.

Re: Контексты в шаблонах поведения
Добавлено: Вт янв 19, 2016 10:50 am
LocalBrownie
triada13 писал(а):
Не получается ничего, таймер создается, но действие выполняется тут же.

А попробуйте добавить в код что-то типа
say($matches[1]); // должно сказать что оно видит в этом $matches[1]
Если там вдруг ноль, то "тут же" и должно быть...
Re: Контексты в шаблонах поведения
Добавлено: Вт янв 19, 2016 12:31 pm
LocalBrownie
Вытащу на экран оба шаблона сразу и буду сравнивать.

Починилось!
Сидел, тупил в оба шаблона. Устал. Грохнул напоминалку вообще и создал заново.
Работает!
11:22 Андрей: Алиса Напомни через 7 минут тест номер 3
11:22 Алиса: Принято напоминание - через 7 минут напомнить: тест номер 3
11:23 Андрей: Алиса Напомни через 6 минут тест номер 2
11:23 Алиса: Принято напоминание - через 6 минут напомнить: тест номер 2
11:23 Андрей: Алиса Напомни через 5 минут тест номер 1
11:23 Алиса: Принято напоминание - через 5 минут напомнить: тест номер 1
Осталось только переделать код для мультинапоминалки. В прошлом имеется логическая ошибка.
Доделаю - выложу. Мож кому пригодится тоже.
Re: Контексты в шаблонах поведения
Добавлено: Вт янв 19, 2016 1:21 pm
LocalBrownie
Рабочая мультинапоминалка:
Шаблон:
(Н|н)апомни через (\d+) минут(|у|ы) (.+)
Код: Выделить всё
$rnumber = 1;
while (1) {
$rname = "Reminder_$rnumber";
if (!timeOutExists($rname)) break;
$rnumber++;
}
setTimeOut($rname,'say("Напоминаю: '.$matches[4].'");',$matches[2]*60);
say("Принято напоминание - напомнить через $matches[2] минут: $matches[4]");
say("Постараюсь не забыть!");
Re: Контексты в шаблонах поведения
Добавлено: Вт янв 19, 2016 5:29 pm
triada13
nick7zmail писал(а):triada13 писал(а):
Не получается ничего, таймер создается, но действие выполняется тут же.

В первую очередь проверьте что в таймере на выполнение отправлятся хочет, во-вторых поставьте галочки - не искать другие шаблоны при совпадении, и не реагировать на системные события (на скрине они обе есть). Домой приду - покажу как должен выглядеть создавшийся таймер.
Галочки стоят, обе.
вот то что появляется в XRay в таймерах:
Код: Выделить всё
getURL('http://localhost/command.php?qry=%D0%B2%D1%8B%D0%BA%D0%BB%D1%8E%D1%87%D0%B8+%D0%BC%D0%B0%D0%BB%D1%8B%D0%B9+%D1%81%D0%B2%D0%B5%D1%82+%D0%BD%D0%B0');
вот скрин этого:
вот скрин истории сообщений:
Re: Контексты в шаблонах поведения
Добавлено: Пт янв 22, 2016 8:11 pm
nick7zmail
triada13 писал(а):
Не получается ничего, таймер создается, но действие выполняется тут же.
Самое главное забыл...код шаблона то выложи, чтобы проверить))
Re: Контексты в шаблонах поведения
Добавлено: Пт янв 22, 2016 9:22 pm
triada13
nick7zmail писал(а):triada13 писал(а):
Не получается ничего, таймер создается, но действие выполняется тут же.
Самое главное забыл...код шаблона то выложи, чтобы проверить))
Приоритет повысил, и вроде пошло, но не далеко. Все предложение не помещается:
" через 5 минут выключи малый свет на кухне"
влезает только: " через 5 минут выключи малый свет", соответственно через 5 минут Алиса задает уточняющий вопрос "выключить где?", и естественно ответа не дожидается, что приводит к сбросу контекста.
Код шаблона:
Код: Выделить всё
setTimeOut('timer', "getURL('http://192.168.0.101/command.php?qry=".urlencode($matches[3])."');", $matches[1]*60);
Re: Контексты в шаблонах поведения
Добавлено: Сб янв 23, 2016 9:12 am
nick7zmail
triada13 писал(а):
Приоритет повысил, и вроде пошло, но не далеко. Все предложение не помещается:
" через 5 минут выключи малый свет на кухне"
влезает только: " через 5 минут выключи малый свет", соответственно через 5 минут Алиса задает уточняющий вопрос "выключить где?", и естественно ответа не дожидается, что приводит к сбросу контекста.
Про приоритет тоже подумал, когда шаблон создал и попробовал - срабатывал конечный шаблон сразу...а если повысить приоритет, чтобы сперва этот отрабатывал - то все ок.
На счет строки - хз. В urlencode ограничения такого маленького точно нет...может это у вас в системе? У меня на винде стоит - дак все нормально влазит. Ваш шаблон отлично отрабатывает.
Re: Контексты в шаблонах поведения
Добавлено: Сб янв 23, 2016 5:36 pm
triada13
nick7zmail, еще один недостаток данного шаблона, нельзя активировать более одного таймера, последний затирает предыдущий