Плагин Voice Control



  • @Alex_Jet:

    @intrahouse:

    @Alex_Jet:

    Коллеги! Как вообще понять - что где не работает? В отладчике при активации ничего не появляется, в мобильном приложении тоже никаких реакций нет. Связь с сервером по P2P есть, нажимаю кнопку, по всплывающему "Say command" - говорю и отпускаю кнопку, но ничего нигде не происходит.

    В настройках приложения переключитесь на русский язык и попробуйте еще раз.

    Сейчас у вас английский, судя по "Say command".

    Язык русский - все меню на русском. Попробовал переключиться на English, потом снова на Русский - нет контакта, подсказка имеет вид "Say command". Закрыл принудительно приложение, очистил кэш смартфона. Открыл приложение - все на русском, подсказка все также имеет вид "Say command", функционал не работает:(

    У меня такая же проблема. Я и телефон перезагружал и делал все выше Вами перечисленное. Не помогает. Самое странное что приложение начинает работать само по себе, сказанные голосом слова начинают писаться текстом, даже просто как приложение, без подключения к серверу.



  • @Erik:

    Переустановить приложние пробовали?

    Только что переустановил… никаких изменений.

    Вдобавок понял, что credentials для первого входа просто сбивают пользователя. Мне вот НЕ надо было попасть в demo и я тщетно в поле Host/IP пытался вбить ключ для подключения по P2P. Оказалось что все равно надо войти в demo, добавить свой сервер, удалить demo и тогда будет все ок. Надо бы пересмотреть это.



  • @Alex_Jet:

    … нажимаю кнопку, по всплывающему "Say command" - говорю и отпускаю кнопку, но ничего нигде не происходит.

    Хочу уточнить. Вы нажимаете и удерживаете кнопку микрофона?

    Или коротко нажимаете на микрофон и ничего не происходит?

    При коротком нажатии должно быть всплывающее окно с просьбой ввода голосовой команды:
    Screenshot_20190911-142754.jpg
    Оно есть? Теперь, если говорить, фразы в этом окне появляются?



  • @Alex_Jet:

    Вдобавок понял, что credentials для первого входа просто сбивают пользователя. Мне вот НЕ надо было попасть в demo и я тщетно в поле Host/IP пытался вбить ключ для подключения по P2P. Оказалось что все равно надо войти в demo, добавить свой сервер, удалить demo и тогда будет все ок. Надо бы пересмотреть это.

    Если запускать приложение в локальной сети, где есть сервер intraHouse, то приложение само найдет ваш сервер и настроит ключ P2P.

    От пользователя ничего (кроме ввода имени и пароля) не требуется.

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



  • @intrahouse:

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

    Чтобы настроить свой сервер, зачем то нужно подключиться к вашему демо.

    Можно сделать настройки приложения доступными без подключения к серверу?



  • @Erik:

    Чтобы настроить свой сервер, зачем то нужно подключиться к вашему демо.

    К нашему серверу подключение не происходит. Демо находится в самом приложении. Это сделано по требованию Apple Store.
    @Erik:

    Можно сделать настройки приложения доступными без подключения к серверу?

    А сейчас как? При первом входе есть приглашение на ввод адреса сервера, имени и пароля.

    Мы поняли, что желательно дать возможность ввести ключ P2P.

    Но если честно, не понимаю затруднений. Первый вход выполняется один раз.



  • @intrahouse:

    А сейчас как? При первом входе есть приглашение на ввод адреса сервера, имени и пароля.

    Мы поняли, что желательно дать возможность ввести ключ P2P.

    Но если честно, не понимаю затруднений. Первый вход выполняется один раз.

    Есть полные настройки сервера, которые становятся доступными только при подключении к чему нибудь, например к демо.

    Почему нельзя их сделать доступными сразу, без подключения к чему-то? Добавить сервер, и ввести все настройки, которые хочешь ввести, а не только IP и пароль.

    Еще было бы здорово предусмотреть вход в личный кабинет на https://ih-systems.com/ru/, чтобы оттуда стянуть ключ Р2Р.



  • @Erik:

    @intrahouse:

    А сейчас как? При первом входе есть приглашение на ввод адреса сервера, имени и пароля.

    Мы поняли, что желательно дать возможность ввести ключ P2P.

    Но если честно, не понимаю затруднений. Первый вход выполняется один раз.

    Есть полные настройки сервера, которые становятся доступными только при подключении к чему нибудь, например к демо.

    Почему нельзя их сделать доступными сразу, без подключения к чему-то? Добавить сервер, и ввести все настройки, которые хочешь ввести, а не только IP и пароль.

    Еще было бы здорово предусмотреть вход в личный кабинет на https://ih-systems.com/ru/, чтобы оттуда стянуть ключ Р2Р.

    Никаких лишних подключений не происходит. Если сервер IH не доступен, то приложение работает в режиме Демо, это общий подход. К сожалению, Сторы пока не обзавелись сервером IH :), и при модерации каждой версии вход в рабочий режим должен вызывать как можно меньше вопросов, иначе публикация сильно затягивается :(.

    С другой стороны, обладатели сервера IH, скачавшие приложение и запустившие его, находясь в одной сети со своим сервером, сразу подключаются к нему, вводить адрес не надо. Ключ P2P тоже вводить не надо, при удачном подключении он возьмется с сервера сам.

    Был вариант совсем не давать вводить ключ P2P, скрыть его и получать только автоматически.

    Но оставили для возможности, которую только что продемонстрировал уважаемый Alex_Jet - первый запуск вне своей сети, вводим ключ P2P - и все работает. Но это скорее фича, которая не должна быть прямо на входе



  • А можете сделать, чтобы окошко "произнесите команду" само закрывалось после первой успешно распознанной и выполненной команды?



  • @Erik:

    А можете сделать, чтобы окошко "произнесите команду" само закрывалось после первой успешно распознанной и выполненной команды?

    Да. Сделаем.

    В настройках буде галка типа "Продолжать диалог"

    Если ее убрать, то при выполнении команды окно закроется. Если команда не распознана, повтор ввода команды.

    Если галка будет установлена, диалог будет продолжаться, как сейчас.

    Кроме этого диалог будет отображаться в листинге. То есть будут видны все отправленные команды и полученные ответы.



  • @intrahouse:

    Хочу уточнить. Вы нажимаете и удерживаете кнопку микрофона?

    Да, именно так и делал, зная что должна быть хоть какая-то обратная связь. В общем может быть это особенность моего Android 7.0 или смартфона… оказывается надо было чуть прикоснуться к значку микрофона, чтобы ОС спросила "Дать приложению IntraHouse доступ к записи с микрофона?". После разрешения все работает как вы продемонстрировали на скриншоте!

    А про первый вход, Erik прав, но и понимаю ваше желание быстрее пройти модерацию в магазинах.

    Кстати, ну а если на экране входа добавить кнопку "Пропустить"? Нажимаем и попадаем сразу в настройки приложения!



  • @intrahouse:

    @Erik:

    А можете сделать, чтобы окошко "произнесите команду" само закрывалось после первой успешно распознанной и выполненной команды?

    Да. Сделаем.

    В настройках буде галка типа "Продолжать диалог"

    Если ее убрать, то при выполнении команды окно закроется. Если команда не распознана, повтор ввода команды.

    Если галка будет установлена, диалог будет продолжаться, как сейчас.

    Кроме этого диалог будет отображаться в листинге. То есть будут видны все отправленные команды и полученные ответы.

    Сделайте тогда еще галку отключения звука при диалоге, чтобы не пищала постоянно.

    Ну и от идеи "постоянно слушать ожидая стартового слова, и только по нему запускать диалог" вы в двух шагах 🙂



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

    Кстати, распознавание происходит локально на смартфоне через google? Довольно четко…на яндекс не похоже.



  • @Alex_Jet:

    голосом произнесла показания с нужным текстом

    В принципе это реально с помощью TTS. Если вы имеете в виду мобильное приложение. Пока не делали.
    @Alex_Jet:

    Кстати, распознавание происходит локально на смартфоне через google? Довольно четко…на яндекс не похоже.

    Средствами ОС смартфона. У Android через Google, у iOS через Siri



  • @intrahouse:

    @Alex_Jet:

    голосом произнесла показания с нужным текстом

    В принципе это реально с помощью TTS. Если вы имеете в виду мобильное приложение. Пока не делали.
    @Alex_Jet:

    Кстати, распознавание происходит локально на смартфоне через google? Довольно четко…на яндекс не похоже.

    Средствами ОС смартфона. У Android через Google, у iOS через Siri

    А доступ в интернет должен быть для распознавания?



  • @gis:

    @intrahouse:

    @Alex_Jet:

    голосом произнесла показания с нужным текстом

    В принципе это реально с помощью TTS. Если вы имеете в виду мобильное приложение. Пока не делали.
    @Alex_Jet:

    Кстати, распознавание происходит локально на смартфоне через google? Довольно четко…на яндекс не похоже.

    Средствами ОС смартфона. У Android через Google, у iOS через Siri

    А доступ в интернет должен быть для распознавания?

    Добрый день, ДА, хотя у Android есть распознавание оффлайн, у нас не получилось без интернета. Плагину интернет не нужен



  • Подскажите как можно выключить или включить цвет в двух зонах одновременно, в "групповая команда" нету выбора установить несколько "Зон".



  • Участник @amgstone написал в Плагин Voice Control:

    Подскажите как можно выключить или включить цвет в двух зонах одновременно, в "групповая команда" нету выбора установить несколько "Зон".

    Перечислением в скрипте нужных команд для каждой зоны подряд. И запуск этого скрипта голосовой командой.



  • Загрузил плагин, а список каналов пуст. В отладчике:

    0.01 21:23:04.324 voicecontrol: Voice Control has started
    10.01 21:23:04.352 voicecontrol: Received PARAMS {"gendevcmd":true,"subsdevcmd":["1"],"gengroupcmd":false,"subgroupcmd":"1","typesgroupcmd":["510","520","530"],"wordgroupcmd":"Свет","debug":"on","loglevel":0,"lang":"ru"}
    10.01 21:23:04.361 voicecontrol: Uploaded ext commands: 1
    10.01 21:23:04.387 voicecontrol: ERR: unhandledRejection! Reason TypeError: Cannot read property 'search' of undefined
        at removeAllAfterBrackets (/var/lib/intrahouse-c/plugins/voicecontrol/lib/grammar.js:156:15)
        at Object.getKeyWords (/var/lib/intrahouse-c/plugins/voicecontrol/lib/grammar.js:97:9)
        at sarr.forEach.item (/var/lib/intrahouse-c/plugins/voicecontrol/lib/vosmscmd.js:159:26)
        at Array.forEach (<anonymous>)
        at Vosmscmd.addExt (/var/lib/intrahouse-c/plugins/voicecontrol/lib/vosmscmd.js:158:8)
        at plugin.get.then.scenelist (/var/lib/intrahouse-c/plugins/voicecontrol/index.js:66:10)
        at <anonymous>
        at process._tickCallback (internal/process/next_tick.js:188:7). Promise Promise {
      <rejected> TypeError: Cannot read property 'search' of undefined
        at removeAllAfterBrackets (/var/lib/intrahouse-c/plugins/voicecontrol/lib/grammar.js:156:15)
        at Object.getKeyWords (/var/lib/intrahouse-c/plugins/voicecontrol/lib/grammar.js:97:9)
        at sarr.forEach.item (/var/lib/intrahouse-c/plugins/voicecontrol/lib/vosmscmd.js:159:26)
        at Array.forEach (<anonymous>)
        at Vosmscmd.addExt (/var/lib/intrahouse-c/plugins/voicecontrol/lib/vosmscmd.js:158:8)
        at plugin.get.then.scenelist (/var/lib/intrahouse-c/plugins/voicecontrol/index.js:66:10)
        at <anonymous>
        at process._tickCallback (internal/process/next_tick.js:188:7) }
    10.01 21:23:04.704 IH: Plugin exit with code 1
    10.01 21:23:04.706 IH: restart timer 5
    

    В чем проблема?



  • @gis
    Вероятно, есть команда в Расширениях с пустым текстом. Она одна у вас, попробуйте ее удалить.