Rhasspy client can't connect to server (2.5-pre)

Hi everyone,

I am trying to use Rhasspy in a client/server configuration over “Remote HTTP”, but the client is not able to connect to the server. I was following the client/server tutorial in the documentation and the setup looks like this:

Raspberry Pi 4:

  • Rhasspy 2.5-pre server installed via Docker Compose
  • Home Assistant Core 0.109.2 installed via Docker Compose

Raspberry Pi Zero W:

  • Rhasspy 2.5-pre client installed via Docker Compose

Now when I try to test the functionality by clicking on “Wake up” in the client web UI and say, for example, “what time is it”, the below error appears in the client log. In general, the client is able to connect to the server, so for instance pinging the server is successful.

[ERROR:2020-05-02 17:54:40,469] rhasspyserver_hermes: Cannot connect to host raspi4b01.local:12101 ssl:<ssl.SSLContext object at 0xb51767c8> [Name or service not known]
Traceback (most recent call last):
File “/usr/lib/rhasspy-voltron/.venv/lib/python3.7/site-packages/quart/app.py”, line 1821, in full_dispatch_request
result = await self.dispatch_request(request_context)
File “/usr/lib/rhasspy-voltron/.venv/lib/python3.7/site-packages/quart/app.py”, line 1869, in dispatch_request
return await handler(**request_.view_args)
File “/usr/lib/rhasspy-voltron/rhasspy-server-hermes/rhasspyserver_hermes/main.py”, line 812, in api_listen_for_command
raise RuntimeError(text_captured.error)
RuntimeError: Cannot connect to host raspi4b01.local:12101 ssl:<ssl.SSLContext object at 0xb51767c8> [Name or service not known]
[DEBUG:2020-05-02 17:54:40,395] rhasspyserver_hermes: Handling AsrError (topic=hermes/error/asr, id=0ba78cfb-fc3f-4ad0-b97b-9578bed55786)
[DEBUG:2020-05-02 17:54:36,068] rhasspyserver_hermes: Publishing 170 bytes(s) to hermes/asr/startListening
[DEBUG:2020-05-02 17:54:36,032] rhasspyserver_hermes: -> AsrStartListening(site_id=‘living_room’, session_id=‘46105995-16d5-4bb7-9188-7ddc25e6269b’, stop_on_silence=True, send_audio_captured=True, wakeword_id=None, intent_filter=None)
[DEBUG:2020-05-02 17:54:35,813] rhasspyserver_hermes: Waiting for transcription (session_id=46105995-16d5-4bb7-9188-7ddc25e6269b)
[DEBUG:2020-05-02 17:54:24,852] rhasspyprofile.download: speech_to_text.kaldi.mix_weight >0 0 = False
[DEBUG:2020-05-02 17:54:24,828] rhasspyprofile.download: speech_to_text.pocketsphinx.mix_weight >0 0 = False
[DEBUG:2020-05-02 17:54:24,809] rhasspyprofile.download: speech_to_text.deepspeech.open_transcription True False = False
[DEBUG:2020-05-02 17:54:24,800] rhasspyprofile.download: speech_to_text.kaldi.open_transcription True False = False
[DEBUG:2020-05-02 17:54:24,785] rhasspyprofile.download: speech_to_text.pocketsphinx.open_transcription True False = False
[DEBUG:2020-05-02 17:54:24,759] rhasspyprofile.download: speech_to_text.system deepspeech remote = False
[DEBUG:2020-05-02 17:54:24,749] rhasspyprofile.download: speech_to_text.system kaldi remote = False
[DEBUG:2020-05-02 17:54:24,740] rhasspyprofile.download: speech_to_text.system pocketsphinx remote = False

Unfortunately, an extensive Google search did not bring up a viable solution. I hope you can help me solve this issue.

Thank you very much in advance.

Another observation I have made: If I change the Remote HTTP URL and replace the hostnames with the IP address of the respective devices, I get the following timeout error:

[ERROR:2020-05-03 10:27:53,547] rhasspyserver_hermes:
Traceback (most recent call last):
File “/usr/lib/rhasspy-voltron/.venv/lib/python3.7/site-packages/quart/app.py”, line 1821, in full_dispatch_request
result = await self.dispatch_request(request_context)
File “/usr/lib/rhasspy-voltron/.venv/lib/python3.7/site-packages/quart/app.py”, line 1869, in dispatch_request
return await handler(**request_.view_args)
File “/usr/lib/rhasspy-voltron/rhasspy-server-hermes/rhasspyserver_hermes/main.py”, line 807, in api_listen_for_command
handle_captured(), messages, message_types
File “/usr/lib/rhasspy-voltron/rhasspy-server-hermes/rhasspyserver_hermes/init.py”, line 890, in publish_wait
result_awaitable, timeout=timeout_seconds
File “/usr/local/lib/python3.7/asyncio/tasks.py”, line 449, in wait_for
raise futures.TimeoutError()
concurrent.futures._base.TimeoutError
[DEBUG:2020-05-03 10:27:23,508] rhasspyserver_hermes: Publishing 170 bytes(s) to hermes/asr/startListening
[DEBUG:2020-05-03 10:27:23,487] rhasspyserver_hermes: -> AsrStartListening(site_id=‘living_room’, session_id=‘60ab62ec-844e-4d85-9c52-df43ba225d90’, stop_on_silence=True, send_audio_captured=True, wakeword_id=None, intent_filter=None)
[DEBUG:2020-05-03 10:27:23,378] rhasspyserver_hermes: Subscribed to hermes/error/asr
[DEBUG:2020-05-03 10:27:23,303] rhasspyserver_hermes: Waiting for transcription (session_id=60ab62ec-844e-4d85-9c52-df43ba225d90)

Hello,

From your satellite, can you ping this host (by ip and name) ?

Ced

Yes, I can ping my Rhasspy server from the satellite either by hostname or IP. If I log directly into the Rhasspy Docker container on the satellite, I can ping the server by IP, but not by hostname.
Maybe that’s the reason I get a different error if I use the IP instead of the hostname in the Rhasspy configuration (see my second post).