@@ -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