I am experiencing a persistent issue where Google Assistant fails to trigger exposed Home Assistant Scripts (Scenes/Routines) despite a verified connection via Nabu Casa. The problem appears to be a caching failure on the Google side.
Configuration and Setup
I have built a custom VLC music player system. The setup is verified working:
- HA Logic is Sound: I use “wrapper scripts” (e.g.,
script.google_spela_shine) to hardcode playlist variables, which then call a main logic script (script.spela_spellista). - System Bridge: The scripts successfully trigger a Node-RED/MQTT bridge, and the music starts when the script is called manually in Home Assistant.
- Exposure: All necessary scripts are explicitly exposed to Google Assistant via the Nabu Casa integration settings.
Troubleshooting Performed (Crucial for Diagnosis)
All underlying Home Assistant/MQTT logic is confirmed to be operational. The error is purely within the Google Assistant service layer.
- HA Script Works: Calling the script (
script.google_spela_shine) manually via Developer Tools works perfectly and plays the music. - Link Verification: The verbal command “Hey Google, sync my devices” results in the confirmation “Syncing devices from Nabu Casa,” confirming the bridge is active.
- Failure Symptom (NLU Rejection): When attempting to run the simplest, most direct command:
- Command: “Hey Google, activate Google Spela Shine.”
- Result: Google Assistant replies “I don’t understand” or plays generic music, indicating a failure to match the voice command to the exposed script name.
- Cache Reset Attempts: I have performed a full unlink and relink of the Nabu Casa service to clear the Google Home app cache.
Question for the Community
Given that the HA configuration is correct, but Google’s NLU engine is rejecting the simple, exposed script names:
- Is this a known caching issue with the current Google Assistant integration?
- Is there a specific service call or terminal command (e.g., via Google Cloud Console, not the voice command) that can force a deep NLU cache reset to make the script names visible?
Thank you for any insight you can provide!