Страница 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 писал(а): Не получается ничего, таймер создается, но действие выполняется тут же. :cry:
А попробуйте добавить в код что-то типа
say($matches[1]); // должно сказать что оно видит в этом $matches[1]
Если там вдруг ноль, то "тут же" и должно быть...

Re: Контексты в шаблонах поведения

Добавлено: Вт янв 19, 2016 12:31 pm
LocalBrownie
Вытащу на экран оба шаблона сразу и буду сравнивать. :(
Починилось! :o
Сидел, тупил в оба шаблона. Устал. Грохнул напоминалку вообще и создал заново.
Работает!

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 писал(а): Не получается ничего, таймер создается, но действие выполняется тут же. :cry:
В первую очередь проверьте что в таймере на выполнение отправлятся хочет, во-вторых поставьте галочки - не искать другие шаблоны при совпадении, и не реагировать на системные события (на скрине они обе есть). Домой приду - покажу как должен выглядеть создавшийся таймер.
Галочки стоят, обе.
SPOILERSPOILER_SHOW
вот то что появляется в XRay в таймерах:
SPOILERSPOILER_SHOW

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

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');
вот скрин этого:
SPOILERSPOILER_SHOW
вот скрин истории сообщений:
SPOILERSPOILER_SHOW

Re: Контексты в шаблонах поведения

Добавлено: Пт янв 22, 2016 8:11 pm
nick7zmail
triada13 писал(а): Не получается ничего, таймер создается, но действие выполняется тут же.
Самое главное забыл...код шаблона то выложи, чтобы проверить))

Re: Контексты в шаблонах поведения

Добавлено: Пт янв 22, 2016 9:22 pm
triada13
nick7zmail писал(а):
triada13 писал(а): Не получается ничего, таймер создается, но действие выполняется тут же.
Самое главное забыл...код шаблона то выложи, чтобы проверить))
Приоритет повысил, и вроде пошло, но не далеко. Все предложение не помещается:
" через 5 минут выключи малый свет на кухне"
влезает только: " через 5 минут выключи малый свет", соответственно через 5 минут Алиса задает уточняющий вопрос "выключить где?", и естественно ответа не дожидается, что приводит к сбросу контекста.
Код шаблона:
SPOILERSPOILER_SHOW

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

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, еще один недостаток данного шаблона, нельзя активировать более одного таймера, последний затирает предыдущий