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

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

Модератор: immortal

ialtuhov
Сообщения: 69
Зарегистрирован: Чт фев 14, 2019 9:50 am
Благодарил (а): 12 раз
Поблагодарили: 1 раз

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

Сообщение ialtuhov » Ср май 15, 2019 1:54 pm

nick7zmail писал(а):
Ср май 15, 2019 1:53 pm
ialtuhov писал(а):
Ср май 15, 2019 11:56 am
Попробую еще раз, вставлю в основной.
clearTimeOut('Имя таймера') - что такое имя таймера, где его взять?
X-Ray вкладка Timers. Посмотрите, создаётся ли там таймер при активации контекста. Если да - там же его имя есть. Я пока проверить не могу, нет системы под рукой.
Спасибо, сегодня вечером проверю все варианты.
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Ср май 15, 2019 2:34 pm

Sas писал(а):
xor писал(а):
Ср май 15, 2019 9:49 am
Работает автоматом на фразах:
Включи-что?-свет-где?-на улице
Включи свет-где?-на улице
Оно таки так работает?
Или пришлось убрать камент из кода шаблонов(и вернуть задвоение ориджинала)?
Да, так работает. Раньше был один шаблон верхнего уровня Включи/Выключи. Теперь разбил на два(( и без анализа оригинала

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


Sas
Сообщения: 207
Зарегистрирован: Вт июл 12, 2016 6:16 pm
Благодарил (а): 2 раза
Поблагодарили: 14 раз

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

Сообщение Sas » Пт май 17, 2019 2:06 pm

xor писал(а):
Ср май 15, 2019 2:34 pm
Да, так работает. Раньше был один шаблон верхнего уровня Включи/Выключи. Теперь разбил на два(( и без анализа оригинала
А пропробуй в шаблоне $matches весь(массив) глянуть.
Костыль конечно, но можно пока оригинал не вернут поюзать его
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Пт май 17, 2019 3:35 pm

Sas писал(а):
xor писал(а):
Ср май 15, 2019 2:34 pm
Да, так работает. Раньше был один шаблон верхнего уровня Включи/Выключи. Теперь разбил на два(( и без анализа оригинала
А пропробуй в шаблоне $matches весь(массив) глянуть.
Костыль конечно, но можно пока оригинал не вернут поюзать его
Если вечером только. Помню сложилось впечатление, что оригинал содержит фразу в рамках "ступеньки" шаблона.
Например, если говорить
Включи-что?-свет-где?-на улице.
До что? Оригинал=включи, а уже в точке где? Оригинал=свет

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

Sas
Сообщения: 207
Зарегистрирован: Вт июл 12, 2016 6:16 pm
Благодарил (а): 2 раза
Поблагодарили: 14 раз

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

Сообщение Sas » Сб май 18, 2019 1:37 pm

Оригинал содержит в себе всю фразу
"Включи свет на улице", или "включи свет"
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Сб май 18, 2019 4:49 pm

Sas писал(а):
Сб май 18, 2019 1:37 pm
Оригинал содержит в себе всю фразу
"Включи свет на улице", или "включи свет"
мастер
шаблон Включи-что?-свет-где?-на улице
в коде на улице поставил debmes

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

   debmes('$original='.$original.'=');
   if(gg('DarknessMode.active')==0){ 
   say('Вроде, светло ещё',2);
   }
  $objects=getObjectsByClass("NooLite"); 
  foreach($objects as $obj) { 
     if(gg($obj['TITLE'].".LinkedRoom")=='Outside'){
       cm($obj['TITLE'].'.turnon');
     }
   }
вот сообщения задом на перед:

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

121135	0	Вроде, светло ещё	05/18/2019 16:39:01	
121134	5	на улице	05/18/2019 16:39:01	
121133	0	Включить свет где?	05/18/2019 16:38:49	
121132	5	свет	05/18/2019 16:38:49	
121131	0	Включить что именно?	05/18/2019 16:38:37	
121130	5	включи	05/18/2019 16:38:37	
вот из лога

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

16:39:01 0.62377200 $original=на улице=
на вложенных уровнях не стало видно начала(
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Сб май 18, 2019 5:12 pm

если дебмес поставить на каждом уровне, выходит так

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

17:10:01 0.67216100 3 $original=на улице=
17:09:49 0.76848000 2 $original=свет=
17:09:37 0.77179400 1 $original=включи=
За это сообщение автора xor поблагодарил:
viktor6 (Сб май 18, 2019 8:14 pm)
Рейтинг: 1.16%
ialtuhov
Сообщения: 69
Зарегистрирован: Чт фев 14, 2019 9:50 am
Благодарил (а): 12 раз
Поблагодарили: 1 раз

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

Сообщение ialtuhov » Чт май 23, 2019 10:27 am

Прошу помощи, немного запутался.
Возьмем обсуждаемый здесь пример: шаблон Включи-что?-свет-где?-на улице
У меня вопрос вот какой: в данном примере под каждым уровнем шаблона понимается одна переменная и все просто.
Если создать на втором уровне шаблон, например, Вода, то получим второе направление реакции шаблона Включи:
Включи-что?-свет-где?-на улице и Включи-что?-воду-где?-на улице.
Как запихать две и более ветки в одну и идентифицировать, что нужно сделать я знаю, то есть как создать универсальный шаблон типа Включи-что?-(воду/свет/газ/...)-где?-(на улице/в подвале/на крыше/...). Но я не понимаю как этот универсальный шаблон заставить работать в одну команду? Я говорю - Включи свет в подвале, результатом служит выполнение только последнего уровня шаблона, то есть переменная второго уровня (где?) не определяется. Если делать по шагам все работает безупречно.
Пробывал поставить на втором уровне context_clear(), но после идентификации полной команды ссылка всегда на третий уровень.
Кто что посоветует, как заставить работать?
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Чт май 23, 2019 10:41 am

ialtuhov писал(а):Прошу помощи, немного запутался.
Возьмем обсуждаемый здесь пример: шаблон Включи-что?-свет-где?-на улице
У меня вопрос вот какой: в данном примере под каждым уровнем шаблона понимается одна переменная и все просто.
Если создать на втором уровне шаблон, например, Вода, то получим второе направление реакции шаблона Включи:
Включи-что?-свет-где?-на улице и Включи-что?-воду-где?-на улице.
Как запихать две и более ветки в одну и идентифицировать, что нужно сделать я знаю, то есть как создать универсальный шаблон типа Включи-что?-(воду/свет/газ/...)-где?-(на улице/в подвале/на крыше/...). Но я не понимаю как этот универсальный шаблон заставить работать в одну команду? Я говорю - Включи свет в подвале, результатом служит выполнение только последнего уровня шаблона, то есть переменная второго уровня (где?) не определяется. Если делать по шагам все работает безупречно.
Пробывал поставить на втором уровне context_clear(), но после идентификации полной команды ссылка всегда на третий уровень.
Кто что посоветует, как заставить работать?
То-то и оно, что сейчас изменили концепцию и фиг так сделаешь, кмк.
У меня щас так:
1 Включи
2 свет
3 на улице
3 дома
2 воду
3 на улице
3 дома

Плюс такая же ветка для Выключи((

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

ialtuhov
Сообщения: 69
Зарегистрирован: Чт фев 14, 2019 9:50 am
Благодарил (а): 12 раз
Поблагодарили: 1 раз

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

Сообщение ialtuhov » Чт май 23, 2019 10:49 am

xor писал(а):
Чт май 23, 2019 10:41 am
ialtuhov писал(а):Прошу помощи, немного запутался.
Возьмем обсуждаемый здесь пример: шаблон Включи-что?-свет-где?-на улице
У меня вопрос вот какой: в данном примере под каждым уровнем шаблона понимается одна переменная и все просто.
Если создать на втором уровне шаблон, например, Вода, то получим второе направление реакции шаблона Включи:
Включи-что?-свет-где?-на улице и Включи-что?-воду-где?-на улице.
Как запихать две и более ветки в одну и идентифицировать, что нужно сделать я знаю, то есть как создать универсальный шаблон типа Включи-что?-(воду/свет/газ/...)-где?-(на улице/в подвале/на крыше/...). Но я не понимаю как этот универсальный шаблон заставить работать в одну команду? Я говорю - Включи свет в подвале, результатом служит выполнение только последнего уровня шаблона, то есть переменная второго уровня (где?) не определяется. Если делать по шагам все работает безупречно.
Пробывал поставить на втором уровне context_clear(), но после идентификации полной команды ссылка всегда на третий уровень.
Кто что посоветует, как заставить работать?
То-то и оно, что сейчас изменили концепцию и фиг так сделаешь, кмк.
У меня щас так:
1 Включи
2 свет
3 на улице
3 дома
2 воду
3 на улице
3 дома

Плюс такая же ветка для Выключи((

Отправлено с моего Redmi 4X через Tapatalk
Так вообще не айс. Такой лес команд. Нужно проще делать
Ответить