"""Point data models.""" from dataclasses import dataclass @dataclass(frozen=True) class ModbusPoint: point_id: str name: str data_type: str slave_id: int address: int @property def register_count(self) -> int: return 1 if self.data_type == "int16" else 2 @property def end_address(self) -> int: return self.address + self.register_count - 1