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

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

Модератор: immortal

Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Сб янв 23, 2016 5:43 pm

triada13 писал(а):nick7zmail, еще один недостаток данного шаблона, нельзя активировать более одного таймера, последний затирает предыдущий
Ну лично у меня такой цели и не было))) с несколькими таймерами ранее был шаблон... его можно переделать
Шаблон:Показать
(Н|н)апомни через (\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("Постараюсь не забыть!"); 
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
triada13
Сообщения: 242
Зарегистрирован: Вт мар 11, 2014 8:36 pm
Откуда: Челябинск
Благодарил (а): 107 раз
Поблагодарили: 7 раз

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

Сообщение triada13 » Сб янв 23, 2016 5:56 pm

nick7zmail писал(а):
triada13 писал(а):nick7zmail, еще один недостаток данного шаблона, нельзя активировать более одного таймера, последний затирает предыдущий
Ну лично у меня такой цели и не было))) с несколькими таймерами ранее был шаблон... его можно переделать
Шаблон:Показать
(Н|н)апомни через (\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("Постараюсь не забыть!");
Надо сначала этот добить.
Majordomo на Orange Pi Zero.
Аватара пользователя
m-malva
Сообщения: 291
Зарегистрирован: Чт фев 26, 2015 1:38 am
Откуда: Санкт-Петербург
Благодарил (а): 16 раз
Поблагодарили: 66 раз
Контактная информация:

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

Сообщение m-malva » Вт июн 07, 2016 3:28 pm

getAvailableActions перестал работать

Шаблон "помощь (использовать как контекст)" находится в "Общий контекст (глобальный контекст)"
СпойлерПоказать

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

say('Я хочу получить конкретную команду.');

$actions=$this->getAvailableActions();
$total=count($actions);
for($i=0;$i<$total;$i++) {
 say($actions[$i]);
}
 

если снять галку "использовать как контекст" с шаблона "помощь" то возвращает верхний список.
если вернуть галку "использовать как контекст" то ноль
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

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

Сообщение Gelezako » Пн июн 13, 2016 9:28 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("Постараюсь не забыть!"); 
воспользовался вашей напоминалкой, но вот одна проблема, я говорю команду:
"Напомни через одну минуту позвонить"
и работать не будет т.к. нужно говорить "один" т.е. по грузински :)
"напомни через один минуту позвонить"
ну и та же проблема с "оду" и "два". Вроде для других чисел у нас нет видоизменений.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
Аватара пользователя
m-malva
Сообщения: 291
Зарегистрирован: Чт фев 26, 2015 1:38 am
Откуда: Санкт-Петербург
Благодарил (а): 16 раз
Поблагодарили: 66 раз
Контактная информация:

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

Сообщение m-malva » Вт июн 14, 2016 11:41 am

Gelezako писал(а):
LocalBrownie писал(а):
"Напомни через одну минуту позвонить"
и работать не будет т.к. нужно говорить "один" т.е. по грузински :)
"напомни через один минуту позвонить"
ну и та же проблема с "оду" и "два". Вроде для других чисел у нас нет видоизменений.
а что мешает на "одну минуту" создать отдельный шаблон?
T-REX-XP
Сообщения: 174
Зарегистрирован: Вт июн 16, 2015 10:54 pm
Благодарил (а): 16 раз
Поблагодарили: 32 раза

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

Сообщение T-REX-XP » Вт июн 14, 2016 11:53 am

Gelezako писал(а):
LocalBrownie писал(а):Рабочая мультинапоминалка:
воспользовался вашей напоминалкой, но вот одна проблема, я говорю команду:
"Напомни через одну минуту позвонить"
и работать не будет т.к. нужно говорить "один" т.е. по грузински :)
"напомни через один минуту позвонить"
ну и та же проблема с "оду" и "два". Вроде для других чисел у нас нет видоизменений.
Попробуйте заюзать phpMorphy библиотеку. Ее поддержку добавили в MDM. Вот ссылка на пример распознавания http://phpmorphy.sourceforge.net/dokuwi ... ct_by_db=1
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

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

Сообщение Vovix » Сб июн 18, 2016 10:08 am

Для общей информации совет: посмотрите CONNECT'ы у первой десятки например, это вам поможет разобраться, в т.ч. в шаблонах. Ну и можно взять от туда необходимое... у меня например :-)
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Anton_kulibin
Сообщения: 354
Зарегистрирован: Вт окт 09, 2012 8:05 am
Откуда: Луза Кировская обл. Россия
Благодарил (а): 20 раз
Поблагодарили: 35 раз

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

Сообщение Anton_kulibin » Пн июл 25, 2016 9:04 pm

Подскажите где посмотреть. Настроил пару шаблонов поведения из командной строки срабатывает, но если воспользоваться голосовой активацией распознавалка голоса отправляет команду с заглавной буквы,т.е. если покомандно общаться то получается так
20:57 Алиса: Включаю свет у входа
20:57 User: у входа
20:57 Алиса: Где?
20:57 User: свет
20:57 Алиса: Что именно включить?
20:57 User: включи

если же сразу предложением(голосовым) то
21:01 Алиса: Непонятно что со светом у входа: Включи свет у входа Включи свет у входа Включи свет у входа Включи свет у входа
21:01 User: Включи свет у входа

Проблема. Как побороть заглавную букву вначале предложения?
Linux версия. Ubuntu Server 16.04+2xArduinoMega+Eth_GW_Mysensors_10node+WeatherStation+Xiaomi
CONNECT
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 633 раза

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

Сообщение xor » Пн июл 25, 2016 9:11 pm

1 Вроде, давно сделали шаблоны регистронезависимыми.
У меня и так работает:

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

21:16 Алиса: Что именно?
21:16 Сергей: ВКлюЧи


21:19 Алиса: Включаю свет у печки
21:19 Сергей: ВКЛЮчи сВЕт У ПечкИ
21:17
2 Попробуйте переписать типа (Н|н)апомни через (\d+) минут(|у|ы) (.+)
Последний раз редактировалось xor Пн июл 25, 2016 9:20 pm, всего редактировалось 1 раз.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Пн июл 25, 2016 9:17 pm

Регистронезависимыми не делали вроде. У меня такая же фигня. Пришлось также через вертикальную черту разные варианты выставлять.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить