DLMS-SPODES 0.86.8__py3-none-any.whl → 0.86.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -533,6 +533,7 @@ __func_map_for_create.update({
533
533
  (0, 96, 11, 4): ClassMap({0: impl.data.KPZSPODES3ExternalEvent}),
534
534
  (0, 0, 97, 98, (0, 10, 20)): ClassMap({0: impl.data.KPZAlarm1}),
535
535
  (0, 128, 25, 6, 0): ClassMap({0: impl.data.DataStatic}),
536
+ (0, 128, 96, 2, (0, 1, 2)): ClassMap({0: impl.data.KPZAFEOffsets}),
536
537
  (0, 128, 96, 13, 1): ClassMap({0: impl.data.ITEBitMap}),
537
538
  (0, 128, 154, 0, 0): ClassMap({0: impl.data.KPZGSMPingIP}),
538
539
  (0, 0, 128, (100, 101, 102, 103, 150, 151, 152, 170)): DataMap,
@@ -456,3 +456,22 @@ class KPZGSMPingIPValue(cdt.Structure):
456
456
  class KPZGSMPingIP(DataStatic):
457
457
  """Проприетарный объект"""
458
458
  A_ELEMENTS = DataStatic.get_attr_element(2).get_change(data_type=KPZGSMPingIPValue),
459
+
460
+
461
+ class AFERegister(cdt.Structure):
462
+ name: cdt.VisibleString
463
+ value: choices.common_dt
464
+
465
+
466
+ class AFERegisters(cdt.Array):
467
+ TYPE = AFERegister
468
+ values: list[AFERegister]
469
+
470
+
471
+ class AFEOffsets(cdt.Structure):
472
+ identifier: cdt.VisibleString
473
+ register_list: AFERegisters
474
+
475
+
476
+ class KPZAFEOffsets(DataDynamic):
477
+ A_ELEMENTS = DataStatic.get_attr_element(2).get_change(data_type=AFEOffsets),
@@ -620,10 +620,10 @@ class Float(SimpleDataType, ABC):
620
620
  case None: self.clear()
621
621
  case bytes() as encoding:
622
622
  length_and_contents = encoding[1:]
623
- match encoding[:1], len(self):
624
- case self.TAG, int() if len(self) <= len(length_and_contents): self.contents = length_and_contents[:len(self)]
623
+ match encoding[:1], self.SIZE:
624
+ case self.TAG, int() if self.SIZE <= len(length_and_contents): self.contents = length_and_contents[:self.SIZE]
625
625
  case self.TAG, _: raise ValueError(F'Length of contents for {self.TAG} must be at least '
626
- F'{len(self)}, but got {len(length_and_contents)}')
626
+ F'{self.SIZE}, but got {len(length_and_contents)}')
627
627
  case _ as wrong_tag, _: raise ValueError(F'Expected {self.TAG} type, got {get_common_data_type_from(wrong_tag).TAG}')
628
628
  case bytearray(): self.contents = bytes(value) # Attention!!! changed method content getting from bytearray
629
629
  case str(): self.contents = self.from_str(value)
@@ -668,13 +668,13 @@ class Float(SimpleDataType, ABC):
668
668
 
669
669
  def __float__(self):
670
670
  """ return the build in float type IEEE 60559"""
671
- return unpack(cls.FORMAT, value)[0]
671
+ return unpack(self.FORMAT, self.contents)[0]
672
672
 
673
673
  def __str__(self):
674
674
  return str(float(self))
675
675
 
676
676
  def clear(self): # todo: remove this
677
- self.contents = bytes(len(self))
677
+ self.contents = bytes(self.SIZE)
678
678
 
679
679
 
680
680
  class LIST(ABC):
@@ -1903,12 +1903,13 @@ class Float32(Float, SimpleDataType):
1903
1903
  """float32. ISO/IEC/IEEE 60559:2011"""
1904
1904
  TAG = TAG(b'\x17')
1905
1905
  FORMAT = ">f"
1906
-
1906
+ SIZE = 4
1907
1907
 
1908
1908
  class Float64(Float, SimpleDataType):
1909
1909
  """float64. ISO/IEC/IEEE 60559:2011"""
1910
1910
  TAG = TAG(b'\x18')
1911
1911
  FORMAT = ">d"
1912
+ SIZE = 8
1912
1913
 
1913
1914
 
1914
1915
  _SHORT_MONTHS = (4, 6, 9, 11)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: DLMS_SPODES
3
- Version: 0.86.8
3
+ Version: 0.86.9
4
4
  Summary: dlms-spodes
5
5
  Author-email: Serj Kotilevski <youserj@outlook.com>
6
6
  Keywords: dlms
@@ -25,7 +25,7 @@ DLMS_SPODES/cosem_interface_classes/activity_calendar.py,sha256=1kKRxBmMRKaKRYpR
25
25
  DLMS_SPODES/cosem_interface_classes/arbitrator.py,sha256=CvrYknl6xfg8hZR5RijzWsMh34XBQKsQ0nQp_Jtm__E,3208
26
26
  DLMS_SPODES/cosem_interface_classes/attr_indexes.py,sha256=aUSnT-dKoBsDbwLhlgtLIHGRl7PZrT-ld2ThCEUjUeA,328
27
27
  DLMS_SPODES/cosem_interface_classes/clock.py,sha256=AQiMtW13_Y74M2kYYfhZsKGPWtHqOkBNvEPX2QCfXfg,4493
28
- DLMS_SPODES/cosem_interface_classes/collection.py,sha256=AR_RpS22igMpKUHrNEQtXt41eAtcCuvzyVXtwlgA4DU,96057
28
+ DLMS_SPODES/cosem_interface_classes/collection.py,sha256=ClllU6kYlmXXgv7tf4S-w1hufxeKiuVpOFF1GoVvuDY,96130
29
29
  DLMS_SPODES/cosem_interface_classes/cosem_interface_class.py,sha256=k-eMPkFK2myfII2sRH8JdwoE7bxtBep-gHE-tqMR71I,22929
30
30
  DLMS_SPODES/cosem_interface_classes/data.py,sha256=ELFfBX_VFsKRpAB7SVUp1sBnhjDgttGXa96jSYYLOH8,734
31
31
  DLMS_SPODES/cosem_interface_classes/disconnect_control.py,sha256=21qKu4cpOEeiuhQAk4tGcfsm32ibCgQv8W3vVdOO4Wo,2894
@@ -71,7 +71,7 @@ DLMS_SPODES/cosem_interface_classes/image_transfer/image_transfer_status.py,sha2
71
71
  DLMS_SPODES/cosem_interface_classes/image_transfer/ver0.py,sha256=YD1Col7297zKt2HcjgZZ4EkahSvSuC0DruX07-hk2uo,5338
72
72
  DLMS_SPODES/cosem_interface_classes/implementations/__init__.py,sha256=z4OfnPPyYr6f94rj-PU3---Wk05ddduf9MkmWxhczXA,77
73
73
  DLMS_SPODES/cosem_interface_classes/implementations/arbitrator.py,sha256=cMhYLi9ZFqfJ0yxjONHq9JZZJ3QuzrF0jtPjk4nf0eo,573
74
- DLMS_SPODES/cosem_interface_classes/implementations/data.py,sha256=jzxWIuJkWIH3vjOc8d6q7g5WKMX8fhcysg-xYtXoK2M,18144
74
+ DLMS_SPODES/cosem_interface_classes/implementations/data.py,sha256=g-3SZCSodet9gILK7SsrTPc72Fsq87YDtaZTb0Vucdc,18561
75
75
  DLMS_SPODES/cosem_interface_classes/implementations/profile_generic.py,sha256=oibO3EV9fRHxxaBdMQqz436GrMMqo1BlT6lgVtzUKU0,4318
76
76
  DLMS_SPODES/cosem_interface_classes/modem_configuration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
77
  DLMS_SPODES/cosem_interface_classes/modem_configuration/ver0.py,sha256=6fzbsID_cOmYsl3alLHHcMM1zpD7NjsK77NzTViQOmo,3038
@@ -99,7 +99,7 @@ DLMS_SPODES/obis/abstract_objects.py,sha256=0ZoJKRQ_7FoChC2rNSgNV573hso8JYZQKdLF
99
99
  DLMS_SPODES/obis/media_id.py,sha256=GRiwHPe9-3iCg4u_J6qf2rMc3Wjw0aJHKiSnBtNYD3o,22339
100
100
  DLMS_SPODES/types/__init__.py,sha256=UFiP4suA72o_kvaqUnHLGK-cedDXLl8kVHYsjXHYUDw,116
101
101
  DLMS_SPODES/types/choices.py,sha256=z7IasrlRaagOYNfRvgbpojDxf1jgYUc9cz59PH2PMi0,6350
102
- DLMS_SPODES/types/common_data_types.py,sha256=d5-D0Hp3uzc5PijuK6ZLQZ4hB9RHgNmpBXVXJ0MJ4_s,96901
102
+ DLMS_SPODES/types/common_data_types.py,sha256=IzFFsCWAEORh82aUTg41InfTsXym1i2lynWd5gGWfyc,96936
103
103
  DLMS_SPODES/types/cosem_service_types.py,sha256=XLWPDfdSxyYpr_3NwAxICRgxjPJdHf7EgQ4694M-erQ,4360
104
104
  DLMS_SPODES/types/useful_types.py,sha256=sRboTj7ZUjEHF9ypCgdXNOk_uOLXL6pjdbqKuPZrtEE,27426
105
105
  DLMS_SPODES/types/implementations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -111,7 +111,7 @@ DLMS_SPODES/types/implementations/integers.py,sha256=KAcaTY8ZwhBaJThbLSr39Oh_-9h
111
111
  DLMS_SPODES/types/implementations/long_unsigneds.py,sha256=SxmFvD2moQ03p-KZSBYK1Rv7bQSaywlHVXBfkTZG1OQ,8761
112
112
  DLMS_SPODES/types/implementations/octet_string.py,sha256=Jo_sfWcsfstiP4O6mXfBOOQlksx1c2qJMI-vbAOV-yM,294
113
113
  DLMS_SPODES/types/implementations/structs.py,sha256=GMOo6Jy8jA9d6KTLs0D-j5t0oSRvxUIwtBr_4UePwbA,2059
114
- dlms_spodes-0.86.8.dist-info/METADATA,sha256=EtdXZQj5lPd7SMKDWQ-0G0DQT7AmVIUcEiOpE9YpuNc,930
115
- dlms_spodes-0.86.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
116
- dlms_spodes-0.86.8.dist-info/top_level.txt,sha256=k26SRuRdwBZrSM3NgNZECAUNIDZREbJuLCnPbWtTNak,12
117
- dlms_spodes-0.86.8.dist-info/RECORD,,
114
+ dlms_spodes-0.86.9.dist-info/METADATA,sha256=2b1b6ZcTXlcbWQeSlpNX_y8Eff1xZl_4CK27uSe0F-s,930
115
+ dlms_spodes-0.86.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
116
+ dlms_spodes-0.86.9.dist-info/top_level.txt,sha256=k26SRuRdwBZrSM3NgNZECAUNIDZREbJuLCnPbWtTNak,12
117
+ dlms_spodes-0.86.9.dist-info/RECORD,,