def __init__(self, address, device_type, seq):
        super().__init__()
        self.address = bytes.fromhex(address)
        self.device_type = device_type
        self.control_code = 0x01

        self.data_defines.append(
            MeterDataDefine(NsDataDefineName.Default,
                            2,
                            data=bytes([0x1F, 0x90])))
        self.data_defines.append(
            MeterDataDefine(NsDataDefineName.Seq, 1, data=bytes([seq])))
    def __init__(self, device_type, seq):
        super().__init__()
        self.address = bytes([0xAA] * 7)
        self.device_type = device_type
        self.control_code = 0x03

        self.data_defines.append(
            MeterDataDefine(NsDataDefineName.Default,
                            2,
                            data=bytes([0x0A, 0x81])))
        self.data_defines.append(
            MeterDataDefine(NsDataDefineName.Seq, 1, data=bytes([seq])))
 def __init__(self):
     super().__init__()
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Default, 2))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Seq, 1))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.TotalUsed, 4))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Remaining, 4))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.TotalPurchases, 4))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Times, 1))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Status0, 1))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Status1, 1))
 def __init__(self):
     super().__init__()
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Default, 2))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Seq, 1))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.AlarmValue, 1))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Overdraft, 1))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Exceed, 1))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Empty, 4))
 def __init__(self):
     super().__init__()
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Default, 2))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Seq, 1))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.UnitCode, 2))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.UserNo, 2))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.MeterNo, 1))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Empty, 2))
 def __init__(self):
     super().__init__()
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Default, 2))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Seq, 1))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Status0, 1))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Status1, 1))
 def __init__(self):
     super().__init__()
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Default, 2))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Seq, 1))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Times, 1))
     self.data_defines.append(MeterDataDefine(NsDataDefineName.Purchases, 4))