Skip to content

Commit 3f89a63

Browse files
authored
fix: websocket ping/pong keepalive check (#472)
* fix: websocket ping/pong keepalive check * version bump
1 parent ff94bbc commit 3f89a63

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

openevsehttp/websocket.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ async def keepalive(self):
147147
"""Send ping requests to websocket."""
148148
if self._ping and self._pong:
149149
time_delta = self._pong - self._ping
150-
if time_delta < 0:
150+
if time_delta < datetime.timedelta(0):
151151
# Negitive time should indicate no pong reply so consider the
152152
# websocket disconnected.
153153
self._error_reason = ERROR_PING_TIMEOUT
@@ -156,9 +156,12 @@ async def keepalive(self):
156156
data = {"ping": 1}
157157
_LOGGER.debug("Sending message: %s to websocket.", data)
158158
try:
159-
await self._client.send_json(data)
160-
self._ping = datetime.datetime.now()
161-
_LOGGER.debug("Ping message sent.")
159+
if self._client:
160+
await self._client.send_json(data)
161+
self._ping = datetime.datetime.now()
162+
_LOGGER.debug("Ping message sent.")
163+
else:
164+
_LOGGER.warning("Websocket client not found.")
162165
except TypeError as err:
163166
_LOGGER.error("Attempt to send ping data failed: %s", err)
164167
except ValueError as err:

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
PROJECT_DIR = Path(__file__).parent.resolve()
88
README_FILE = PROJECT_DIR / "README.md"
9-
VERSION = "0.1.88"
9+
VERSION = "0.1.89"
1010

1111
setup(
1212
name="python_openevse_http",

0 commit comments

Comments
 (0)