cleanup msg_get_time handler

This commit is contained in:
Stefan Allius
2024-06-09 11:41:01 +02:00
parent d6093e6b11
commit 53f6a5447d

View File

@@ -41,7 +41,7 @@ class Talent(Message):
self.id_str = id_str self.id_str = id_str
self.contact_name = b'' self.contact_name = b''
self.contact_mail = b'' self.contact_mail = b''
self.ts_offset = 0 self.ts_offset = 0 # time offset between tsun cloud and local
self.db = InfosG3() self.db = InfosG3()
self.switch = { self.switch = {
0x00: self.msg_contact_info, 0x00: self.msg_contact_info,
@@ -142,7 +142,7 @@ class Talent(Message):
def send_modbus_cb(self, modbus_pdu: bytearray, log_lvl: int, state: str): def send_modbus_cb(self, modbus_pdu: bytearray, log_lvl: int, state: str):
if self.state != self.STATE_UP: if self.state != self.STATE_UP:
logger.warn(f'[{self.node_id}] ignore MODBUS cmd,' logger.warning(f'[{self.node_id}] ignore MODBUS cmd,'
' cause the state is not UP anymore') ' cause the state is not UP anymore')
return return
@@ -324,7 +324,6 @@ class Talent(Message):
return True return True
def msg_get_time(self): def msg_get_time(self):
tsun = Config.get('tsun')
if self.ctrl.is_ind(): if self.ctrl.is_ind():
if self.data_len == 0: if self.data_len == 0:
ts = self._timestamp() ts = self._timestamp()
@@ -332,22 +331,22 @@ class Talent(Message):
self.__build_header(0x91) self.__build_header(0x91)
self._send_buffer += struct.pack('!q', ts) self._send_buffer += struct.pack('!q', ts)
self.__finish_send_msg() self.__finish_send_msg()
if tsun['enabled']:
if self.data_len == 0: elif self.data_len >= 8:
self.forward(self._recv_buffer, self.header_len +
self.data_len)
if self.data_len >= 8:
ts = self._timestamp() ts = self._timestamp()
result = struct.unpack_from('!q', self._recv_buffer, result = struct.unpack_from('!q', self._recv_buffer,
self.header_len) self.header_len)
self.ts_offset = result[0]-ts self.ts_offset = result[0]-ts
logger.debug(f'tsun-time: {result[0]:08x}' logger.debug(f'tsun-time: {int(result[0]):08x}'
f' proxy-time: {ts:08x}', f' proxy-time: {ts:08x}'
f' offset: {self.ts_offset}') f' offset: {self.ts_offset}')
return # ignore received response
else: else:
logger.warning('Unknown Ctrl') logger.warning('Unknown Ctrl')
self.inc_counter('Unknown_Ctrl') self.inc_counter('Unknown_Ctrl')
self.forward(self._recv_buffer, self.header_len+self.data_len)
def parse_msg_header(self): def parse_msg_header(self):
result = struct.unpack_from('!lB', self._recv_buffer, self.header_len) result = struct.unpack_from('!lB', self._recv_buffer, self.header_len)