Странная особенность с произношением

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

Модератор: immortal

Ответить
ksgroup
Сообщения: 135
Зарегистрирован: Ср дек 19, 2012 10:35 am
Откуда: Ukraine/Kiev
Благодарил (а): 7 раз
Поблагодарили: 14 раз

Странная особенность с произношением

Сообщение ksgroup » Сб сен 14, 2013 10:51 am

После последнего обновления заметил странную особенность. Если отправить на проговаривание несколько строк типа say('что то там') то проговаривание происходит совершенно не в том порядке в котором строки отправляются системе. Ну например у меня Алиса проговаривает погоду. Данные произносятся по строкам:

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

07:00 Alice: За окошком сейчас +13 градусов. 
07:00 Alice: Довольно низкое давление и очень сыро сегодня. 
07:00 Alice: Алиса желает вам хорошего дня!
В итоге произносятся строки совсем не в том порядке в котором записаны в истории.
По всей видимости SafeExec стал работать по другому? Жду ответа от Сергея. В таком виде как оно сейчас не очень то удобно. Нарушается логика сообщений. Раньше было все нормально.

Кстати, может это только у меня так?
CubieBoard A10 - основной сервер Majordomo
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
Аватара пользователя
Amarok
Сообщения: 1427
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Странная особенность с произношением

Сообщение Amarok » Вт сен 17, 2013 1:28 pm

Любопытно:

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

12:00 Alice: Сегодняшние события. Родился Константин Эдуардович Циолковский (1857 год). Именины Афанасий. 
12:00 Alice: 12 часов . На улице +7
В логах порядок верный, а произносит скрипт sayTodayAgenda ранее чем время.
Моя Алиска живёт на Proxmox в Debian 12
ksgroup
Сообщения: 135
Зарегистрирован: Ср дек 19, 2012 10:35 am
Откуда: Ukraine/Kiev
Благодарил (а): 7 раз
Поблагодарили: 14 раз

Re: Странная особенность с произношением

Сообщение ksgroup » Вт сен 17, 2013 1:31 pm

BlackWarrior писал(а):Любопытно:

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

12:00 Alice: Сегодняшние события. Родился Константин Эдуардович Циолковский (1857 год). Именины Афанасий. 
12:00 Alice: 12 часов . На улице +7
В логах порядок верный, а произносит скрипт sayTodayAgenda ранее чем время.
Вот вот. И не только раньше чем время. Даже в скрипте выводимые сообщения в логе идут в том порядке в котором выводятся, а произносятся в другом порядке.
Мои подозрения что при чтении таблицы с очередью выполнения SafeExec происходит сортировка по какому то параметру а не в том порядке в котором задания поступили в таблицу.
CubieBoard A10 - основной сервер Majordomo
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Странная особенность с произношением

Сообщение sergejey » Вт сен 17, 2013 3:59 pm

а можно глянуть исходный код c say?
там идёт сортировка ещё и по важности, т.е. say("что-то",5); будет произнесено раньше чем say("что-то", 4); может быть в этом дело?

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
ksgroup
Сообщения: 135
Зарегистрирован: Ср дек 19, 2012 10:35 am
Откуда: Ukraine/Kiev
Благодарил (а): 7 раз
Поблагодарили: 14 раз

Re: Странная особенность с произношением

Сообщение ksgroup » Вт сен 17, 2013 5:57 pm

sergejey писал(а):а можно глянуть исходный код c say?
там идёт сортировка ещё и по важности, т.е. say("что-то",5); будет произнесено раньше чем say("что-то", 4); может быть в этом дело?
Ну все скрипты думаю нет смысла тут приводить, но вот хотя бы один:

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

$text ='За окошком сейчас '.getGlobal('WEB.TempOutside').' ';
$text = $text.' градусов. ';
say($text,1);

if (getGlobal('WEB.AtmPressure') >= 730) {$text = ' Очень низкое давление ';}
if (getGlobal('WEB.AtmPressure') >= 740) {$text = ' Довольно низкое давление ';}
if (getGlobal('WEB.AtmPressure') >= 750) {$text = ' Давление среднее ';}
if (getGlobal('WEB.AtmPressure') >= 760) {$text = ' Очень высокое давление ';}

//$text = ' Атмосферное давление около '.getGlobal('ThisComputer.AtmPressure').' миллиметров. ';

if (getGlobal('WEB.Humidity') >= 10) {$text1 = ' и сегодня очень сухо. ';}
if (getGlobal('WEB.Humidity') >= 60) {$text1 = ' и довольно сухо сегодня. ';}
if (getGlobal('WEB.Humidity') >= 85) {$text1 = ' и довольно высокая влажность. ';}
if (getGlobal('WEB.Humidity') >= 90) {$text1 = ' и очень сыро сегодня. ';}



$text = $text.' Относительная влажность воздуха около '.getGlobal('WEB.Humidity').' процентов.';
say($text.$text1,5);

$text = getGlobal('WEB.Wind').', ';
$text = $text.getGlobal('WEB.WindSpeed').' метров в секунду.';
say($text,5);

$pis = getGlobal('GMail_oksana.NotRead');
if ($pis == 1) {$text = '. непрочитанное письмо.';}
if ($pis == 2) {$text = '. непрочитанных письма.';}
if ($pis == 3) {$text = '. непрочитанных письма.';}
if ($pis == 4) {$text = '. непрочитанных письма.';}
if ($pis >= 5) {$text = '. непрочитанных писем.';}

if ($pis > 0){ say ('У Оксаны есть '. $pis . $text,5);}

$pis = getGlobal('GMail_dima.NotRead');
if ($pis == 1) {$text = '. непрочитанное письмо.';}
if ($pis == 2) {$text = '. непрочитанных письма.';}
if ($pis == 3) {$text = '. непрочитанных письма.';}
if ($pis == 4) {$text = '. непрочитанных письма.';}
if ($pis >= 5) {$text = '. непрочитанных писем.';}

if ($pis > 0){ say ('У Димы есть '. $pis . $text,5);}


say('Алиса желает вам хорошего дня!',5);
В принципе везде стоит уровень важности 5.
CubieBoard A10 - основной сервер Majordomo
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
Аватара пользователя
Amarok
Сообщения: 1427
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Странная особенность с произношением

Сообщение Amarok » Ср сен 18, 2013 9:29 am

У меня:
say('На улице'.$templus.' '.$minusw.' '.$w.' '.$tempcels.'');
и say(timeNow());
Моя Алиска живёт на Proxmox в Debian 12
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Странная особенность с произношением

Сообщение sergejey » Ср сен 18, 2013 11:04 am

Записал себе в список багов -- буду разбираться.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Amarok
Сообщения: 1427
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Странная особенность с произношением

Сообщение Amarok » Чт сен 26, 2013 12:53 pm

Сергей, как я понимаю, мой патч на склонение слова "минута" в функции timeNow - не принимается?
Моя Алиска живёт на Proxmox в Debian 12
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Странная особенность с произношением

Сообщение sergejey » Чт сен 26, 2013 1:34 pm

BlackWarrior писал(а):Сергей, как я понимаю, мой патч на склонение слова "минута" в функции timeNow - не принимается?
Принимается. Если честно, то не заметил сообщение в личке.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ответить