Плагин Voice Control



  • @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
    Вероятно, есть команда в Расширениях с пустым текстом. Она одна у вас, попробуйте ее удалить.



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

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

    Спасибо, заработало.



  • @intrahouse Доброго дня! Можно для тоо, чтобы ИНЕТ не слушал постоянно все, что я дома делаю, для активации голосовой команды использовать соседний сотовый плагин без привязки к интернету по типу
    https://habr.com/ru/post/237589/
    В том числе и в будущем для активации Алисы...?



  • @kostinanton Добрый день, спасибо за предоставленную информацию, мы планируем интеграцию с Алисой



  • @dev добрый день! И я не против интеграции с Алисой... Единственная просьба, чтобы не тыкать в телефон постоянно, надо активацию начала работы с ассистентом сделать по старт-слову БЕЗ ПРИВЯЗКИ К ИНТЕРНЕТУ, чтобы никому не повадно было...