From 82514e9e411e214a884a1d8482cbd05589d82765 Mon Sep 17 00:00:00 2001 From: Stefan Allius Date: Wed, 17 Apr 2024 22:03:12 +0200 Subject: [PATCH] calculate real timestamp for received data --- app/src/gen3plus/solarman_v5.py | 47 +++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/app/src/gen3plus/solarman_v5.py b/app/src/gen3plus/solarman_v5.py index fe1e347..554366c 100644 --- a/app/src/gen3plus/solarman_v5.py +++ b/app/src/gen3plus/solarman_v5.py @@ -55,6 +55,7 @@ class SolarmanV5(Message): self.seq = Sequence(server_side) self.snr = 0 self.db = InfosG3P() + self.time_ofs = 0 self.switch = { 0x4210: self.msg_data_ind, # real time data @@ -352,10 +353,11 @@ class SolarmanV5(Message): total = result[1] tim = result[2] res = result[3] # always zero - logger.info(f'frame type:{ftype:02x} total:{total}s' + logger.info(f'frame type:{ftype:02x}' f' timer:{tim:08x}s null:{res}') - dt = datetime.fromtimestamp(total) - logger.info(f'ts: {dt.strftime("%Y-%m-%d %H:%M:%S")}') + if self.time_ofs: + dt = datetime.fromtimestamp(total + self.time_ofs) + logger.info(f'ts: {dt.strftime("%Y-%m-%d %H:%M:%S")}') self.__process_data(ftype) self.__forward_msg() @@ -363,27 +365,33 @@ class SolarmanV5(Message): def msg_data_ind(self): data = self._recv_buffer - result = struct.unpack_from('