From 6ee92b6ede18a4d5074f79492f5977971f108b50 Mon Sep 17 00:00:00 2001 From: Adolfo Reyna Date: Fri, 19 Jun 2026 20:03:54 -0400 Subject: [PATCH] Disable WebSocket heartbeat on server and increase client timeout to 30s to resolve connection drops --- demo_websocket_voice.py | 2 +- hermes_voice_gateway/api_server_endpoint.py | 2 +- main.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/demo_websocket_voice.py b/demo_websocket_voice.py index 941ae3f..9a87fbc 100644 --- a/demo_websocket_voice.py +++ b/demo_websocket_voice.py @@ -82,7 +82,7 @@ def main(): "X-Device-ID": DEVICE_ID } - ws = WebSocketClient(HERMES_WS_URL, headers=headers) + ws = WebSocketClient(HERMES_WS_URL, headers=headers, timeout=30) try: ws.connect() diff --git a/hermes_voice_gateway/api_server_endpoint.py b/hermes_voice_gateway/api_server_endpoint.py index 16fd46c..5f63913 100644 --- a/hermes_voice_gateway/api_server_endpoint.py +++ b/hermes_voice_gateway/api_server_endpoint.py @@ -663,7 +663,7 @@ class HermesESP32VoiceGatewayMixin: return auth_err # Prepare websocket response - ws = web.WebSocketResponse() + ws = web.WebSocketResponse(heartbeat=None) await ws.prepare(request) device_id = (request.headers.get("X-Device-ID") or request.query.get("device_id") or "default").strip()[:80] or "default" diff --git a/main.py b/main.py index 59650a8..8f8052d 100644 --- a/main.py +++ b/main.py @@ -420,7 +420,7 @@ def main(): "Authorization": "Bearer mcT1YA1vOr9wXSiHpCYalweEGGZKX-PIfZv2drp8BSg", "X-Device-ID": device_id } - ws = WebSocketClient("ws://192.168.68.126:8642/api/esp32/voice/ws", headers=headers) + ws = WebSocketClient("ws://192.168.68.126:8642/api/esp32/voice/ws", headers=headers, timeout=30) ws.connect() ws.send_text(json.dumps({ "event": "start",