firmware: self-heal the wake engine when it is found stopped - #13
Merged
Conversation
micro_wake_word.start's only call site was voice_assistant.on_client_connected, so an HA restart whose assist_satellite subscription never re-established left the wake engine stopped forever while the LED looked normal (47h dead window Aug 14-16, 16h dead window Aug 28). The wake path (mww -> websocket broker) does not need HA, so a 60s interval now restarts the engine whenever it is stopped: worst case ~2 min deaf instead of forever. Also pins the upstream home-assistant-voice-pe external component to the SHA the puck was last flashed with; ref: dev is a moving branch and rebuilds were silently pulling unreviewed upstream changes. Verified live: OTA-flashed, then with HA stopped a rebooted puck self-healed after 52s (WARN line + STOPPED -> DETECTING_WAKE_WORD in device logs). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NnawsemyCTiRi5Gp6XSjBx
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A 60s
intervalinvoice_pe_dual.yamlthat restartsmicro_wake_wordwhenever it is found stopped, plus pinning the upstreamhome-assistant-voice-peexternal component to the last-flashed SHA (5a4e7ee) instead of the movingdevbranch.Why
micro_wake_word.start's only call site wasvoice_assistant.on_client_connected. If HA restarts and the assist_satellite subscription doesn't re-establish, the wake engine stays stopped forever while the LED looks normal. This caused the 47h dead window (Aug 14-16) and a 16h dead window (Aug 28). The Mycroft wake path (mww → websocket broker) doesn't need HA at all, so an always-running wake engine is strictly safer; mww already runs continuously mid-session (stop_after_detection: falsepowers barge-in).Verification
esphome configclean, compiled, OTA-flashed to the puck (already live).mww self-heal: wake engine stopped, restartingWARN +State changed from STOPPED to STARTING → DETECTING_WAKE_WORDin device logs) → HA started → satellite reconnected cleanly.make checkGREEN 2/2 (isolated dev broker on 8766).🤖 Generated with Claude Code
https://claude.ai/code/session_01NnawsemyCTiRi5Gp6XSjBx