Шаблоны поведения для новичков

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
xor
Сообщения: 2036
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 283 раза
Поблагодарили: 628 раз

Re: Шаблоны поведения для новичков

Сообщение xor » Пт дек 28, 2018 12:16 am

Ну, если и менять дивайдер "и", то, например, на "и ещё" или ", потом" или ", а так же" без потери смысловой нагрузки))
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Шаблоны поведения для новичков

Сообщение tarasfrompir » Пт дек 28, 2018 12:20 am

xor писал(а):
Пт дек 28, 2018 12:16 am
Ну, если и менять дивайдер "и", то, например, на "и ещё" или ", потом" или ", а так же" без потери смысловой нагрузки))
а если ты скажеш - включи свет в зале и еще включи свет в кухне ?
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
xor
Сообщения: 2036
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 283 раза
Поблагодарили: 628 раз

Re: Шаблоны поведения для новичков

Сообщение xor » Пт дек 28, 2018 8:08 pm

Так в этом и фишка. Дивайдер И определён для выполнения нескольких команд. Он делит длинное предложение на одиночные команды. Если его заменить на И ЕЩЁ, то одиночные И не будут делить и можно обрабатывать шаблонами фразы, где это встречается. А если сказать включи свет на кухне И ЕЩЁ выключи свет в коридоре, то выполнятся две эти команды за раз. Я так думаю, но надо проверить

Отправлено с моего Redmi 4X через Tapatalk

Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Шаблоны поведения для новичков

Сообщение tarasfrompir » Пт дек 28, 2018 8:37 pm

xor писал(а):
Пт дек 28, 2018 8:08 pm
Так в этом и фишка. Дивайдер И определён для выполнения нескольких команд. Он делит длинное предложение на одиночные команды. Если его заменить на И ЕЩЁ, то одиночные И не будут делить и можно обрабатывать шаблонами фразы, где это встречается. А если сказать включи свет на кухне И ЕЩЁ выключи свет в коридоре, то выполнятся две эти команды за раз. Я так думаю, но надо проверить

Отправлено с моего Redmi 4X через Tapatalk
я думал тебе он не нужен вообще
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
LouD
Сообщения: 24
Зарегистрирован: Вс ноя 03, 2019 4:26 pm
Благодарил (а): 9 раз
Поблагодарили: 0

Re: Шаблоны поведения для новичков

Сообщение LouD » Чт май 07, 2020 8:30 am

Доброго времени суток!
Про шаблоны хочу уточнить..тоже с многоуровневыми, с контекстами - чтобы MJD умнее был. Вот тут нашел https://connect.smartliving.ru/profile/ ... terns.html некоторые идеи. Вот только применяю, а на первом же уровне затык: простым русским языком говорит мне "-recognize Что именно?" - то есть система реагирует на первое слово (раз шаблон вызывается), но дальше ничего :( :?:

Изображение
и до уточняющего вопроса уже не доходит (пробовал и просто "курс" говорить, и со словом-активатором вначале)
Изображение
Аватара пользователя
xor
Сообщения: 2036
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 283 раза
Поблагодарили: 628 раз

Re: Шаблоны поведения для новичков

Сообщение xor » Чт май 07, 2020 4:07 pm

LouD писал(а):
Чт май 07, 2020 8:30 am
Доброго времени суток!
Про шаблоны хочу уточнить..тоже с многоуровневыми, с контекстами - чтобы MJD умнее был. Вот тут нашел https://connect.smartliving.ru/profile/ ... terns.html некоторые идеи. Вот только применяю, а на первом же уровне затык: простым русским языком говорит мне "-recognize Что именно?" - то есть система реагирует на первое слово (раз шаблон вызывается), но дальше ничего :( :?:


и до уточняющего вопроса уже не доходит (пробовал и просто "курс" говорить, и со словом-активатором вначале)
ваша ссылка с идеями, к сожалению, устарела. шаблоны в последнее время "доработали" и так пользоваться ими уже нельзя. по крайней мере, многоуровневые включи/выключи свет/тв/радио на кухне/в спальне не работают(
ну а в вашем случае - попробуйте галку снять Глобальный контекст у Какой.
у меня работает отдельно включи свет/тв/радио на кухне/в спальне и выключи свет/тв/радио на кухне/в спальне
Logrus
Сообщения: 2077
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 456 раз

Re: Шаблоны поведения для новичков

Сообщение Logrus » Чт май 07, 2020 7:20 pm

использовать не более двух уровней, на втором оригинал есть если не склероз, но не пользуюсь им
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Alien_Alloys
Сообщения: 1
Зарегистрирован: Пн апр 12, 2021 2:35 pm
Благодарил (а): 0
Поблагодарили: 5 раз

Re: Шаблоны поведения для новичков

Сообщение Alien_Alloys » Пн апр 12, 2021 5:10 pm

Lerych писал(а):
Вт ноя 06, 2018 10:05 pm
Господа, помогите реализовать шаблон поведения:
Я: "Покажи сцену ..."
Алиса: "Как пожелаете" и открывает созданную ранее сцену (например, с видео с камеры наблюдения), желательно во всплывающем окне.
Как реализовать через элемент интерфейса нашёл, а вот как скриптом не нашел.
Спасибо!
Описания способов решения такой задачи я не нашел. По этому предлагаю собственный вариант.
Предвосхищая комментарии типа «фу... да кто так делает», поясню, что в теме программирования я не имею ни навыков ни достаточно глубоких знаний. И лишь благодаря творению Сергея и карантину мне удалось приобщиться к темам за которые я ранее не брался. Однако, в процессе автоматизации квартиры, возникла проблема: вызова сцен голосом.
Когда я добрался до нужных разделов справочника по PHP - первым позывом было использовать сценарий: header( "Location: http://192.168.1.101/popup/scenes/14.html" ); но в сценах это не работает. На мой не искушенный взгляд, не может работать т. к. скрипт PHP выполняется на сервере (и здесь тесты работают), а запрос приходит с браузера терминала. По этому PHP понятия не имеет на какой машине, в каком браузере и в какой вкладке нужно открывать прописанную страницу.
Поскрипев мозгой, я нашел решение работающее для моей конфигурации, но оно корявое. Уверен, что приличные люди предложат, что то более приличное. Постараюсь описать ситуацию на максимально конкретном примере.
Итак задача: при помощи голосовой команды вызывать на экран заданную HTML сцену (при этом не плодить в браузере неактивные вкладки, а открывать новую страницу в замен ранее открытой).
Конфигурация оборудования: в прихожей расположен ящик с коммуникациями, в нем же установлен сервер (образ MajorDomo установлен на Raspberry pi+колонки +микрофон +дисплей). Этот же компьютер выполняет роль терминала– картинка и общение выводится по средствам браузера Cromium.
Решение задачи:
1. Создаем класс — [Display], со свойством [Address]. (в моем случае есть еще свойство [Status] — отвечающее за подсветку монитора, но к этой теме оно не относится).
2. Создаем объект этого класса, что бы не изобретать оригинальное имя, объект то же будет [Display]. Свойство [Address] делаем = 0.
3. Создаем шаблон поведения — [покажи], в шаблоне пишем (покажи), на против (использовать как контекст) ставим галочку.
4. Создаем шаблон запроса требуемой сцены — на пример шаблон [часы], (Доступно в контексте [покажи]), в шаблоне пишем (часы|будильник|время). Прописываем код:
setGlobal('Display.Address',"http://192.168.1.101/popup/scenes/14.html");//адресная строка сцены часов
//setGlobal('Display.Status',1);// у меня это свойство отвечает за подсветку монитора
say("Сцена с часами",2);
5. Во всех сценах из которых мы планируем переходить по ссылке на другие страницы нужно создать элемент [Транзит] тип — HTML, создаем состояние [default] и прописываем в коде скрипт:
<script>
var addr='%Display.Address%';
if (addr!=0) {
setGlobal('Display.Address',0);
location.href=addr;
}
</script>

Теперь при голосовой команде «Алиа: покажи часы» браузер вместо страници содержащей элемент [Транзит] откроет страницу прописанную в шаблоне поведения.
Недостатков у такого решения масса. Самый очевидный — это отсутствие избирательности: меняются все открытые страницы на всех терминалах (на ПК и на смартфоне). Кроме того, смущает необходимость создания на всех сценах «костыля» в виде элемента [Транзит]. Так что есть о чем подумать.
За это сообщение автора Alien_Alloys поблагодарили (всего 5):
u885 (Пн апр 12, 2021 5:36 pm) • Chainik (Пн апр 12, 2021 8:17 pm) • Lerych (Пн апр 12, 2021 10:25 pm) • xor (Сб апр 17, 2021 10:13 pm) • Vairen (Вт июн 08, 2021 12:43 pm)
Рейтинг: 5.81%
Vairen
Сообщения: 13
Зарегистрирован: Чт июн 03, 2021 1:07 pm
Благодарил (а): 7 раз
Поблагодарили: 0

Re: Шаблоны поведения для новичков

Сообщение Vairen » Вт июн 08, 2021 3:20 pm

Alien_Alloys писал(а):
Пн апр 12, 2021 5:10 pm
Поскрипев мозгой, я нашел решение работающее для моей конфигурации, но оно корявое. Уверен, что приличные люди предложат, что то более приличное...
Подскажите, как подружить Ваш кусок кода с кодом возврата на главную страницу от сюда https://mjdm.ru/forum/viewtopic.php?f=4 ... 63#p100463
Как бы я не скрипел могой я не смогу подружить эти два куска кода!
Ответить