Голосовое управление:
- на сервере устанавливается vosk-api, голосовая модель и запускается vosk-server
- на клиенте устанавливается WebRTC VAD и запускается vosk-client
Из-за некоторых особенностей OpenHAB использует такой протокол:
- при обнаружении ключевой фразы клиент принимает команду и через REST API передает ее исполнителю
- исполнитель обрабатывает команду и по завершении отвечает клиенту на запрос по другому URL
- клиент передает пустую команду, после этого ответ тоже начинает отдаваться пустым
Каждый клиентский хост использует свой URL, соответствующий Item'у в OpenHAB. Сервер, распознающий речь -
общий на локальную сеть.