Introduction
Many
Home Assistant users notice that their voice assistant sometimes fails to
respond or misses wake-word triggers, especially when the system is busy. One
of the most common scenarios is when the CPU load spikes during Zigbee
network map updates, causing noticeable delays or missed voice commands.
This article explains why this happens and how to prevent it.
Why It Happens
1. Zigbee Map Scans Are CPU-Intensive
Generating
a Zigbee network map requires Home Assistant to poll many devices, collect
routing information, and build a full topology.
This process is CPU-heavy, especially on Raspberry Pi, low-power mini PCs,
or NAS devices running multiple add-ons.
During
the scan, the voice assistant has fewer CPU cycles available to process voice
triggers, causing missed activations.
2. Wake-Word Detection Is Sensitive to Latency
Home
Assistant’s voice assistant runs wake-word detection locally.
Even a 50–150 ms delay in processing audio frames can cause:
- Missed wake-word
- Partial detection
- Commands not being
executed
A
CPU spike interrupts the real-time audio pipeline, leading to missed triggers.
3. Zigbee Map Requests Block the Radio Thread
When
the Zigbee coordinator is busy collecting routing tables, the Zigbee stack
temporarily prioritizes network data instead of event callbacks.
This affects:
- Motion sensors
- Contact sensors
- Buttons
- Even voice
assistant integration events that depend on Zigbee add-ons
This
competition for resources increases the chance of missed triggers.
4. Insufficient Hardware Resources
If
you run the following simultaneously on small hardware, voice triggers are
easily dropped:
- Zigbee2MQTT
- Z-Wave JS
- Add-ons (Node-RED,
ESPHome, InfluxDB, AdGuard…)
- Media processing
- Voice assistant
pipelines
A
CPU spike caused by the Zigbee map is enough to cause temporary instability.
How to Fix the Issue
1. Schedule Zigbee Map Updates Manually
Avoid
automatic map refreshes.
Instead, generate maps only when necessary — for example, after adding/removing
devices.
2. Increase Hardware Capacity
Upgrading
from a Raspberry Pi to:
- Intel N100 mini PC
- i3/i5 8th gen or
higher
- Synology or Unraid
with enough cores
will
significantly reduce CPU bottlenecks.
3. Use a Dedicated Voice Assistant Pipeline
Move
voice detection to:
- An external ESP32
voice satellite
- A separate Home
Assistant instance
- A dedicated device
running Whisper or wake-word detection
This
prevents CPU competition.
4. Avoid Running Zigbee, Z-Wave, and Voice Add-ons on One Core
Pin
CPU cores (on Linux) to isolate:
- Zigbee2MQTT
- Z-Wave JS
- Voice assistant
pipeline
This
keeps real-time audio processing smooth.
5. Reduce Zigbee Traffic During the Scan
Turn
off unnecessary automations during a network map update, especially:
- State-heavy
devices
- Power reporting
every 1–5 seconds
- Sensors with
frequent polling
Conclusion