@@ -65,15 +65,21 @@ def __init__(self,
6565 """
6666 super ().__init__ (params , is_server )
6767 self .device_ids = device_ids
68- self .message_type = message_type
68+ self .broadcast : bool = ( 0 in device_ids )
6969 self .msg_handle : MessageBase = {
70- MessageType .RAW : MessageRaw (device_ids , is_server ),
71- MessageType .ASCII : MessageAscii (device_ids , is_server ),
72- MessageType .RTU : MessageRTU (device_ids , is_server ),
73- MessageType .SOCKET : MessageSocket (device_ids , is_server ),
74- MessageType .TLS : MessageTLS (device_ids , is_server ),
70+ MessageType .RAW : MessageRaw (),
71+ MessageType .ASCII : MessageAscii (),
72+ MessageType .RTU : MessageRTU (),
73+ MessageType .SOCKET : MessageSocket (),
74+ MessageType .TLS : MessageTLS (),
7575 }[message_type ]
7676
77+
78+ def validate_device_id (self , dev_id : int ) -> bool :
79+ """Check if device id is expected."""
80+ return self .broadcast or (dev_id in self .device_ids )
81+
82+
7783 def callback_data (self , data : bytes , addr : tuple | None = None ) -> int :
7884 """Handle received data."""
7985 tot_len = len (data )
0 commit comments