Hi, I just wanted to ask if anyone could help with it the following issue. I've been using an ESP32 based homemade satellite using a MAX98357 amp, and an INMP441 mic, where my HA setup is HAOS running as a VM, and Piper and Whisper running as LXC's in Proxmox. The satellite is using the media player component, so I can adjust the volume of the speaker, and make media player service calls from HA.
#No response from satellite speaker - Piper?
1 messages · Page 1 of 1 (latest)
I've noticed sometimes with this particular satellite, that I don't get any response from the speaker, when asking for a request. I can however see that the media player is playing, and have actually noticed that it stays stuck on playing until I restart the satellite, or make a media player stop service call from HA.
I've also noticed that there is an error in the HA logs m whenever this happens, which I'll post below
Source: components/wyoming/tts.py:125
First occurred: 12:58:04 (2 occurrences)
Last logged: 13:20:06
Error doing job: Exception in callback SpeechManager._async_get_tts_audio.<locals>.handle_error(<Task cancell...nit__.py:691>>) at /usr/src/homeassistant/homeassistant/components/tts/__init__.py:757
Traceback (most recent call last):
File "/usr/local/lib/python3.11/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 759, in handle_error
if audio_task.exception():
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 701, in get_tts_data
extension, data = await engine_instance.internal_async_get_tts_audio(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 451, in internal_async_get_tts_audio
return await self.async_get_tts_audio(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/wyoming/tts.py", line 125, in async_get_tts_audio
event = await client.read_event()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/wyoming/client.py", line 25, in read_event
return await async_read_event(self._reader)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/wyoming/event.py", line 77, in async_read_event
json_line = await reader.readline()
^^^^^^^^^^^^^^^^^^^^^^^
line = await self.readuntil(sep)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/streams.py", line 640, in readuntil
await self._wait_for_data('readuntil')
File "/usr/local/lib/python3.11/asyncio/streams.py", line 525, in _wait_for_data
await self._waiter
asyncio.exceptions.CancelledError
Here's another error I've noticed, that happens at the same time
Source: components/tts/__init__.py:221
First occurred: 14:13:04 (1 occurrences)
Last logged: 14:13:04
Error doing job: Exception in callback SpeechManager._async_get_tts_audio.<locals>.handle_error(<Task cancell...nit__.py:691>>) at /usr/src/homeassistant/homeassistant/components/tts/__init__.py:757
Traceback (most recent call last):
File "/usr/local/lib/python3.11/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 759, in handle_error
if audio_task.exception():
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 720, in get_tts_data
data = await async_convert_audio(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 221, in async_convert_audio
return await hass.async_add_executor_job(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
asyncio.exceptions.CancelledError
I've also noticed the following in the Piper logs on the LXC
future: <Task finished name='Task-738' coro=<AsyncEventHandler.run() done, defined at /usr/local/lib/python3.9/dist-packages/wyoming/server.py:28> exception=ConnectionResetError('Connection lost')>
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/wyoming/server.py", line 35, in run
if not (await self.handle_event(event)):
File "/usr/local/lib/python3.9/dist-packages/wyoming_piper/handler.py", line 122, in handle_event
await self.write_event(
File "/usr/local/lib/python3.9/dist-packages/wyoming/server.py", line 26, in write_event
await async_write_event(event, self.writer)
File "/usr/local/lib/python3.9/dist-packages/wyoming/event.py", line 114, in async_write_event
await writer.drain()
File "/usr/lib/python3.9/asyncio/streams.py", line 387, in drain
await self._protocol._drain_helper()
File "/usr/lib/python3.9/asyncio/streams.py", line 190, in _drain_helper
raise ConnectionResetError('Connection lost')
ConnectionResetError: Connection lost