-
Notifications
You must be signed in to change notification settings - Fork 9
Description
Hi developers!
Just upgraded the SinricPro iOS App to v3.17.103 to check out the new improvements. When looking at the activity log, I've discovered a message that has been appearing once in a while:
WARNING: YOUR DEVICE WITH MAC: WITH IDS: 6949****************a61c IS RESETTING THE CONNECTION TO SERVER TOO MANY TIMES. FURTHER RECONNECTION ATTEMPS ARE BLOCKED! PLEASE FIX THIS ASAP!
Inspecting the logs of the device, what I find is a connection loop, always triggered by a 'WebSocket pong timeout' situation.
- connection is CONNECTING
- connection is OPEN
- a few ping-pongs occur, once every minute
- then it decides that the pong timed out
- websocket conection is then closed
- next reconnection attempt
Here's the log for one iteration below.
Tested on Python SDK 5.0.1 (the latest one published on PyPi)
Note: I haven't inspected network traffic but I see in the log 2 occurrences of "CLOSE 1000 (OK)" messages, so I assume both parties agreed on closing the socket, so the connection wasn't actually as dead at it appeared)
feb 19 02:51:43 raspi-lasian pysinricpro[521]: [SinricPro:INFO] Attempting to reconnect...
feb 19 02:51:44 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - = connection is CONNECTING
feb 19 02:51:44 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > GET / HTTP/1.1
feb 19 02:51:44 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > Host: ws.sinric.pro
feb 19 02:51:44 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > Upgrade: websocket
feb 19 02:51:44 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > Connection: Upgrade
feb 19 02:51:44 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > Sec-WebSocket-Key: KPCP...ug==
feb 19 02:51:44 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > Sec-WebSocket-Version: 13
feb 19 02:51:44 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
feb 19 02:51:44 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > appkey: 3df3...82c1
feb 19 02:51:44 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > deviceids: 6949****************a61c
feb 19 02:51:44 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > platform: Python
feb 19 02:51:44 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > SDKVersion: 5.0.1
feb 19 02:51:44 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > User-Agent: Python/3.13 websockets/15.0.1
feb 19 02:51:45 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < HTTP/1.1 101 Switching Protocols
feb 19 02:51:45 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < Server: nginx
feb 19 02:51:45 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < Date: Thu, 19 Feb 2026 01:51:44 GMT
feb 19 02:51:45 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < Connection: upgrade
feb 19 02:51:45 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < Upgrade: websocket
feb 19 02:51:45 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < Sec-WebSocket-Accept: MR1J...6Y=
feb 19 02:51:45 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - = connection is OPEN
feb 19 02:51:45 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < TEXT '{"timestamp":1771465904}' [24 bytes]
feb 19 02:51:48 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < PING '' [0 bytes]
feb 19 02:51:48 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > PONG '' [0 bytes]
feb 19 02:52:10 raspi-lasian pysinricpro[521]: root - INFO - Updating stove state...
feb 19 02:52:48 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < PING '' [0 bytes]
feb 19 02:52:48 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > PONG '' [0 bytes]
feb 19 02:53:10 raspi-lasian pysinricpro[521]: root - INFO - Updating stove state...
feb 19 02:53:48 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < PING '' [0 bytes]
feb 19 02:53:48 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > PONG '' [0 bytes]
feb 19 02:54:10 raspi-lasian pysinricpro[521]: root - INFO - Updating stove state...
feb 19 02:54:48 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < PING '' [0 bytes]
feb 19 02:54:48 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > PONG '' [0 bytes]
feb 19 02:55:10 raspi-lasian pysinricpro[521]: root - INFO - Updating stove state...
feb 19 02:55:48 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < PING '' [0 bytes]
feb 19 02:55:48 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > PONG '' [0 bytes]
feb 19 02:56:10 raspi-lasian pysinricpro[521]: root - INFO - Updating stove state...
feb 19 02:56:45 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > PING '\x10\x02<\x0f' [text, 4 bytes]
feb 19 02:56:45 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < PONG '\x10\x02<\x0f' [text, 4 bytes]
feb 19 02:56:48 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < PING '' [0 bytes]
feb 19 02:56:48 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > PONG '' [0 bytes]
feb 19 02:56:55 raspi-lasian pysinricpro[521]: [SinricPro:ERROR] WebSocket pong timeout - connection appears dead
feb 19 02:56:55 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > CLOSE 1000 (OK) [2 bytes]
feb 19 02:56:55 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - = connection is CLOSING
feb 19 02:56:55 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < CLOSE 1000 (OK) [2 bytes]
feb 19 02:56:55 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - < EOF
feb 19 02:56:55 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - > EOF
feb 19 02:56:55 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - = connection is CLOSED
feb 19 02:56:55 raspi-lasian pysinricpro[521]: websockets.client - DEBUG - x closing TCP connection
feb 19 02:56:55 raspi-lasian pysinricpro[521]: [SinricPro:INFO] WebSocket disconnected
feb 19 02:57:00 raspi-lasian pysinricpro[521]: [SinricPro:INFO] Attempting to reconnect...
I'm affraid there's nothing I can do about the "PLEASE FIX THIS ASAP" message as a consumer of the Python SDK.
Please tell me if you need any further detail, or packet captures, etc.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
