from Messages.Messages import IMessage class ThingMsg(IMessage): id = 0x80 length = 5 thing_id = None thing_type = None parent_id = None def __init__(self, arg1, thing=None): if isinstance(arg1, bytes): buffer = arg1 self.network_id = buffer[1] self.thing_id = buffer[2] self.thing_type = buffer[3] self.parent_id = buffer[4] else: if thing is not None: self.network_id = arg1 self.thing_id = thing.id self.thing_type = thing.type if thing.parent is not None: self.parent_id = thing.parent.id else: self.parent_id = 0 def Serialize(self, buffer_ref): if self.thing_id is None: return 0 print(f'Send ThingMsg [{self.network_id}/{self.thing_id}] {self.thing_type} {self.parent_id}') buffer: bytearray = buffer_ref[0] buffer[0:ThingMsg.length] = [ ThingMsg.id, self.network_id, self.thing_id, self.thing_type, self.parent_id ] return ThingMsg.length