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

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

Модератор: immortal

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

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

Сообщение ialtuhov » Ср май 15, 2019 9:32 am

nick7zmail писал(а):
Ср май 15, 2019 8:28 am
1) Очищает текущий контекст. Т.е. если вы, к примеру, на 2 уровне - контекст очистится либо по таймеру в поле время контекста, либо вы можете вручную (или по какой-либо команде) сбросить этот контекст.
2) Как раз можете выполнить context_clear() при соблюдении этих условий, и контекст вернется в корневой. Либо же активировать любой другой контекст по команде из п.3))
3) Да, правильно.
Уточняющий вопрос: на втором уровне я вставлял в основной код при соблюдении условий context_clear(), но все равно произошла отработка "по истечению времени". Я его не правильно использовал? Как правильно?
И еще один вопрос: на третьем уровне я задаю в шаблон конкретные слова ((один|1|два|2|три|3)), на втором идет разборка команды (.+) на слова и значения. Суть кода если на втором уровне задается одно из значений 1, 2 или 3, то я его использую и не перехожу на уровень три, если значению отсутствуют, то идем на уровень три. У меня получается, что при вводе (произношении) команды и присутствии 1, 2 или 3 срабатывает шаблон уровня три, что не правильно, в следствии чего итог не корректен.
Прошу помощи, где я делаю не то )))
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

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

Сообщение xor » Ср май 15, 2019 9:49 am

У меня трехуровневый шаблон
1-Включи
2-- свет
2-- ...
3--- на кухне
3--- на улице
3--- ...

Работает автоматом на фразах:
Включи-что?-свет-где?-на улице
Включи свет-где?-на улице
Включи свет на улице

Вам на третьем уровне нельзя создать ветки по тому же принципу:
(1|один)
(2|два)
(3|три)
?

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


За это сообщение автора xor поблагодарил:
dimaxus (Сб фев 13, 2021 6:08 pm)
Рейтинг: 1.16%
ialtuhov
Сообщения: 69
Зарегистрирован: Чт фев 14, 2019 9:50 am
Благодарил (а): 12 раз
Поблагодарили: 1 раз

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

Сообщение ialtuhov » Ср май 15, 2019 10:12 am

xor писал(а):
Ср май 15, 2019 9:49 am
У меня трехуровневый шаблон
1-Включи
2-- свет
2-- ...
3--- на кухне
3--- на улице
3--- ...

Работает автоматом на фразах:
Включи-что?-свет-где?-на улице
Включи свет-где?-на улице
Включи свет на улице

Вам на третьем уровне нельзя создать ветки по тому же принципу:
(1|один)
(2|два)
(3|три)
?

Отправлено с моего Redmi 4X через Tapatalk
Можно, но в этом случае получится два здоровых кода, поскольку на втором уровне определяются и формируется две переменных с использованием четырех мультимассивов, на третьем - одна простая.
Проще сделать остановку на втором (заодно научится новому))) ) и туда добавить условие, чем на третий уровень запихивать огромный новый код на три переменных.
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

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

Сообщение xor » Ср май 15, 2019 10:56 am

ialtuhov писал(а):
xor писал(а):
Ср май 15, 2019 9:49 am
У меня трехуровневый шаблон
1-Включи
2-- свет
2-- ...
3--- на кухне
3--- на улице
3--- ...

Работает автоматом на фразах:
Включи-что?-свет-где?-на улице
Включи свет-где?-на улице
Включи свет на улице

Вам на третьем уровне нельзя создать ветки по тому же принципу:
(1|один)
(2|два)
(3|три)
?

Отправлено с моего Redmi 4X через Tapatalk
Можно, но в этом случае получится два здоровых кода, поскольку на втором уровне определяются и формируется две переменных с использованием четырех мультимассивов, на третьем - одна простая.
Проще сделать остановку на втором (заодно научится новому))) ) и туда добавить условие, чем на третий уровень запихивать огромный новый код на три переменных.
Мне отсюда не видны все ваши заморочки ((

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

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

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

Сообщение nick7zmail » Ср май 15, 2019 11:14 am

ialtuhov писал(а):
Ср май 15, 2019 9:32 am
Уточняющий вопрос: на втором уровне я вставлял в основной код при соблюдении условий context_clear(), но все равно произошла отработка "по истечению времени". Я его не правильно использовал? Как правильно?
И еще один вопрос: на третьем уровне я задаю в шаблон конкретные слова ((один|1|два|2|три|3)), на втором идет разборка команды (.+) на слова и значения. Суть кода если на втором уровне задается одно из значений 1, 2 или 3, то я его использую и не перехожу на уровень три, если значению отсутствуют, то идем на уровень три. У меня получается, что при вводе (произношении) команды и присутствии 1, 2 или 3 срабатывает шаблон уровня три, что не правильно, в следствии чего итог не корректен.
Прошу помощи, где я делаю не то )))
Возможно контекст сбрасывается, но таймер при этом не сбрасывается (но эт не точно). Посмотрите что в таймерах, и очищайте ещё и таймер командой clearTimeOut('Имя таймера');
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
ialtuhov
Сообщения: 69
Зарегистрирован: Чт фев 14, 2019 9:50 am
Благодарил (а): 12 раз
Поблагодарили: 1 раз

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

Сообщение ialtuhov » Ср май 15, 2019 11:18 am

nick7zmail писал(а):
Ср май 15, 2019 11:14 am
ialtuhov писал(а):
Ср май 15, 2019 9:32 am
Уточняющий вопрос: на втором уровне я вставлял в основной код при соблюдении условий context_clear(), но все равно произошла отработка "по истечению времени". Я его не правильно использовал? Как правильно?
И еще один вопрос: на третьем уровне я задаю в шаблон конкретные слова ((один|1|два|2|три|3)), на втором идет разборка команды (.+) на слова и значения. Суть кода если на втором уровне задается одно из значений 1, 2 или 3, то я его использую и не перехожу на уровень три, если значению отсутствуют, то идем на уровень три. У меня получается, что при вводе (произношении) команды и присутствии 1, 2 или 3 срабатывает шаблон уровня три, что не правильно, в следствии чего итог не корректен.
Прошу помощи, где я делаю не то )))
Возможно контекст сбрасывается, но таймер при этом не сбрасывается (но эт не точно). Посмотрите что в таймерах, и очищайте ещё и таймер командой clearTimeOut('Имя таймера');
А context_clear() вставлять в основной код или в код сработки по истечению времени?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Ср май 15, 2019 11:29 am

В основной конечно, когда вам необходимо контекст сбросить.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
ialtuhov
Сообщения: 69
Зарегистрирован: Чт фев 14, 2019 9:50 am
Благодарил (а): 12 раз
Поблагодарили: 1 раз

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

Сообщение ialtuhov » Ср май 15, 2019 11:56 am

nick7zmail писал(а):
Ср май 15, 2019 11:29 am
В основной конечно, когда вам необходимо контекст сбросить.
Попробую еще раз, вставлю в основной.
clearTimeOut('Имя таймера') - что такое имя таймера, где его взять?
Sas
Сообщения: 207
Зарегистрирован: Вт июл 12, 2016 6:16 pm
Благодарил (а): 2 раза
Поблагодарили: 14 раз

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

Сообщение Sas » Ср май 15, 2019 12:09 pm

xor писал(а):
Ср май 15, 2019 9:49 am
Работает автоматом на фразах:
Включи-что?-свет-где?-на улице
Включи свет-где?-на улице
Оно таки так работает?
Или пришлось убрать камент из кода шаблонов(и вернуть задвоение ориджинала)?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

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

ialtuhov писал(а):
Ср май 15, 2019 11:56 am
Попробую еще раз, вставлю в основной.
clearTimeOut('Имя таймера') - что такое имя таймера, где его взять?
X-Ray вкладка Timers. Посмотрите, создаётся ли там таймер при активации контекста. Если да - там же его имя есть. Я пока проверить не могу, нет системы под рукой.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить