Home Assistant's shared session defaults to ClientTimeout(total=300), which cut a healthy event stream every five minutes; transitions fired during the reconnect window are not replayed. The stream request now passes ClientTimeout(total=None, sock_connect=<client timeout>), with aiohttp imported lazily so the client stays importable without it. Tests run the stream path against a stand-in aiohttp module fixture. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>