Problems with snips-satellite and workaround

Bizarre experiences with snips-satellite
Configuration: Raspi Pi3, Raspbian Stretch, Kernel: 4.19.66-v7 +
The installation was made according to the official instructions. Then systemctl status snips-satellite reported:
pi@satellite02:~ $ sudo systemctl status snips-*
● snips-satellite.service - Snips Satellite
Loaded: loaded (/lib/systemd/system/snips-satellite.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2019-10-04 11:26:21 BST; 18s ago
Main PID: 482 (snips-satellite)
Tasks: 4 (limit: 4915)
CGroup: /system.slice/snips-satellite.service
└─482 /usr/bin/snips-satellite

Okt 04 11:26:27 satellite02 snips-satellite[482]:  -> caused by: an error occured in the audio pipeline: OtherError(Error("snd_pcm_open", Sys(ENOENT)))
Okt 04 11:26:27 satellite02 snips-satellite[482]: could not register to server
Okt 04 11:26:27 satellite02 snips-satellite[482]:  -> caused by: could not register to server
Okt 04 11:26:27 satellite02 snips-satellite[482]:  -> caused by: an error occured in the audio pipeline: Error("snd_pcm_open", Sys(ENOENT))
Okt 04 11:26:27 satellite02 snips-satellite[482]:  -> caused by: ALSA function 'snd_pcm_open' failed with error 'ENOENT: No such file or directory'
Okt 04 11:26:27 satellite02 snips-satellite[482]: INFO:snips_hotword_lib::audio    : Net and VAD thread for site satellite02.local ended
Okt 04 11:26:27 satellite02 snips-satellite[482]: INFO:snips_audio_server_hermes::player: started hermes audio player thread
Okt 04 11:26:27 satellite02 snips-satellite[482]: INFO:snips_broadcast_mqtt_server      : Starting broadcasting audio on hermes for site "satellite02.local"
Okt 04 11:26:27 satellite02 snips-satellite[482]: INFO:snips_hotword_lib::audio         : Audio thread for satellite02.local ended
Okt 04 11:26:27 satellite02 snips-satellite[482]: INFO:snips_hotword_lib                : detector.hey_snips.satellite02.local thread done

In this state, the satellite does not respond to “Hey snips”. Only when the snips-satellite unit is restarted will it start running:
pi@satellite02:~ $ sudo systemctl status snips-*
● snips-satellite.service - Snips Satellite
Loaded: loaded (/lib/systemd/system/snips-satellite.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2019-10-04 11:14:12 BST; 9min ago
Main PID: 607 (snips-satellite)
Tasks: 9 (limit: 4915)
CGroup: /system.slice/snips-satellite.service
└─607 /usr/bin/snips-satellite

Okt 04 11:14:18 satellite02 snips-satellite[607]: INFO:snips_broadcast_mqtt_server      : Starting broadcasting audio on hermes for site "satellite02.local"
Okt 04 11:15:15 satellite02 snips-satellite[607]: INFO:snips_hotword_hermes             : Hotword detected: site_id:satellite02.local model:hey_snips (91ms ago)
Okt 04 11:15:15 satellite02 snips-satellite[607]: INFO:snips_hotword_lib::audio         : Audio thread for site satellite02.local stopped.
Okt 04 11:15:15 satellite02 snips-satellite[607]: INFO:snips_audio_alsa::playback       : Using ALSA output None ("USB Audio") for "abfb1cfb-3c04-4439-8450-d02b5b1d34cb", WavSpec { channels: 2, sample_rate: 22050, bits_per_sample: 16, sample_format: Int }
Okt 04 11:15:16 satellite02 snips-satellite[607]: INFO:snips_audio_alsa::playback       : Playback for abfb1cfb-3c04-4439-8450-d02b5b1d34cb finished
Okt 04 11:15:20 satellite02 snips-satellite[607]: INFO:snips_audio_alsa::playback       : Using ALSA output None ("USB Audio") for "b9f6dd47-0fcf-4831-a039-33fc01379e6e", WavSpec { channels: 2, sample_rate: 22050, bits_per_sample: 16, sample_format: Int }
Okt 04 11:15:21 satellite02 snips-satellite[607]: INFO:snips_audio_alsa::playback       : Playback for b9f6dd47-0fcf-4831-a039-33fc01379e6e finished
Okt 04 11:15:21 satellite02 snips-satellite[607]: INFO:snips_audio_alsa::playback       : Using ALSA output None ("USB Audio") for "52b2f380-201d-464a-91f1-85beb211ce16", WavSpec { channels: 1, sample_rate: 16000, bits_per_sample: 16, sample_format: Int }
Okt 04 11:15:24 satellite02 snips-satellite[607]: INFO:snips_audio_alsa::playback       : Playback for 52b2f380-201d-464a-91f1-85beb211ce16 finished
Okt 04 11:15:26 satellite02 snips-satellite[607]: INFO:snips_hotword_lib::audio         : Audio thread for site satellite02.local started.

The problem seems to be related to the alsa subsystem. However, no success after the addition of
After = network.target alsa-restore.service
at the snips-satellite.service file.

Only editing of /etc/rc.local solved the problem. There I put the following before exit statement:
sleep 5
systemctl restart snips-satellite

Now it’s working. But is not there a better solution?

I found a better solution! The problem was the long time respeaker 4-mic needed to be initialized. Solution: I edited /lib/systemd/system/snips-satellite.service and added the unit seeed-voicecard.service in the After= line of the [Unit] section. Now snips-satellite is started when the recommended components are online.