Skip to content

Commit e0fab6d

Browse files
committed
Improvments to reconnect
1 parent fb8d141 commit e0fab6d

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

lib/device.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ def run(self, once: bool = True) -> bool:
4747
self._run(once)
4848
except:
4949
_LOGGER.warning("Exception in run loop")
50+
self.close()
5051
sleep(RECONNECT_DELAY)
5152
return not self._loop and self._measurements_counter > 0
5253

@@ -98,6 +99,7 @@ def _run(self, once: bool = True) -> bool:
9899
_LOGGER.error("Too many empty consecutive packages")
99100
raise DeviceError("Too many empty consecutive packages")
100101
if len(response) == 0:
102+
_LOGGER.debug(self._empty_bar() + "Empty message received")
101103
self._empty_counter += 1
102104
continue
103105
self._empty_counter = 0
@@ -109,6 +111,11 @@ def _run(self, once: bool = True) -> bool:
109111
self.close()
110112
return (once and len(self._measurements) > 0) or not once
111113

114+
def _empty_bar(self) -> str:
115+
empty_filled = int(self._empty_counter * 10 / ABORT_AFTER_CONSECUTIVE_EMPTY)
116+
empty_clear = 10 - empty_filled
117+
return "[" + ("#" * empty_filled) + (" " * empty_clear) + "]"
118+
112119
def _handle_response(self, data):
113120
if data[0] != 0 and data[1] != 0 and data[2] != 0 and data[2] != 3:
114121
_LOGGER.warning(
@@ -144,10 +151,7 @@ def _handle_response(self, data):
144151
self._handle_data_extended_response(data)
145152
else:
146153
pass
147-
_LOGGER.warning(
148-
"Ignore data package because invalid message type %s: %s"
149-
% (message_type, data)
150-
)
154+
_LOGGER.warning("Ignore data package because invalid message type %s" % message_type)
151155

152156
def _handle_passcode_response(self, data):
153157
pass
@@ -164,7 +168,7 @@ def _handle_data_response(self, data):
164168
self._measurements_counter += 1
165169
else:
166170
pass
167-
_LOGGER.debug(meas)
171+
_LOGGER.debug(self._empty_bar() + str(meas))
168172

169173
def _handle_data_extended_response(self, data):
170174
pass
@@ -176,12 +180,12 @@ def _handle_ping_pong_response(self):
176180
# pass
177181
# else:
178182
# _LOGGER.debug("Pong thread alredy running")
179-
_LOGGER.debug("Pong message received")
183+
_LOGGER.debug(self._empty_bar() + "Pong message received")
180184

181185
def _send_ping(self):
182186
pong_data = bytes.fromhex("0000000303000015")
183187
self._socket.sendall(pong_data)
184-
_LOGGER.debug("Ping sent")
188+
_LOGGER.debug(self._empty_bar() + "Ping sent")
185189

186190
def _ping_loop(self):
187191
while self._loop:

0 commit comments

Comments
 (0)