Не работает шаблон поведения с контекстами Включи или выключи

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

Модератор: immortal

Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич

Re: Не работает шаблон поведения с контекстами Включи или выключи

Сообщение Bagir »

Logrus писал(а): Пт июн 03, 2022 3:08 pmне юзай старющие примеры
Так это мои примеры и были )) Вычитал сейчас про изменения $original в шаблонах. Даже голосовалку сделали как вижу https://connect.smartliving.ru/ideas/614.html
Буду думать как поступить. У меня просто много подуровней на шаблоне ((В|в)ключи|(В|в)ыключи), с общим кодом, в которых уже по $original определял, включить или выключить.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
xor
Сообщения: 2044
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

Re: Не работает шаблон поведения с контекстами Включи или выключи

Сообщение xor »

Bagir писал(а): Пт июн 03, 2022 2:15 pm Так вот почему у меня ничего не работает. Не пользовался долгое время, сейчас решил допилить. А тут такое. Кто знает, где почитать про $original. Нужен полный текст. Как получить?
сделал свой оригинал через переменную)
2022-06-03_17-09-48.png
2022-06-03_17-09-48.png (9.93 КБ) 1723 просмотра
изврат такой:
на уровне включи/выключи

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

if(preg_match('/включи/isu', $original)){
  say('Включить что именно?',2);
  saveToCache('VAR:original.0','включи');
}elseif(preg_match('/выключи/isu', $original)){
  say('Выключить что именно?',2);
  saveToCache('VAR:original.0','выключи');
}else{
  //say('Непонятно ',2);
  saveToCache('VAR:original.0','');
}
на уровне свет

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

$ss = checkFromCache("VAR:original.0");
if($ss){
 $ss = $ss.' '.mb_strtolower($original); //для красоты
}else{
 $ss = mb_strtolower($original);
}
saveToCache('VAR:original.0',$ss);
if(preg_match('/включи/isu', $ss)){
  say('Включить свет где?',2);
}elseif(preg_match('/выключи/isu', $ss)){
  say('Выключить свет где?',2);
}else{
  saveToCache('VAR:original.0','');
  //say('Непонятно, что делать со светом?',2);
}
на уровне в кабинете

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

$ss = checkFromCache("VAR:original.0");
saveToCache('VAR:original.0','');
if($ss){
 $ss = $ss.' '.$original;
}else{
 $ss = $original;
}

if(preg_match('/включи/isu', $ss)){
  cm('noorelay2.turnon');
  say('Включаю свет в кабинете',2);
}elseif(preg_match('/выключи/isu', $ss)){
    cm('noorelay2.turnoff');
  say('Выключаю свет в кабинете',2);
}
Logrus
Сообщения: 2113
Зарегистрирован: Пт апр 07, 2017 12:20 pm

Re: Не работает шаблон поведения с контекстами Включи или выключи

Сообщение Logrus »

В|в не надо так
и глубже второго тоже
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Logrus
Сообщения: 2113
Зарегистрирован: Пт апр 07, 2017 12:20 pm

Re: Не работает шаблон поведения с контекстами Включи или выключи

Сообщение Logrus »

Screenshot_2022-06-03-19-18-44.png
Screenshot_2022-06-03-19-18-44.png (88.93 КБ) 1723 просмотра
Screenshot_2022-06-03-19-18-57.png
Screenshot_2022-06-03-19-18-57.png (86.83 КБ) 1723 просмотра
Ну и и.д. Там все реле в ПУ
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
xor
Сообщения: 2044
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

Re: Не работает шаблон поведения с контекстами Включи или выключи

Сообщение xor »

норм три уровня моим способом, без пу
2022-06-03_17-25-09.png
2022-06-03_17-25-09.png (8.42 КБ) 1722 просмотра
Logrus
Сообщения: 2113
Зарегистрирован: Пт апр 07, 2017 12:20 pm

Re: Не работает шаблон поведения с контекстами Включи или выключи

Сообщение Logrus »

Можно и пять сделать, вопрос зачем?
Когда в пу есть готовое с большим функционалом из коробки и для разбора оптимального с полным функционалом текста достаточно двух с кодом на втором

Ну хозяин барин
Голосового ассистента шаблоны никогда не заменят, там банально нет кучи того что базово необходимо
Поэтому усложнять их дурь
Помню как все матерились, когда пришлось их переделывать

Локальный стт и ассистент может и должен быть на отдельной железке
Сервер с мдм может быть и без аудио
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
xor
Сообщения: 2044
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

Re: Не работает шаблон поведения с контекстами Включи или выключи

Сообщение xor »

Logrus писал(а): Пт июн 03, 2022 5:35 pm Можно и пять сделать, вопрос зачем?
Когда в пу есть готовое с большим функционалом из коробки и для разбора оптимального с полным функционалом текста достаточно двух с кодом на втором

Ну хозяин барин
Голосового ассистента шаблоны никогда не заменят, там банально нет кучи того что базово необходимо
Поэтому усложнять их дурь
Помню как все матерились, когда пришлось их переделывать

Локальный стт и ассистент может и должен быть на отдельной железке
Сервер с мдм может быть и без аудио
а это было ещё до я.колонки в мдм. теперь голосом только через я.алису, безо всяких терминалов, да. а через телегу удалённо проще тоже либо кнопками, либо уж сразу наклацать "выключи свет в кабинете", чем диалог поддерживать(
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич

Re: Не работает шаблон поведения с контекстами Включи или выключи

Сообщение Bagir »

xor писал(а): Пт июн 03, 2022 5:27 pmнорм три уровня моим способом
Тут всё на любителя конечно. У меня с самого начала так же три уровня для освещения и вентиляции. Конечно же можно обойтись и двумя. Я делал три, чтобы попробовать использовать $from_user_id для терминалов, которые висят в конкретных комнатах. Идея в том, чтобы если диалог с терминала, то действовать и без указания комнаты. Но пока это в планах.
Сейчас убрал комментарий со строки

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

$history = context_get_history() . ' ' . $history;
в файле patterns.class.php Не сторонник я так делать, но, как вижу, судьба $original ещё до сих пор в процессе обсуждения.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
xor
Сообщения: 2044
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

Re: Не работает шаблон поведения с контекстами Включи или выключи

Сообщение xor »

Bagir писал(а): Пт июн 03, 2022 11:26 pm
xor писал(а): Пт июн 03, 2022 5:27 pmнорм три уровня моим способом
Тут всё на любителя конечно. У меня с самого начала так же три уровня для освещения и вентиляции. Конечно же можно обойтись и двумя. Я делал три, чтобы попробовать использовать $from_user_id для терминалов, которые висят в конкретных комнатах. Идея в том, чтобы если диалог с терминала, то действовать и без указания комнаты. Но пока это в планах.
Сейчас убрал комментарий со строки

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

$history = context_get_history() . ' ' . $history;
в файле patterns.class.php Не сторонник я так делать, но, как вижу, судьба $original ещё до сих пор в процессе обсуждения.
сначала можно было и три уровня, потом стало нельзя, я переписал шаблоны на две ветки - отдельно включи, отдельно выключи. потом переписал на свой оригинал, потом пришла я.колонка, потом еще и забил на шаблоны вообще
Аватара пользователя
xor
Сообщения: 2044
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

Re: Не работает шаблон поведения с контекстами Включи или выключи

Сообщение xor »

Bagir писал(а): Пт июн 03, 2022 11:26 pm
xor писал(а): Пт июн 03, 2022 5:27 pmнорм три уровня моим способом
Тут всё на любителя конечно. У меня с самого начала так же три уровня для освещения и вентиляции. Конечно же можно обойтись и двумя. Я делал три, чтобы попробовать использовать $from_user_id для терминалов, которые висят в конкретных комнатах. Идея в том, чтобы если диалог с терминала, то действовать и без указания комнаты. Но пока это в планах.
Сейчас убрал комментарий со строки

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

$history = context_get_history() . ' ' . $history;
в файле patterns.class.php Не сторонник я так делать, но, как вижу, судьба $original ещё до сих пор в процессе обсуждения.
сначала можно было и три уровня, потом стало нельзя, я переписал шаблоны на две ветки - отдельно включи, отдельно выключи. потом переписал на свой оригинал, потом пришла я.колонка, потом еще одна и забил на шаблоны вообще. микрофоны ловят практически по всему первому этажу от входной двери, хватает выше крыши. развивать шаблоны перестал(
Ответить