I have a problem with the timers. It should work with my Wyoming satellite. When I request a countdown, it works well, but at the end of it, there is no sound. Here is my service file for my Wyoming satellite:
[Service]
Type=simple
User=faduchesne
ExecStart=/home/faduchesne/wyoming-satellite/script/run
–name ‘Satellite Salon’
–uri tcp://0.0.0.0:10700 \
–mic-command ‘arecord -D plughw:CARD=USB,DEV=0 -q -r 16000 -c 1 -f S16_LE -t raw’ \
–snd-command ‘aplay -D plughw:CARD=USB,DEV=0 -q -r 22050 -c 1 -f S16_LE -t raw’ \
–awake-wav sounds/awake.wav \
–done-wav sounds/done.wav \
–timer-finished-wav sounds/timer_finished.wav \
–timer-finished-wav-repeat 4 1 \
–mic-noise-suppression 2 \
–mic-auto-gain 15 \
–wake-uri tcp://127.0.0.1:10400 \
–wake-word-name tournesol
WorkingDirectory=/home/faduchesne/wyoming-satellite
Restart=always
RestartSec=1
To install my satellite, I used tutorial_installer.md (wyoming-satellite/docs/tutorial_installer.md at a2bb7c8f57162a2ea5a10b56eb67334f92ff5b8e · rhasspy/wyoming-satellite · GitHub ), but it does not provide instructions for the end-of-timer sound.
Thank you for your help.
Have you updated to teh latest version of Home Assistant?
Also, the order of the commands makes a difference in performance. Here is mine for reference. I have snapcast and Pulseaudio installed also but youll get the idea of the order to put things.
GNU nano 7.2 /etc/systemd/system/.#enhanced-wyoming-satellite.service340c743b7544e7e4 ExecStart=/home/sparesatellite2/wyoming-satellite/script/run \
--name 'Richs Office Satellite' \
--uri 'tcp://0.0.0.0:10700' \
--mic-auto-gain 5 \
--mic-noise-suppression 2 \
--mic-command 'parecord --property=media.role=phone --rate=16000 --channels=1 --format=s16le --raw --latency-msec 1> --snd-command-rate 44100 \
--snd-volume-multiplier 0.1 \
--snd-command 'paplay --property=media.role=announce --rate=44100 --channels=1 --format=s16le --raw --latency-msec > --wake-uri 'tcp://127.0.0.1:10400' \
--wake-word-name 'dimerzel' \
--detection-command '/home/sparesatellite2/wyoming-enhancements/snapcast/scripts/awake.sh' \
--tts-stop-command '/home/sparesatellite2/wyoming-enhancements/snapcast/scripts/done.sh' \
--error-command '/home/sparesatellite2/wyoming-enhancements/snapcast/scripts/done.sh' \
--awake-wav sounds/awake.wav \
--done-wav sounds/done.wav \
--timer-finished-wav sounds/timer_finished.wav \
--timer-finished-wav-repeat 3 1 \
--event-uri 'tcp://127.0.0.1:10500'
WorkingDirectory=/home/sparesatellite2/wyoming-satellite
Restart=always
RestartSec=1
[Install]
WantedBy=default.target
thx for your help. My home assistant is up to date . I change the order of the commands like your config . but it does not work for me .
Is your version of the satellite up to date?
I have many Errors in my log …
juil. 07 15:42:40 raspberrypi run[1070]: ERROR:asyncio:Task exception was never retrieved
juil. 07 15:42:40 raspberrypi run[1070]: future: <Task finished name='wyoming event handler' coro=<AsyncEventHandler.run() done, defined at /home/faduchesne/wyoming-satellite/.venv/lib/python3.11/site-packages/wyoming/server.py:31> exception=ConnectionResetError(104, 'Connection reset by peer')>
juil. 07 15:42:40 raspberrypi run[1070]: Traceback (most recent call last):
juil. 07 15:42:40 raspberrypi run[1070]: File "/home/faduchesne/wyoming-satellite/.venv/lib/python3.11/site-packages/wyoming/server.py", line 37, in run
juil. 07 15:42:40 raspberrypi run[1070]: event = await async_read_event(self.reader)
juil. 07 15:42:40 raspberrypi run[1070]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
juil. 07 15:42:40 raspberrypi run[1070]: File "/home/faduchesne/wyoming-satellite/.venv/lib/python3.11/site-packages/wyoming/event.py", line 79, in async_read_event
juil. 07 15:42:40 raspberrypi run[1070]: json_line = await reader.readline()
juil. 07 15:42:40 raspberrypi run[1070]: ^^^^^^^^^^^^^^^^^^^^^^^
juil. 07 15:42:40 raspberrypi run[1070]: File "/usr/lib/python3.11/asyncio/streams.py", line 545, in readline
juil. 07 15:42:40 raspberrypi run[1070]: line = await self.readuntil(sep)
juil. 07 15:42:40 raspberrypi run[1070]: ^^^^^^^^^^^^^^^^^^^^^^^^^
juil. 07 15:42:40 raspberrypi run[1070]: File "/usr/lib/python3.11/asyncio/streams.py", line 637, in readuntil
juil. 07 15:42:40 raspberrypi run[1070]: await self._wait_for_data('readuntil')
juil. 07 15:42:40 raspberrypi run[1070]: File "/usr/lib/python3.11/asyncio/streams.py", line 522, in _wait_for_data
juil. 07 15:42:40 raspberrypi run[1070]: await self._waiter
juil. 07 15:42:40 raspberrypi run[1070]: File "/usr/lib/python3.11/asyncio/selector_events.py", line 995, in _read_ready__data_received
juil. 07 15:42:40 raspberrypi run[1070]: data = self._sock.recv(self.max_size)
juil. 07 15:42:40 raspberrypi run[1070]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
juil. 07 15:42:40 raspberrypi run[1070]: ConnectionResetError: [Errno 104] Connection reset by peer
I once tried to get one operating properly using the installer and it just didnt work as well as building one following the full tutorial.
It only takes 30-45 minutes using the tutorial. I dont think the installer was much better.
furdog
(furdog)
July 8, 2024, 9:37pm
7
I had a similar issue. I was able to resolve it by combining the finished timer on just one line. Here is the syntax I used.
[Service]
Type=simple
ExecStart=/home/theatersatellite/wyoming-satellite/script/run
–event-uri ‘tcp://127.0.0.1:10500’ \
–wake-uri ‘tcp://127.0.0.1:10400’ \
–wake-word-name ‘hey_jarvis’ \
–mic-auto-gain 5 \
–mic-noise-suppression 2 \
–name ‘theater satellite’ \
–uri ‘tcp://0.0.0.0:10700’ \
–mic-command ‘arecord -D plughw:CARD=seeed2micvoicec,DEV=0 -r 16000 -c 1 -f S16_LE -t raw’ \
–snd-command ‘aplay -D plughw:CARD=seeed2micvoicec,DEV=0 -r 16000 -c 1 -f S16_LE -t raw’ \
–snd-command-rate 16000 \
–snd-volume-multiplier 0.1 \
–awake-wav ‘sounds/awake.wav’ \
–done-wav ‘sounds/done.wav’ \
–timer-finished-wav ‘sounds/timer_finished.wav’ --timer-finished-wav-repeat 3 2
WorkingDirectory=/home/theatersatellite/wyoming-satellite
Restart=always
RestartSec=1
thx for help ! it doesn’t work anymore. I give up … it’s not a solution for a noob.