github rusty4444/hermes-voice-ha-integration v0.0.8
v0.0.8 — Assist Conversation Agent + WebSocket Reader Fix

6 hours ago

What's Changed

🎙️ Assist Conversation Agent (#27, #28)

Hermes can now be selected as a conversation agent in Home Assistant Assist pipelines. The flow is: HA Voice wakes/listens → STT → Assist sends text to Hermes → Hermes responds → TTS speaks the response.

  • Added Platform.CONVERSATION and HermesConversationAgent implementing ConversationEntity.async_process()
  • Text is forwarded to Hermes via WebSocket (assist_query / assist_response message types)
  • Graceful error handling with speech fallbacks when Hermes is unavailable

🔌 WebSocket Reader Keep-Alive (#27)

The HA integration now maintains a persistent background reader task that continuously drains messages from the Hermes WebSocket, keeping the aiohttp heartbeat alive.

  • voice_settings commands now return sent: true immediately instead of being queued
  • Auto-reconnect on disconnect
  • Reader task is properly cancelled during shutdown

📦 Other fixes

  • #26: Fixed add-on Hermes home and cache paths for Docker environment
  • Documentation: Added WebSocket message type reference for Assist pipeline and troubleshooting entry for timeouts
  • Code review: Addressed Kimi K2 findings

Protocol Notes

The conversation pathway uses two new WebSocket message types:

  • Outgoing: {"type": "assist_query", "text": "...", "conversation_id": "...", "language": "..."}
  • Incoming: {"type": "assist_response", "text": "...", "conversation_id": "...", "speech": {...}}

Don't miss a new hermes-voice-ha-integration release

NewReleases is sending notifications on new releases.