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

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

Модератор: immortal

Anton_kulibin
Сообщения: 354
Зарегистрирован: Вт окт 09, 2012 8:05 am
Откуда: Луза Кировская обл. Россия

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

Сообщение Anton_kulibin »

Хм уже инетересней
закинул в шаблон (Включи|Выключи|включи|выключи)
Результат
21:20 Алиса: Что именно Включить?
21:20 Антон: Включи

21:25 Алиса: Что именно Выключить?
21:25 Антон: Выключи

Получается как бы работает
Тестим дальше

21:27 Алиса: Непонятно что со светом у входа: Выключи свет Выключи свет Выключи свет у входа
21:27 Антон: у входа
21:27 Алиса: Где?
21:27 Антон: Выключи свет

и еще раз

21:30 Алиса: Непонятно что со светом у входа: Включи свет у входа Включи свет у входа Включи свет у входа Включи свет у входа
21:30 Антон: Включи свет у входа

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

Код вот такой 
if (preg_match('/включи/is',$original)) {
  say('Включаю свет у входа');
  sg("svetUlica2.status",1);
} elseif (preg_match('/выключи/is',$original)) {
  say('Выключаю свет у входа');
  sg("svetUlica2.status",0);
} else {
  say('Непонятно что со светом у входа: '.$original);
}
А вот так сработало
21:32 Алиса: Включаю свет у входа
21:32 Антон: включи свет у входа


UPD: xor и nick7zmail Благодаря Вашим коннектам разобрался.
Linux версия. Ubuntu Server 16.04+2xArduinoMega+Eth_GW_Mysensors_10node+WeatherStation+Xiaomi
CONNECT
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

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

Сообщение xor »

А если везде /is поменять на регистронезависимое /isu ?
У меня так:

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

if (preg_match('/включи/isu',$original)) {
  if(gg('DarknessMode.active')==0){ 
   say('Вроде, светло ещё',2);
  }
  say('Включаю свет в саду',2);
  cm('nl4.turnon');
} elseif (preg_match('/выключи/isu',$original)) {
  say('Выключаю свет в саду',2);
  cm('nl4.turnoff');
} else {
  say('Непонятно что со светом в саду: ',2);
}
Anton_kulibin
Сообщения: 354
Зарегистрирован: Вт окт 09, 2012 8:05 am
Откуда: Луза Кировская обл. Россия

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

Сообщение Anton_kulibin »

xor писал(а):А если везде /is поменять на регистронезависимое /isu ?
У меня так:

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

if (preg_match('/включи/isu',$original)) {
  if(gg('DarknessMode.active')==0){ 
   say('Вроде, светло ещё',2);
  }
  say('Включаю свет в саду',2);
  cm('nl4.turnon');
} elseif (preg_match('/выключи/isu',$original)) {
  say('Выключаю свет в саду',2);
  cm('nl4.turnoff');
} else {
  say('Непонятно что со светом в саду: ',2);
} 
Да именно это и помогло)
Linux версия. Ubuntu Server 16.04+2xArduinoMega+Eth_GW_Mysensors_10node+WeatherStation+Xiaomi
CONNECT
Аватара пользователя
blackangel
Сообщения: 148
Зарегистрирован: Пт окт 21, 2016 2:00 pm

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

Сообщение blackangel »

Всем привет! Почитал форум и все равно остался вопрос, поскольку я только начинаю осваивать, помогите разобраться:

Что хочу: реализовать функция оповещения времени в независимости от интерпретации, т.е. как написать в шаблоне что бы в не зависимости от слов до и или после слова "время, времении", Алиса сказала время.

Пример: Я говорю: Алиса, скажи пожалуйста сколько сейчас время(времени)
или Алиса, будь добра сказать сколько сейчас время(времени)
или Алиса, как мне узнать сколько сейчас время(времени)



вот и надо чтобы Алиса все что до слова время/времени пропускала что-ли.... в общем услышав в любой вариации предложения, слово ВРЕМЯ/ВРЕМЕНИ выполнила функцию=)


P.S. и еще такой вопрос, я так понимаю сказав например: Алиса привет. Яндекс (у меня через яндекс) возвращает xml со словами "Алиса, привет" ну или как то так.... поправьте если не так. Так вот а где этот файл лежит, хотелось бы увидеть что яндекс присылает.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

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

Сообщение nick7zmail »

А в чем проблема?
Шаблон создаете

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

врем
если этот вариант не конфликтует ни с чем...ну либо что-то типа

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

(Время|Времени|время|времени)
...и код шаблона

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

say(timenow());
или как там время запрашивается....
blackangel писал(а): P.S. и еще такой вопрос, я так понимаю сказав например: Алиса привет. Яндекс (у меня через яндекс) возвращает xml со словами "Алиса, привет" ну или как то так.... поправьте если не так. Так вот а где этот файл лежит, хотелось бы увидеть что яндекс присылает.
"сказав" - это куда? Как у вас распознование речи настроено?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
blackangel
Сообщения: 148
Зарегистрирован: Пт окт 21, 2016 2:00 pm

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

Сообщение blackangel »

nick7zmail писал(а):А в чем проблема?
Шаблон создаете

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

врем
если этот вариант не конфликтует ни с чем...ну либо что-то типа

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

(Время|Времени|время|времени)
...и код шаблона

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

say(timenow());
или как там время запрашивается....

"сказав" - это куда? Как у вас распознование речи настроено?
на данный момент через плагин хрома. Жаль что на ios не сделать((( или есть уже решение?

насчет выше описанного метода: попробую (спросил для того что бы сделать универсальный метод не завязанный на определенную комбинацию)
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

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

Сообщение nick7zmail »

blackangel писал(а): на данный момент через плагин хрома. Жаль что на ios не сделать((( или есть уже решение?
В таком случае распознавание, скорее всего, происходит через гугл. Схема примерно такая - движок распознавания пишет аудиофайл с вашим голосом, делает гет запрос, в котором передается этот файл, и в ответ на который приходит фраза после распознавания. Гет запросы - вроде бы никуда не кэшируются, выводятся прямо на страничку. Аудио-файл скорее всего можете подцепить из временных папок, но оно вам врят ли надо.

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

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

Сообщение blackangel »

еще вопросик... а дин донг который в начале, его можно как то отключить? заменить?
LocalBrownie
Сообщения: 66
Зарегистрирован: Пт июл 11, 2014 11:08 am

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

Сообщение LocalBrownie »

Отключается и меняется в настройках системы. Но глобально.
Аватара пользователя
m-malva
Сообщения: 291
Зарегистрирован: Чт фев 26, 2015 1:38 am
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение m-malva »

Друзья, дико туплю. Помогите!

Есть шаблон:
V использовать как контекс
Название: Для начала произнесите имя Алиса
"(А|а)лиса|(С|с)имка|(Ф|ф)иксики"
код:

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

say('Слушаю внимательно.',5);
Время ожидания: 20
По истечении времени выполнить:

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

say("Ну что вы молчите?",5);
и есть
Общий контекст
V использовать как контекст
V глобальный контекст


в общем контексте есть "Помощь" как у всех.
так вот при вызове помощи в контексте "Алиса"
выводится список шаблонов для Общий контекст а не для Для начала произнесите имя Алиса
Ответить