Подниму тему. Идея понравилась, даже взялся за разработку версии под свои нужды. Но результат долгого допиливания и тестов на ~75 утройствах отрицательный. Чем больше устройств, тем чаще путается, говоришь "кухня свет" а распознать может как "спальня свет", даже простой шум может быть распознан как команда. Такой подход полностью неприемлем для умного дома, здесь можно допустить распознавание не с первого раза, но ни в коем случае не допускаются ошибки.
Решил написать свое приложение, с использованием движка от google. Взял идею с автоподгрузкой всех устройств по именам и короткими командами вида "кухня свет" (вместо "включи свет на кухне"), сделал загрузчик для HC2.
Гугл возвращает фразу из двух слов, например "кабинет подсветка" (если распознал), и еще штук 5 ее вариаций, ищется подходящее устройство из списка (комната + устройство) и меняется его состояние на противоположное.
Иногда он путает окончания, иногда выдает слова с похожим написанием/произношением, и это портит результат. Но я применил нехитрый способ - сравниваю только первые 4 буквы слов ("каби" + "подс"), и это гарантирует 99.9% безошибочный результат. В самом худшем случае, совпадений не находится и программа просит повторить фразу.
Лишние устройства прячу путем отключения в HC2 не используемой мною галочки "Сохранять логи на Панели Событий" (не совсем красиво но удобно), а так же не подгружаются скрытые. Так же, программа вместо имени устройства у меня подгружает поле "Lili включить команду:" если указано. Таким образом, без каких либо настроек, ее можно подключить к любому HC2 и все сразу начинает работать.
Итог - после часа практических тестов, ни одного ошибочного срабатывания, и практически мгновенная работа. Лишь иногда просит повторить команду, но здесь уже нужны нормальные микрофоны.
Если кому-то интересно, могу привести ее немного в порядок и выложить на тесты