Skip to content

feat: enable continue_conversation for Voice PE follow-up dialog#11

Open
L0rz wants to merge 1 commit intotechartdev:mainfrom
L0rz:fix/continue-conversation
Open

feat: enable continue_conversation for Voice PE follow-up dialog#11
L0rz wants to merge 1 commit intotechartdev:mainfrom
L0rz:fix/continue-conversation

Conversation

@L0rz
Copy link
Copy Markdown

@L0rz L0rz commented Mar 26, 2026

Summary

When the assistant's response ends with a question or contains common follow-up patterns, set continue_conversation=True on the ConversationResult. This tells Voice PE and other HA voice satellites to automatically re-listen after the response finishes playing, enabling natural back-and-forth dialog without requiring the wake word between each turn.

Changes

  • Added _should_continue() static method with heuristic detection:
    • Trailing question marks (handles quotes, parens, emoji)
    • Common follow-up patterns in English and German ("would you like", "soll ich", etc.)
  • Pass continue_conversation to ConversationResult

How it works

Voice PE firmware 25.3.0+ supports continued conversations when the conversation agent signals it. Without this flag, users must say the wake word again after every response — even when the assistant explicitly asks a question.

With this change:

  1. Assistant: "How long should the timer run?"
  2. Voice PE automatically re-listens (no wake word needed)
  3. User: "5 minutes"
  4. Timer starts

Fixes #7

When the assistant's response ends with a question mark or contains
common follow-up patterns (EN/DE), set continue_conversation=True
on the ConversationResult. This tells Voice PE and other HA voice
satellites to automatically re-listen after the response finishes
playing, enabling natural back-and-forth dialog without requiring
the wake word between turns.

Fixes techartdev#7
DarrenBenson added a commit to DarrenBenson/OpenClawHomeAssistantIntegration that referenced this pull request Mar 29, 2026
Tier 1 improvements from code review:

- Extract _extract_text_recursive and _normalize_optional_text to
  shared utils.py module (was duplicated in __init__.py and conversation.py)
- Map OpenClawConnectionError/AuthError to FAILED_TO_HANDLE instead of
  UNKNOWN, helping HA's Assist pipeline make smarter fallback decisions
- Fix api.py session fallback to log warnings when HA-managed session
  is unexpectedly closed instead of silently creating orphan sessions
- Merge PR techartdev#11 continue_conversation for Voice PE follow-up dialog
- Fix regex syntax warning in _should_continue

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Continued conversation does not re-listen, follow-up intent gets lost

1 participant