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

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

Модератор: immortal

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

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

Сообщение nick7zmail » Сб авг 22, 2015 1:24 pm

Итак...отвечу сам себе.
1) commandReceived отрабатывает при любой команде. Но в таком случае я не понял почему не отрабатывали методы voice_command после того как я создал шаблоны? Возможно при совпадении с шаблоном выполнение commandReceived прерывается.
2) да, из commandReceived можно снести все, если собираетесь пользоваться только шаблонами. Из за этого же кстати (возможно) возникала ситуация когда отрабатывал шаблон, но при этом возвращалась "Неизвестная команда" (кто-то про это писал). По крайней мере установка задачи (типа если $dt>0 и т.д. там уже точно коряво работает).
3) Не в том порядке запускал тест, а возвращать контекст ставил только в одном из шаблонов. Соответственно, при повторном тесте и правильных настройках - все работает, отрабатывают оба шаблона в контексте.
4) Так же отрабатывают несколько шаблонов за раз. (не знаю почему до этого не сработало)
5) По поводу моей ошибки. Аргумент 4 в runPatternAction это $from_user_id. Вопрос скорее к Сергею - зачем этот аргумент требуется в стандартных шаблонах, и почему он не определен в моем случае?. Может его как то присвоить принудительно надо? Если его удалить - ошибки не возникает. Кстати на предыдущем скрине ошибка не влезла полностью, поэтому сделал новый.
111.jpg
111.jpg (78.74 КБ) 10607 просмотров
И да...вопрос про
nick7zmail писал(а):как заставить отрабатывать шаблоны формата "включи свет в ванной и выключи (свет) в коридоре". Из существующего контекста "свет" по логике должно срабатывать только 1 указание "включи", а для второго - надо как то сбросить контекст. Че то пока не дошло до меня - как?
еще актуален. Отрабатывает код сперва на одно слово, потом на второе. Как разделить?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Чт ноя 19, 2015 9:52 am

Что-то забросили тему))
Предыдущий вопрос не решился, зато появились новые.
Помню, давненько пользовался функцией формата "выключи свет в зале через 5 минут" - и по прошествии 5 минут свет выключался. Недавно опять понадобилась эта функция. При попытке создать шаблон формата "через (\d+) минут(.*) (.+)" Отрабатывает и шаблон который входит в "(.+)". Подскажите, как реализовать?
Вложения
11.jpg
11.jpg (36.47 КБ) 10375 просмотров
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

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

Сообщение Vovix » Чт ноя 19, 2015 9:51 pm

я в свое время набрел на это: https://regex101.com/
после этого натворил разных шаблонов... очень помогло!
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Чт ноя 19, 2015 10:21 pm

Vovix писал(а):я в свое время набрел на это: https://regex101.com/
после этого натворил разных шаблонов... очень помогло!
Эмм...как песочница php/java помогает творить шаблоны?))
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

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

Сообщение olehs » Чт ноя 19, 2015 11:26 pm

в этой песочнице можно тестировать регулярки
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

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

Сообщение Vovix » Пт ноя 20, 2015 11:08 am

nick7zmail писал(а):
Vovix писал(а):я в свое время набрел на это: https://regex101.com/
после этого натворил разных шаблонов... очень помогло!
Эмм...как песочница php/java помогает творить шаблоны?))
Это как раз, если вам так угодно, "песочница", для регулярных выражений!
ну а регулярные выражения это основа шаблонов!
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Пт ноя 20, 2015 11:28 am

Регулярные выражения я и по-гуглить могу...вопрос то в том - как сделать шаблон на задачу которую я описал...во-первых начало шаблона вызывает уже существующие шаблоны. Я выставил приоритет, поставил галочку - не искать среди других шаблонов при совпадении, основной шаблон все равно отрабатывает. Может как то переделать структуру? Но я пока не понял - как?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

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

Сообщение Vovix » Пт ноя 20, 2015 11:34 am

nick7zmail писал(а):Регулярные выражения я и по-гуглить могу...вопрос то в том - как сделать шаблон на задачу которую я описал...во-первых начало шаблона вызывает уже существующие шаблоны. Я выставил приоритет, поставил галочку - не искать среди других шаблонов при совпадении, основной шаблон все равно отрабатывает. Может как то переделать структуру? Но я пока не понял - как?
как вариант, я и говорю, что можно подкорректировать у других шаблонов, чтобы их искомый текст
был например только в начале фразы или вообще жестко быть единственным в запросе без других слов и т.п.
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Пт ноя 20, 2015 11:44 am

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

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

Сообщение triada13 » Пт ноя 20, 2015 11:48 am

nick7zmail, а можно поподробнее про данный шаблон? где со временем.
Majordomo на Orange Pi Zero.
Ответить