DLMS-SPODES 0.87.13__py3-none-any.whl → 0.87.16__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.
Files changed (100) hide show
  1. DLMS_SPODES/Values/EN/__init__.py +1 -1
  2. DLMS_SPODES/Values/EN/actors.py +8 -8
  3. DLMS_SPODES/Values/EN/relation_to_obis_names.py +387 -387
  4. DLMS_SPODES/Values/RU/__init__.py +1 -1
  5. DLMS_SPODES/Values/RU/actors.py +8 -8
  6. DLMS_SPODES/Values/RU/relation_to_obis_names.py +396 -396
  7. DLMS_SPODES/__init__.py +6 -6
  8. DLMS_SPODES/configEN.ini +126 -126
  9. DLMS_SPODES/config_parser.py +53 -53
  10. DLMS_SPODES/cosem_interface_classes/__class_init__.py +3 -3
  11. DLMS_SPODES/cosem_interface_classes/__init__.py +1 -1
  12. DLMS_SPODES/cosem_interface_classes/a_parameter.py +20 -20
  13. DLMS_SPODES/cosem_interface_classes/activity_calendar.py +254 -254
  14. DLMS_SPODES/cosem_interface_classes/arbitrator.py +105 -105
  15. DLMS_SPODES/cosem_interface_classes/association_ln/abstract.py +34 -34
  16. DLMS_SPODES/cosem_interface_classes/association_ln/authentication_mechanism_name.py +25 -25
  17. DLMS_SPODES/cosem_interface_classes/association_ln/mechanism_id.py +25 -25
  18. DLMS_SPODES/cosem_interface_classes/association_ln/method.py +5 -5
  19. DLMS_SPODES/cosem_interface_classes/association_ln/ver0.py +485 -485
  20. DLMS_SPODES/cosem_interface_classes/association_ln/ver1.py +133 -133
  21. DLMS_SPODES/cosem_interface_classes/association_ln/ver2.py +36 -36
  22. DLMS_SPODES/cosem_interface_classes/association_ln/ver3.py +4 -4
  23. DLMS_SPODES/cosem_interface_classes/association_sn/ver0.py +12 -12
  24. DLMS_SPODES/cosem_interface_classes/attr_indexes.py +12 -12
  25. DLMS_SPODES/cosem_interface_classes/clock.py +131 -131
  26. DLMS_SPODES/cosem_interface_classes/collection.py +2122 -2122
  27. DLMS_SPODES/cosem_interface_classes/cosem_interface_class.py +583 -583
  28. DLMS_SPODES/cosem_interface_classes/data.py +21 -21
  29. DLMS_SPODES/cosem_interface_classes/demand_register/ver0.py +59 -59
  30. DLMS_SPODES/cosem_interface_classes/disconnect_control.py +74 -74
  31. DLMS_SPODES/cosem_interface_classes/extended_register.py +27 -27
  32. DLMS_SPODES/cosem_interface_classes/gprs_modem_setup.py +43 -43
  33. DLMS_SPODES/cosem_interface_classes/gsm_diagnostic/ver0.py +103 -103
  34. DLMS_SPODES/cosem_interface_classes/gsm_diagnostic/ver1.py +40 -40
  35. DLMS_SPODES/cosem_interface_classes/gsm_diagnostic/ver2.py +9 -9
  36. DLMS_SPODES/cosem_interface_classes/iec_hdlc_setup/ver0.py +11 -11
  37. DLMS_SPODES/cosem_interface_classes/iec_hdlc_setup/ver1.py +53 -53
  38. DLMS_SPODES/cosem_interface_classes/iec_local_port_setup.py +11 -11
  39. DLMS_SPODES/cosem_interface_classes/image_transfer/image_transfer_status.py +15 -15
  40. DLMS_SPODES/cosem_interface_classes/image_transfer/ver0.py +126 -126
  41. DLMS_SPODES/cosem_interface_classes/implementations/__init__.py +3 -3
  42. DLMS_SPODES/cosem_interface_classes/implementations/arbitrator.py +19 -19
  43. DLMS_SPODES/cosem_interface_classes/implementations/data.py +487 -487
  44. DLMS_SPODES/cosem_interface_classes/implementations/profile_generic.py +83 -83
  45. DLMS_SPODES/cosem_interface_classes/ipv4_setup.py +72 -72
  46. DLMS_SPODES/cosem_interface_classes/limiter.py +111 -111
  47. DLMS_SPODES/cosem_interface_classes/ln_pattern.py +333 -333
  48. DLMS_SPODES/cosem_interface_classes/modem_configuration/ver0.py +65 -65
  49. DLMS_SPODES/cosem_interface_classes/modem_configuration/ver1.py +39 -39
  50. DLMS_SPODES/cosem_interface_classes/ntp_setup/ver0.py +67 -67
  51. DLMS_SPODES/cosem_interface_classes/obis.py +23 -23
  52. DLMS_SPODES/cosem_interface_classes/overview.py +197 -197
  53. DLMS_SPODES/cosem_interface_classes/parameter.py +547 -547
  54. DLMS_SPODES/cosem_interface_classes/parameters.py +172 -172
  55. DLMS_SPODES/cosem_interface_classes/profile_generic/ver0.py +122 -122
  56. DLMS_SPODES/cosem_interface_classes/profile_generic/ver1.py +277 -277
  57. DLMS_SPODES/cosem_interface_classes/push_setup/ver0.py +12 -12
  58. DLMS_SPODES/cosem_interface_classes/push_setup/ver1.py +10 -10
  59. DLMS_SPODES/cosem_interface_classes/push_setup/ver2.py +166 -166
  60. DLMS_SPODES/cosem_interface_classes/register.py +45 -45
  61. DLMS_SPODES/cosem_interface_classes/register_activation/ver0.py +80 -80
  62. DLMS_SPODES/cosem_interface_classes/register_monitor.py +46 -46
  63. DLMS_SPODES/cosem_interface_classes/reports.py +70 -70
  64. DLMS_SPODES/cosem_interface_classes/schedule.py +176 -176
  65. DLMS_SPODES/cosem_interface_classes/script_table.py +87 -87
  66. DLMS_SPODES/cosem_interface_classes/security_setup/ver0.py +68 -68
  67. DLMS_SPODES/cosem_interface_classes/security_setup/ver1.py +158 -158
  68. DLMS_SPODES/cosem_interface_classes/single_action_schedule.py +50 -50
  69. DLMS_SPODES/cosem_interface_classes/special_days_table.py +84 -84
  70. DLMS_SPODES/cosem_interface_classes/tcp_udp_setup.py +42 -42
  71. DLMS_SPODES/cosem_pdu.py +93 -93
  72. DLMS_SPODES/enums.py +625 -625
  73. DLMS_SPODES/exceptions.py +106 -106
  74. DLMS_SPODES/firmwares.py +99 -99
  75. DLMS_SPODES/hdlc/frame.py +875 -875
  76. DLMS_SPODES/hdlc/sub_layer.py +54 -54
  77. DLMS_SPODES/literals.py +17 -17
  78. DLMS_SPODES/obis/__init__.py +1 -1
  79. DLMS_SPODES/obis/media_id.py +931 -931
  80. DLMS_SPODES/pardata.py +22 -22
  81. DLMS_SPODES/pdu_enums.py +98 -98
  82. DLMS_SPODES/relation_to_OBIS.py +465 -463
  83. DLMS_SPODES/settings.py +551 -551
  84. DLMS_SPODES/types/choices.py +142 -142
  85. DLMS_SPODES/types/common_data_types.py +2401 -2401
  86. DLMS_SPODES/types/cosem_service_types.py +109 -109
  87. DLMS_SPODES/types/implementations/arrays.py +25 -25
  88. DLMS_SPODES/types/implementations/bitstrings.py +97 -97
  89. DLMS_SPODES/types/implementations/double_long_usingneds.py +35 -35
  90. DLMS_SPODES/types/implementations/enums.py +57 -57
  91. DLMS_SPODES/types/implementations/integers.py +11 -11
  92. DLMS_SPODES/types/implementations/long_unsigneds.py +127 -127
  93. DLMS_SPODES/types/implementations/octet_string.py +11 -11
  94. DLMS_SPODES/types/implementations/structs.py +64 -64
  95. DLMS_SPODES/types/useful_types.py +677 -677
  96. {dlms_spodes-0.87.13.dist-info → dlms_spodes-0.87.16.dist-info}/METADATA +30 -30
  97. dlms_spodes-0.87.16.dist-info/RECORD +117 -0
  98. {dlms_spodes-0.87.13.dist-info → dlms_spodes-0.87.16.dist-info}/WHEEL +1 -1
  99. dlms_spodes-0.87.13.dist-info/RECORD +0 -117
  100. {dlms_spodes-0.87.13.dist-info → dlms_spodes-0.87.16.dist-info}/top_level.txt +0 -0
@@ -1,931 +1,931 @@
1
- from abc import ABC, abstractmethod
2
- from typing import Protocol
3
- from itertools import count
4
- from ..config_parser import config
5
- from ..settings import settings
6
- from ..types import cdt
7
-
8
-
9
- _mid_names = config["DLMS"]["media_id_name"] # todo: make with settings
10
-
11
-
12
- class MediaIdProto(Protocol):
13
- _value: tuple[int]
14
- _inst = None
15
- TYPE: type[cdt.CommonDataType]
16
-
17
- def __eq__(self, other: int) -> bool:
18
- """with integer"""
19
-
20
- def __hash__(self) -> int:
21
- """for hashable"""
22
-
23
-
24
- class MediaId(MediaIdProto):
25
- """DLMS UA 1000-1 Ed 14. Table 53 – OBIS code structure and use of value groups. For Group A"""
26
- _value: tuple[int]
27
- _inst = None
28
- TYPE: type[cdt.CommonDataType]
29
-
30
- @classmethod
31
- def from_int(cls, value: int):
32
- match value:
33
- case 0: return Abstract()
34
- case 1: return Electricity()
35
- case 4: return Hca()
36
- case 5 | 6: return Thermal()
37
- case 7: return Gas()
38
- case 8 | 9: return Water()
39
- case 15: return Other()
40
- case int(): return Reserved(value)
41
- case _: raise ValueError(F"can't create {cls.__name__} from {value=}")
42
-
43
- def __str__(self) -> str:
44
- if _mid_names and (t := _mid_names.get(self.__class__.__name__)):
45
- return t
46
- else:
47
- return self.__class__.__name__
48
-
49
- def __init_subclass__(cls, **kwargs):
50
- def init_hash(self) -> int:
51
- return self.subgroup
52
-
53
- cls.subgroup = next(sub_group_hash)
54
- setattr(cls, "__hash__", init_hash)
55
-
56
-
57
- class OneValueMixin:
58
- _value: int
59
-
60
- def __eq__(self, other: int):
61
- return True if other == self._value else False
62
-
63
- def __hash__(self):
64
- return self._value
65
-
66
-
67
- class TwoValueMixin:
68
- _value: tuple[int, ...]
69
-
70
- def __eq__(self, other: int):
71
- return True if other in self._value else False
72
-
73
- def __hash__(self):
74
- return self._value[0]
75
-
76
-
77
- sub_group_hash = count()
78
-
79
-
80
- class Abstract(OneValueMixin, MediaId):
81
- _value = 0
82
- __slots__ = tuple()
83
-
84
-
85
- class Electricity(OneValueMixin, MediaId):
86
- _value = 1
87
- __slots__ = tuple()
88
-
89
-
90
- class Hca(OneValueMixin, MediaId):
91
- _value = 4
92
- __slots__ = tuple()
93
-
94
-
95
- class Thermal(TwoValueMixin, MediaId):
96
- _value = 5, 6
97
- __slots__ = tuple()
98
-
99
-
100
- class Gas(OneValueMixin, MediaId):
101
- _value = 7
102
- __slots__ = tuple()
103
-
104
-
105
- class Water(TwoValueMixin, MediaId):
106
- _value = 8, 9
107
- __slots__ = tuple()
108
-
109
-
110
- class Other(OneValueMixin, MediaId):
111
- _value = 15
112
- __slots__ = tuple()
113
-
114
-
115
- class Reserved(OneValueMixin, MediaId):
116
- __slots__ = ("_value",)
117
-
118
- def __init__(self, value: int):
119
- self._value = value
120
-
121
-
122
- ABSTRACT = Abstract()
123
- ELECTRICITY = Electricity()
124
- HCA = Hca()
125
- THERMAL = Thermal()
126
- GAS = Gas()
127
- WATER = Water()
128
- OTHER_MEDIA = Other()
129
- # abstract
130
-
131
-
132
- class BillingPeriodValuesResetCounterEntries(Abstract):
133
- """6_2_3"""
134
-
135
-
136
- class OtherAbstractGeneralPurposeObisCodes(Abstract):
137
- """6_2_4"""
138
-
139
-
140
- class ClockObjects(Abstract):
141
- """6_2_5"""
142
-
143
-
144
- class ModemConfigurationAndRelatedObjects(Abstract):
145
- """6_2_6"""
146
-
147
-
148
- class ScriptTableObjects(Abstract):
149
- """6_2_7"""
150
-
151
-
152
- class SpecialDaysTableObjects(Abstract):
153
- """6_2_8"""
154
-
155
-
156
- class ScheduleObjects(Abstract):
157
- """6_2_9"""
158
-
159
-
160
- class ActivityCalendarObjects(Abstract):
161
- """6_2_10"""
162
-
163
-
164
- class RegisterActivationObjects(Abstract):
165
- """6_2_11"""
166
-
167
-
168
- class SingleActionScheduleObjects(Abstract):
169
- """6_2_12"""
170
-
171
-
172
- class RegisterObjectsMonitor(Abstract):
173
- """6_2_13"""
174
-
175
-
176
- class ParameterMonitorObjects(Abstract):
177
- """6_2_14"""
178
-
179
-
180
- class LimiterObjects(Abstract):
181
- """6_2_15"""
182
-
183
-
184
- class ArrayManagerObjects(Abstract):
185
- """6_2_16"""
186
-
187
-
188
- class PaymentMeteringRelatedObjects(Abstract):
189
- """6_2_17"""
190
-
191
-
192
- class IecLocalPortSetupObjects(Abstract):
193
- """6_2_18"""
194
-
195
-
196
- class StandardReadoutProfileObjects(Abstract):
197
- """6_2_19"""
198
-
199
-
200
- class IecHdlcSetupObjects(Abstract):
201
- """6_2_20"""
202
-
203
-
204
- class IecTwistedPair1SetupObjects(Abstract):
205
- """6_2_21"""
206
-
207
-
208
- class ObjectsRelatedToDataExchangeOverMBus(Abstract):
209
- """6_2_22"""
210
-
211
-
212
- class ObjectsToSetUpDataExchangeOverTheInternet(Abstract):
213
- """6_2_23"""
214
-
215
-
216
- class ObjectsToSetUpPushSetup(Abstract):
217
- """6_2_24"""
218
-
219
-
220
- class ObjectsForSettingUpDataExchangeUsingSFskPlc(Abstract):
221
- """6_2_25"""
222
-
223
-
224
- class ObjectsForSettingUpTheIsoIec88022LlcLayer(Abstract):
225
- """6_2_26"""
226
-
227
-
228
- class ObjectsForDataExchangeUsingNarrowbandOfdmPlcForPrimeNetworks(Abstract):
229
- """6_2_27"""
230
-
231
-
232
- class ObjectsForDataExchangeUsingNarrowBandOfdmPlcForG3PlcNetworks(Abstract):
233
- """6_2_28"""
234
-
235
-
236
- class ZigbeeSetupObjects(Abstract):
237
- """6_2_29"""
238
-
239
-
240
- class ObjectsForSettingUpAndManagingDataExchangeUsingIsoIec14908PlcNetworks(Abstract):
241
- """6_2_30"""
242
-
243
-
244
- class ObjectsForDataExchangeUsingHsPlcIsoIec121391IsoEc121391Networks(Abstract):
245
- """6_2_31"""
246
-
247
-
248
- class ObjectsForDataExchangeUsingWiSunNetworks(Abstract):
249
- """6_2_32"""
250
-
251
-
252
- class AssociationObjects(Abstract):
253
- """6_2_33"""
254
-
255
-
256
- class SapAssignmentObject(Abstract):
257
- """6_2_34"""
258
-
259
-
260
- class CosemLogicalDeviceNameObject(Abstract):
261
- """6_2_35"""
262
-
263
-
264
- class InformationSecurityRelatedObjects(Abstract):
265
- """6_2_36"""
266
-
267
-
268
- class ImageTransferObjects(Abstract):
269
- """6_2_37"""
270
-
271
-
272
- class FunctionControlObjects(Abstract):
273
- """6_2_38"""
274
-
275
-
276
- class CommunicationPortProtectionObjects(Abstract):
277
- """6_2_39"""
278
-
279
-
280
- class UtilityTableObjects(Abstract):
281
- """6_2_40"""
282
-
283
-
284
- class CompactDataObjects(Abstract):
285
- """6_2_41"""
286
-
287
-
288
- class DeviceIdObjects(Abstract):
289
- """6_2_42"""
290
- TYPE = cdt.DoubleLongUnsigned | cdt.OctetString | cdt.VisibleString | cdt.Utf8String | cdt.Unsigned | cdt.LongUnsigned
291
-
292
-
293
- class MeteringPointIdObjects(Abstract):
294
- """6_2_43"""
295
-
296
-
297
- class ParameterChangesAndCalibrationObjects(Abstract):
298
- """6_2_44"""
299
-
300
-
301
- class IOControlSignalObjects(Abstract):
302
- """6_2_45"""
303
-
304
-
305
- class DisconnectControlObjects(Abstract):
306
- """6_2_46"""
307
-
308
-
309
- class ArbitratorObjects(Abstract):
310
- """6_2_47"""
311
-
312
-
313
- class StatusOfInternalControlSignalsObjects(Abstract):
314
- """6_2_48"""
315
-
316
-
317
- class InternalOperatingStatusObjects(Abstract):
318
- """6_2_49"""
319
-
320
-
321
- class BatteryEntriesObjects(Abstract):
322
- """6_2_50"""
323
-
324
-
325
- class PowerFailureMonitoringObjects(Abstract):
326
- """6_2_51"""
327
-
328
-
329
- class OperatingTimeObjects(Abstract):
330
- """6_2_52"""
331
-
332
-
333
- class EnvironmentRelatedParametersObjects(Abstract):
334
- """6_2_53"""
335
-
336
-
337
- class StatusRegisterObjects(Abstract):
338
- """6_2_54"""
339
-
340
-
341
- class EventCodeObjects(Abstract):
342
- """6_2_55"""
343
-
344
-
345
- class CommunicationPortLogParameterObjects(Abstract):
346
- """6_2_56"""
347
-
348
-
349
- class ConsumerMessageObjects(Abstract):
350
- """6_2_57"""
351
-
352
-
353
- class CurrentlyActiveTariffObjects(Abstract):
354
- """6_2_58"""
355
-
356
-
357
- class EventCounterObjects(Abstract):
358
- """6_2_59"""
359
-
360
-
361
- class ProfileEntryDigitalSignatureObjects(Abstract):
362
- """6_2_60"""
363
-
364
-
365
- class ProfileEntryCounterObjects(Abstract):
366
- """6_2_61"""
367
-
368
-
369
- class MeterTamperEventRelatedObjects(Abstract):
370
- """6_2_62"""
371
-
372
-
373
- class ErrorRegisterObjects(Abstract):
374
- """6_2_63"""
375
-
376
-
377
- class AlarmRegisterFilterDescriptorObjects(Abstract):
378
- """6_2_64"""
379
-
380
-
381
- class GeneralListObjects(Abstract):
382
- """6_2_65"""
383
-
384
-
385
- class EventLogObjects(Abstract):
386
- """6_2_66"""
387
-
388
-
389
- class InactiveObjects(Abstract):
390
- """6_2_67"""
391
-
392
-
393
- class AbstractManufacturerSpecific(Abstract):
394
- """7_4_1_0"""
395
-
396
-
397
- class AbstractDataProfileObjects(Abstract):
398
- """7_4_5"""
399
-
400
-
401
- BILLING_PERIOD_VALUES_RESET_COUNTER_ENTRIES = BillingPeriodValuesResetCounterEntries()
402
- OTHER_ABSTRACT_GENERAL_PURPOSE_OBIS_CODES = OtherAbstractGeneralPurposeObisCodes()
403
- CLOCK_OBJECTS = ClockObjects()
404
- MODEM_CONFIGURATION_AND_RELATED_OBJECTS = ModemConfigurationAndRelatedObjects()
405
- SCRIPT_TABLE_OBJECTS = ScriptTableObjects()
406
- SPECIAL_DAYS_TABLE_OBJECTS = SpecialDaysTableObjects()
407
- SCHEDULE_OBJECTS = ScheduleObjects()
408
- ACTIVITY_CALENDAR_OBJECTS = ActivityCalendarObjects()
409
- REGISTER_ACTIVATION_OBJECTS = RegisterActivationObjects()
410
- SINGLE_ACTION_SCHEDULE_OBJECTS = SingleActionScheduleObjects()
411
- REGISTER_OBJECTS_MONITOR = RegisterObjectsMonitor()
412
- PARAMETER_MONITOR_OBJECTS = ParameterMonitorObjects()
413
- LIMITER_OBJECTS = LimiterObjects()
414
- ARRAY_MANAGER_OBJECT = ArrayManagerObjects()
415
- PAYMENT_METERING_RELATED_OBJECTS = PaymentMeteringRelatedObjects()
416
- IEC_LOCAL_PORT_SETUP_OBJECTS = IecLocalPortSetupObjects()
417
- STANDARD_READOUT_PROFILE_OBJECTS = StandardReadoutProfileObjects()
418
- IEC_HDLC_SETUP_OBJECTS = IecHdlcSetupObjects()
419
- IEC_TWISTED_PAIR_1_SETUP_OBJECTS = IecTwistedPair1SetupObjects()
420
- OBJECTS_RELATED_TO_DATA_EXCHANGE_OVER_M_BUS = ObjectsRelatedToDataExchangeOverMBus()
421
- OBJECTS_TO_SET_UP_DATA_EXCHANGE_OVER_THE_INTERNET = ObjectsToSetUpDataExchangeOverTheInternet()
422
- OBJECTS_TO_SET_UP_PUSH_SETUP = ObjectsToSetUpPushSetup()
423
- OBJECTS_FOR_SETTING_UP_DATA_EXCHANGE_USING_S_FSK_PLC = ObjectsForSettingUpDataExchangeUsingSFskPlc()
424
- OBJECTS_FOR_SETTING_UP_THE_ISO_IEC_8802_2_LLC_LAYER = ObjectsForSettingUpTheIsoIec88022LlcLayer()
425
- OBJECTS_FOR_DATA_EXCHANGE_USING_NARROWBAND_OFDM_PLC_FOR_PRIME_NETWORKS = ObjectsForDataExchangeUsingNarrowbandOfdmPlcForPrimeNetworks()
426
- OBJECTS_FOR_DATA_EXCHANGE_USING_NARROW_BAND_OFDM_PLC_FOR_G3_PLC_NETWORKS = ObjectsForDataExchangeUsingNarrowBandOfdmPlcForG3PlcNetworks()
427
- ZIGBEE_SETUP_OBJECTS = ZigbeeSetupObjects()
428
- OBJECTS_FOR_SETTING_UP_AND_MANAGING_DATA_EXCHANGE_USING_ISO_IEC_14908_PLC_NETWORKS = ObjectsForSettingUpAndManagingDataExchangeUsingIsoIec14908PlcNetworks()
429
- OBJECTS_FOR_DATA_EXCHANGE_USING_HS_PLC_ISO_IEC_12139_1_ISO_EC_12139_1_NETWORKS = ObjectsForDataExchangeUsingHsPlcIsoIec121391IsoEc121391Networks()
430
- OBJECTS_FOR_DATA_EXCHANGE_USING_WI_SUN_NETWORKS = ObjectsForDataExchangeUsingWiSunNetworks()
431
- ASSOCIATION_OBJECTS = AssociationObjects()
432
- SAP_ASSIGNMENT_OBJECT = SapAssignmentObject()
433
- COSEM_LOGICAL_DEVICE_NAME_OBJECT = CosemLogicalDeviceNameObject()
434
- INFORMATION_SECURITY_RELATED_OBJECTS = InformationSecurityRelatedObjects()
435
- IMAGE_TRANSFER_OBJECTS = ImageTransferObjects()
436
- FUNCTION_CONTROL_OBJECTS = FunctionControlObjects()
437
- COMMUNICATION_PORT_PROTECTION_OBJECTS = CommunicationPortProtectionObjects()
438
- UTILITY_TABLE_OBJECTS = UtilityTableObjects()
439
- COMPACT_DATA_OBJECTS = CompactDataObjects()
440
- DEVICE_ID_OBJECTS = DeviceIdObjects()
441
- METERING_POINT_ID_OBJECTS = MeteringPointIdObjects()
442
- PARAMETER_CHANGES_AND_CALIBRATION_OBJECTS = ParameterChangesAndCalibrationObjects()
443
- I_O_CONTROL_SIGNAL_OBJECTS = IOControlSignalObjects()
444
- DISCONNECT_CONTROL_OBJECTS = DisconnectControlObjects()
445
- ARBITRATOR_OBJECTS = ArbitratorObjects()
446
- STATUS_OF_INTERNAL_CONTROL_SIGNALS_OBJECTS = StatusOfInternalControlSignalsObjects()
447
- INTERNAL_OPERATING_STATUS_OBJECTS = InternalOperatingStatusObjects()
448
- BATTERY_ENTRIES_OBJECTS = BatteryEntriesObjects()
449
- POWER_FAILURE_MONITORING_OBJECTS = PowerFailureMonitoringObjects()
450
- OPERATING_TIME_OBJECTS = OperatingTimeObjects()
451
- ENVIRONMENT_RELATED_PARAMETERS_OBJECTS = EnvironmentRelatedParametersObjects()
452
- STATUS_REGISTER_OBJECTS = StatusRegisterObjects()
453
- EVENT_CODE_OBJECTS = EventCodeObjects()
454
- COMMUNICATION_PORT_LOG_PARAMETER_OBJECTS = CommunicationPortLogParameterObjects()
455
- CONSUMER_MESSAGE_OBJECTS = ConsumerMessageObjects()
456
- CURRENTLY_ACTIVE_TARIFF_OBJECTS = CurrentlyActiveTariffObjects()
457
- EVENT_COUNTER_OBJECTS = EventCounterObjects()
458
- PROFILE_ENTRY_DIGITAL_SIGNATURE_OBJECTS = ProfileEntryDigitalSignatureObjects()
459
- PROFILE_ENTRY_COUNTER_OBJECTS = ProfileEntryCounterObjects()
460
- METER_TAMPER_EVENT_RELATED_OBJECTS = MeterTamperEventRelatedObjects()
461
- ERROR_REGISTER_OBJECTS = ErrorRegisterObjects()
462
- ALARM_REGISTER_FILTER_DESCRIPTOR_OBJECTS = AlarmRegisterFilterDescriptorObjects()
463
- GENERAL_LIST_OBJECTS = GeneralListObjects()
464
- EVENT_LOG_OBJECTS = EventLogObjects()
465
- INACTIVE_OBJECTS = InactiveObjects()
466
- ABSTRACT_MANUFACTURER_SPECIFIC = AbstractManufacturerSpecific()
467
- ABSTRACT_DATA_PROFILE_OBJECTS = AbstractDataProfileObjects()
468
-
469
-
470
- # electricity
471
- class IdNumbersElectricity(Electricity):
472
- """6_3_2"""
473
-
474
-
475
- class BillingPeriodValuesResetCounterEntriesEl(Electricity):
476
- """6_3_3"""
477
-
478
-
479
- class OtherElectricityRelatedGeneralPurposeObjects(Electricity):
480
- """6_3_4"""
481
-
482
-
483
- class MeasurementAlgorithm(Electricity):
484
- """6_3_5"""
485
-
486
-
487
- class MeteringPointId(Electricity):
488
- """6_3_6"""
489
-
490
-
491
- class ElectricityRelatedStatusObjects(Electricity):
492
- """6_3_7"""
493
-
494
-
495
- class ListObjectsElectricity(Electricity):
496
- """6_3_8"""
497
-
498
-
499
- class ThresholdValues(Electricity):
500
- """6_3_9"""
501
-
502
-
503
- class RegisterMonitorObjects(Electricity):
504
- """6_3_10"""
505
-
506
-
507
- class ActivePowerPlus(Electricity):
508
- """7_5_1"""
509
-
510
-
511
- class ActivePowerMinus(Electricity):
512
- """7_5_2"""
513
-
514
-
515
- class ReactivePowerPlus(Electricity):
516
- """7_5_3"""
517
-
518
-
519
- class ReactivePowerMinus(Electricity):
520
- """7_5_4"""
521
-
522
-
523
- class ReactivePowerQi(Electricity):
524
- """7_5_4"""
525
-
526
-
527
- class ReactivePowerQii(Electricity):
528
- """7_5_5"""
529
-
530
-
531
- class ReactivePowerQiii(Electricity):
532
- """7_5_6"""
533
-
534
-
535
- class ReactivePowerQiv(Electricity):
536
- """7_5_7"""
537
-
538
-
539
- class ApparentPowerPlus(Electricity):
540
- """7_5_8"""
541
-
542
-
543
- class ApparentPowerMinus(Electricity):
544
- """7_5_9"""
545
-
546
-
547
- class Current(Electricity):
548
- """7_5_10"""
549
-
550
-
551
- class Voltage(Electricity):
552
- """7_5_11"""
553
-
554
-
555
- class PowerFactor(Electricity):
556
- """7_5_12"""
557
-
558
-
559
- class SupplyFrequency(Electricity):
560
- """7_5_13"""
561
-
562
-
563
- class ActivePowerSum(Electricity):
564
- """7_5_14"""
565
-
566
-
567
- class ActivePowerDiff(Electricity):
568
- """7_5_15"""
569
-
570
-
571
- class ActivePowerQi(Electricity):
572
- """7_5_14"""
573
-
574
-
575
- class ActivePowerQii(Electricity):
576
- """7_5_15"""
577
-
578
-
579
- class ActivePowerQiii(Electricity):
580
- """7_5_16"""
581
-
582
-
583
- class ActivePowerQiv(Electricity):
584
- """7_5_17"""
585
-
586
-
587
- class Angels(Electricity):
588
- """7_5_18"""
589
-
590
-
591
- class UnitlessQuantity(Electricity):
592
- """7_5_19"""
593
-
594
-
595
- class TransformerAndLineLossQuantities(Electricity):
596
- """7_5_20"""
597
-
598
-
599
- class AllPowerFactor(Electricity):
600
- """7_5_21"""
601
-
602
-
603
- class L1PowerFactor(Electricity):
604
- """7_5_22"""
605
-
606
-
607
- class L2PowerFactor(Electricity):
608
- """7_5_23"""
609
-
610
-
611
- class L3PowerFactor(Electricity):
612
- """7_5_24"""
613
-
614
-
615
- class AmpereSquaredHours(Electricity):
616
- """7_5_25"""
617
-
618
-
619
- class VoltSquaredHours(Electricity):
620
- """7_5_26"""
621
-
622
-
623
- class AllCurrent(Electricity):
624
- """7_5_27"""
625
-
626
-
627
- class L0Current(Electricity):
628
- """7_5_28"""
629
-
630
-
631
- class L0Voltage(Electricity):
632
- """7_5_29"""
633
-
634
-
635
- class ConsortiaSpecificIdentifiers(Electricity):
636
- """7_5_30"""
637
-
638
-
639
- class CountrySpecificIdentifiers(Electricity):
640
- """7_5_31"""
641
-
642
-
643
- class ElectricityGeneralAndServiceEntryObjects(Electricity):
644
- """7_5_32"""
645
-
646
-
647
- class ElectricityErrorRegisterObjects(Electricity):
648
- """7_5_33"""
649
-
650
-
651
- class ElectricityDataProfileObjects(Electricity):
652
- """7_5_35"""
653
-
654
-
655
- class ReactivePowerInductive(Electricity):
656
- """7_5_36"""
657
-
658
-
659
- class ReactivePowerCapacitive(Electricity):
660
- """7_5_37"""
661
-
662
-
663
- class ElectricityReserved(Electricity):
664
- """7_5_38"""
665
-
666
-
667
- class L1L2LineVoltage(Electricity):
668
- """7_5_39"""
669
-
670
-
671
- class L2L3LineVoltage(Electricity):
672
- """7_5_40"""
673
-
674
-
675
- class L3L1LineVoltage(Electricity):
676
- """7_5_41"""
677
-
678
-
679
- class ElectricityManufacturerSpecific(Electricity):
680
- """7_5_42"""
681
-
682
-
683
- class ElectricityMeteringPointIdObjects(Electricity):
684
- """6_2_43"""
685
-
686
-
687
- BILLING_PERIOD_VALUES_RESET_COUNTER_ENTRIES_EL = BillingPeriodValuesResetCounterEntriesEl()
688
- ID_NUMBERS_ELECTRICITY = IdNumbersElectricity()
689
- OTHER_ELECTRICITY_RELATED_GENERAL_PURPOSE_OBJECTS = OtherElectricityRelatedGeneralPurposeObjects()
690
- MEASUREMENT_ALGORITHM = MeasurementAlgorithm()
691
- METERING_POINT_ID = MeteringPointId()
692
- ELECTRICITY_RELATED_STATUS_OBJECTS = ElectricityRelatedStatusObjects()
693
- LIST_OBJECTS_ELECTRICITY = ListObjectsElectricity()
694
- THRESHOLD_VALUES = ThresholdValues()
695
- REGISTER_MONITOR_OBJECTS = RegisterMonitorObjects()
696
- ACTIVE_POWER_PLUS = ActivePowerPlus()
697
- ACTIVE_POWER_MINUS = ActivePowerMinus()
698
- REACTIVE_POWER_PLUS = ReactivePowerPlus()
699
- REACTIVE_POWER_MINUS = ReactivePowerMinus()
700
- REACTIVE_POWER_QI = ReactivePowerQi()
701
- REACTIVE_POWER_QII = ReactivePowerQii()
702
- REACTIVE_POWER_QIII = ReactivePowerQiii()
703
- REACTIVE_POWER_QIV = ReactivePowerQiv()
704
- APPARENT_POWER_PLUS = ApparentPowerPlus()
705
- APPARENT_POWER_MINUS = ApparentPowerMinus()
706
- CURRENT = Current()
707
- VOLTAGE = Voltage()
708
- POWER_FACTOR = PowerFactor()
709
- SUPPLY_FREQUENCY = SupplyFrequency()
710
- ACTIVE_POWER_SUM = ActivePowerSum()
711
- ACTIVE_POWER_DIFF = ActivePowerDiff()
712
- ACTIVE_POWER_QI = ActivePowerQi()
713
- ACTIVE_POWER_QII = ActivePowerQii()
714
- ACTIVE_POWER_QIII = ActivePowerQiii()
715
- ACTIVE_POWER_QIV = ActivePowerQiv()
716
- ANGELS = Angels()
717
- UNITLESS_QUANTITY = UnitlessQuantity()
718
- TRANSFORMER_AND_LINE_LOSS_QUANTITIES = TransformerAndLineLossQuantities()
719
- ALL_POWER_FACTOR = AllPowerFactor()
720
- L1_POWER_FACTOR = L1PowerFactor()
721
- L2_POWER_FACTOR = L2PowerFactor()
722
- L3_POWER_FACTOR = L3PowerFactor()
723
- AMPERE_SQUARED_HOURS = AmpereSquaredHours()
724
- VOLT_SQUARED_HOURS = VoltSquaredHours()
725
- ALL_CURRENT = AllCurrent()
726
- L0_CURRENT = L0Current()
727
- L0_VOLTAGE = L0Voltage()
728
- CONSORTIA_SPECIFIC_IDENTIFIERS = ConsortiaSpecificIdentifiers()
729
- COUNTRY_SPECIFIC_IDENTIFIERS = CountrySpecificIdentifiers()
730
- ELECTRICITY_GENERAL_AND_SERVICE_ENTRY_OBJECTS = ElectricityGeneralAndServiceEntryObjects()
731
- ELECTRICITY_ERROR_REGISTER_OBJECTS = ElectricityErrorRegisterObjects()
732
- ELECTRICITY_DATA_PROFILE_OBJECTS = ElectricityDataProfileObjects()
733
- REACTIVE_POWER_INDUCTIVE = ReactivePowerInductive()
734
- REACTIVE_POWER_CAPACITIVE = ReactivePowerCapacitive()
735
- ELECTRICITY_RESERVED = ElectricityReserved()
736
- L1_L2_LINE_VOLTAGE = L1L2LineVoltage()
737
- L2_L3_LINE_VOLTAGE = L2L3LineVoltage()
738
- L3_L1_LINE_VOLTAGE = L3L1LineVoltage()
739
- ELECTRICITY_MANUFACTURER_SPECIFIC = ElectricityManufacturerSpecific()
740
- ELECTRICITY_METERING_POINT_ID_OBJECTS = ElectricityMeteringPointIdObjects()
741
-
742
- # hca
743
-
744
-
745
- class IdNumbersHca(Hca):
746
- """6_4_2"""
747
-
748
-
749
- class BillingPeriodValuesResetCounterEntriesHca(Hca):
750
- """6_4_3"""
751
-
752
-
753
- class GeneralPurposeObjectsHca(Hca):
754
- """6_4_4"""
755
-
756
-
757
- class MeasuredValuesHcaConsumption(Hca):
758
- """6_4_5_1"""
759
-
760
-
761
- class MeasuredValuesHcaTemperature(Hca):
762
- """6_4_5_2"""
763
-
764
-
765
- class ErrorRegisterObjectsHca(Hca):
766
- """6_4_6"""
767
-
768
-
769
- class ListObjectsHca(Hca):
770
- """6_4_7"""
771
-
772
-
773
- class DataProfileObjectsHca(Hca):
774
- """6_4_8"""
775
-
776
-
777
- ID_NUMBERS_HCA = IdNumbersHca()
778
- BILLING_PERIOD_VALUES_RESET_COUNTER_ENTRIES_HCA = BillingPeriodValuesResetCounterEntriesHca()
779
- GENERAL_PURPOSE_OBJECTS_HCA = GeneralPurposeObjectsHca()
780
- MEASURED_VALUES_HCA_CONSUMPTION = MeasuredValuesHcaConsumption()
781
- MEASURED_VALUES_HCA_TEMPERATURE = MeasuredValuesHcaTemperature()
782
- ERROR_REGISTER_OBJECTS_HCA = ErrorRegisterObjectsHca()
783
- LIST_OBJECTS_HCA = ListObjectsHca()
784
- DATA_PROFILE_OBJECTS_HCA = DataProfileObjectsHca()
785
-
786
-
787
- # thermal
788
-
789
-
790
- class IdNumbersThermal(Thermal):
791
- """6_5_2"""
792
-
793
-
794
- class BillingPeriodValuesResetCounterEntriesThermal(Thermal):
795
- """6_5_3"""
796
-
797
-
798
- class GeneralPurposeObjectsThermal(Thermal):
799
- """6_5_4"""
800
-
801
-
802
- class MeasuredValuesThermalConsumption(Thermal):
803
- """6_5_5_1"""
804
-
805
-
806
- class MeasuredValuesThermalEnergy(Thermal):
807
- """6_5_5_2"""
808
-
809
-
810
- class ErrorRegisterObjectsThermal(Thermal):
811
- """6_5_6"""
812
-
813
-
814
- class ListObjectsThermal(Thermal):
815
- """6_5_7"""
816
-
817
-
818
- class DataProfileObjectsThermal(Thermal):
819
- """6_5_8"""
820
-
821
-
822
- ID_NUMBERS_THERMAL = IdNumbersThermal()
823
- BILLING_PERIOD_VALUES_RESET_COUNTER_ENTRIES_THERMAL = BillingPeriodValuesResetCounterEntriesThermal()
824
- GENERAL_PURPOSE_OBJECTS_THERMAL = GeneralPurposeObjectsThermal()
825
- MEASURED_VALUES_THERMAL_CONSUMPTION = MeasuredValuesThermalConsumption()
826
- MEASURED_VALUES_THERMAL_ENERGY = MeasuredValuesThermalEnergy()
827
- ERROR_REGISTER_OBJECTS_THERMAL = ErrorRegisterObjectsThermal()
828
- LIST_OBJECTS_THERMAL = ListObjectsThermal()
829
- DATA_PROFILE_OBJECTS_THERMAL = DataProfileObjectsThermal()
830
-
831
-
832
- # gas
833
- class IdNumbersGas(Gas):
834
- """6_6_2"""
835
-
836
-
837
- class BillingPeriodValuesResetCounterEntriesGas(Gas):
838
- """6_6_3"""
839
-
840
-
841
- class GeneralPurposeObjectsGas(Gas):
842
- """6_6_4"""
843
-
844
-
845
- class InternalOperatingStatusObjectsGas(Gas):
846
- """6_6_5"""
847
-
848
-
849
- class MeasuredValuesGasIndexesAndIndexDifferences(Gas):
850
- """6_6_6_1"""
851
-
852
-
853
- class MeasuredValuesGasFlowRate(Gas):
854
- """6_6_6_2"""
855
-
856
-
857
- class MeasuredValuesGasProcessValues(Gas):
858
- """6_6_6_3"""
859
-
860
-
861
- class ConversionRelatedFactorsAndCoefficientsGas(Gas):
862
- """6_6_7"""
863
-
864
-
865
- class CalculationMethodsGas(Gas):
866
- """6_6_8"""
867
-
868
-
869
- class NaturalGasAnalysis(Gas):
870
- """6_6_9"""
871
-
872
-
873
- class ListObjectsGas(Gas):
874
- """6_6_10"""
875
-
876
-
877
- ID_NUMBERS_GAS = IdNumbersGas()
878
- BILLING_PERIOD_VALUES_RESET_COUNTER_ENTRIES_GAS = BillingPeriodValuesResetCounterEntriesGas()
879
- GENERAL_PURPOSE_OBJECTS_GAS = GeneralPurposeObjectsGas()
880
- INTERNAL_OPERATING_STATUS_OBJECTS_GAS = InternalOperatingStatusObjectsGas()
881
- MEASURED_VALUES_GAS_INDEXES_AND_INDEX_DIFFERENCES = MeasuredValuesGasIndexesAndIndexDifferences()
882
- MEASURED_VALUES_GAS_FLOW_RATE = MeasuredValuesGasFlowRate()
883
- MEASURED_VALUES_GAS_PROCESS_VALUES = MeasuredValuesGasProcessValues()
884
- CONVERSION_RELATED_FACTORS_AND_COEFFICIENTS_GAS = ConversionRelatedFactorsAndCoefficientsGas()
885
- CALCULATION_METHODS_GAS = CalculationMethodsGas()
886
- NATURAL_GAS_ANALYSIS = NaturalGasAnalysis()
887
- LIST_OBJECTS_GAS = ListObjectsGas()
888
-
889
- # water
890
-
891
-
892
- class IdNumbersWater(Water):
893
- """6_7_2"""
894
-
895
-
896
- class BillingPeriodValuesResetCounterEntriesWater(Water):
897
- """6_7_3"""
898
-
899
-
900
- class GeneralPurposeObjectsWater(Water):
901
- """6_7_4"""
902
-
903
-
904
- class MeasuredValuesWaterConsumption(Water):
905
- """6_7_5_1"""
906
-
907
-
908
- class MeasuredValuesWaterMonitoringValues(Water):
909
- """6_7_5_2"""
910
-
911
-
912
- class ErrorRegisterObjectsWater(Water):
913
- """6_7_6"""
914
-
915
-
916
- class ListObjectsWater(Water):
917
- """6_7_7"""
918
-
919
-
920
- class DataProfileObjectsWater(Water):
921
- """6_7_8"""
922
-
923
-
924
- ID_NUMBERS_WATER = IdNumbersWater()
925
- BILLING_PERIOD_VALUES_RESET_COUNTER_ENTRIES_WATER = BillingPeriodValuesResetCounterEntriesWater()
926
- GENERAL_PURPOSE_OBJECTS_WATER = GeneralPurposeObjectsWater()
927
- MEASURED_VALUES_WATER_CONSUMPTION = MeasuredValuesWaterConsumption()
928
- MEASURED_VALUES_WATER_MONITORING_VALUES = MeasuredValuesWaterMonitoringValues()
929
- ERROR_REGISTER_OBJECTS_WATER = ErrorRegisterObjectsWater()
930
- LIST_OBJECTS_WATER = ListObjectsWater()
931
- DATA_PROFILE_OBJECTS_WATER = DataProfileObjectsWater()
1
+ from abc import ABC, abstractmethod
2
+ from typing import Protocol
3
+ from itertools import count
4
+ from ..config_parser import config
5
+ from ..settings import settings
6
+ from ..types import cdt
7
+
8
+
9
+ _mid_names = config["DLMS"]["media_id_name"] # todo: make with settings
10
+
11
+
12
+ class MediaIdProto(Protocol):
13
+ _value: tuple[int]
14
+ _inst = None
15
+ TYPE: type[cdt.CommonDataType]
16
+
17
+ def __eq__(self, other: int) -> bool:
18
+ """with integer"""
19
+
20
+ def __hash__(self) -> int:
21
+ """for hashable"""
22
+
23
+
24
+ class MediaId(MediaIdProto):
25
+ """DLMS UA 1000-1 Ed 14. Table 53 – OBIS code structure and use of value groups. For Group A"""
26
+ _value: tuple[int]
27
+ _inst = None
28
+ TYPE: type[cdt.CommonDataType]
29
+
30
+ @classmethod
31
+ def from_int(cls, value: int):
32
+ match value:
33
+ case 0: return Abstract()
34
+ case 1: return Electricity()
35
+ case 4: return Hca()
36
+ case 5 | 6: return Thermal()
37
+ case 7: return Gas()
38
+ case 8 | 9: return Water()
39
+ case 15: return Other()
40
+ case int(): return Reserved(value)
41
+ case _: raise ValueError(F"can't create {cls.__name__} from {value=}")
42
+
43
+ def __str__(self) -> str:
44
+ if _mid_names and (t := _mid_names.get(self.__class__.__name__)):
45
+ return t
46
+ else:
47
+ return self.__class__.__name__
48
+
49
+ def __init_subclass__(cls, **kwargs):
50
+ def init_hash(self) -> int:
51
+ return self.subgroup
52
+
53
+ cls.subgroup = next(sub_group_hash)
54
+ setattr(cls, "__hash__", init_hash)
55
+
56
+
57
+ class OneValueMixin:
58
+ _value: int
59
+
60
+ def __eq__(self, other: int):
61
+ return True if other == self._value else False
62
+
63
+ def __hash__(self):
64
+ return self._value
65
+
66
+
67
+ class TwoValueMixin:
68
+ _value: tuple[int, ...]
69
+
70
+ def __eq__(self, other: int):
71
+ return True if other in self._value else False
72
+
73
+ def __hash__(self):
74
+ return self._value[0]
75
+
76
+
77
+ sub_group_hash = count()
78
+
79
+
80
+ class Abstract(OneValueMixin, MediaId):
81
+ _value = 0
82
+ __slots__ = tuple()
83
+
84
+
85
+ class Electricity(OneValueMixin, MediaId):
86
+ _value = 1
87
+ __slots__ = tuple()
88
+
89
+
90
+ class Hca(OneValueMixin, MediaId):
91
+ _value = 4
92
+ __slots__ = tuple()
93
+
94
+
95
+ class Thermal(TwoValueMixin, MediaId):
96
+ _value = 5, 6
97
+ __slots__ = tuple()
98
+
99
+
100
+ class Gas(OneValueMixin, MediaId):
101
+ _value = 7
102
+ __slots__ = tuple()
103
+
104
+
105
+ class Water(TwoValueMixin, MediaId):
106
+ _value = 8, 9
107
+ __slots__ = tuple()
108
+
109
+
110
+ class Other(OneValueMixin, MediaId):
111
+ _value = 15
112
+ __slots__ = tuple()
113
+
114
+
115
+ class Reserved(OneValueMixin, MediaId):
116
+ __slots__ = ("_value",)
117
+
118
+ def __init__(self, value: int):
119
+ self._value = value
120
+
121
+
122
+ ABSTRACT = Abstract()
123
+ ELECTRICITY = Electricity()
124
+ HCA = Hca()
125
+ THERMAL = Thermal()
126
+ GAS = Gas()
127
+ WATER = Water()
128
+ OTHER_MEDIA = Other()
129
+ # abstract
130
+
131
+
132
+ class BillingPeriodValuesResetCounterEntries(Abstract):
133
+ """6_2_3"""
134
+
135
+
136
+ class OtherAbstractGeneralPurposeObisCodes(Abstract):
137
+ """6_2_4"""
138
+
139
+
140
+ class ClockObjects(Abstract):
141
+ """6_2_5"""
142
+
143
+
144
+ class ModemConfigurationAndRelatedObjects(Abstract):
145
+ """6_2_6"""
146
+
147
+
148
+ class ScriptTableObjects(Abstract):
149
+ """6_2_7"""
150
+
151
+
152
+ class SpecialDaysTableObjects(Abstract):
153
+ """6_2_8"""
154
+
155
+
156
+ class ScheduleObjects(Abstract):
157
+ """6_2_9"""
158
+
159
+
160
+ class ActivityCalendarObjects(Abstract):
161
+ """6_2_10"""
162
+
163
+
164
+ class RegisterActivationObjects(Abstract):
165
+ """6_2_11"""
166
+
167
+
168
+ class SingleActionScheduleObjects(Abstract):
169
+ """6_2_12"""
170
+
171
+
172
+ class RegisterObjectsMonitor(Abstract):
173
+ """6_2_13"""
174
+
175
+
176
+ class ParameterMonitorObjects(Abstract):
177
+ """6_2_14"""
178
+
179
+
180
+ class LimiterObjects(Abstract):
181
+ """6_2_15"""
182
+
183
+
184
+ class ArrayManagerObjects(Abstract):
185
+ """6_2_16"""
186
+
187
+
188
+ class PaymentMeteringRelatedObjects(Abstract):
189
+ """6_2_17"""
190
+
191
+
192
+ class IecLocalPortSetupObjects(Abstract):
193
+ """6_2_18"""
194
+
195
+
196
+ class StandardReadoutProfileObjects(Abstract):
197
+ """6_2_19"""
198
+
199
+
200
+ class IecHdlcSetupObjects(Abstract):
201
+ """6_2_20"""
202
+
203
+
204
+ class IecTwistedPair1SetupObjects(Abstract):
205
+ """6_2_21"""
206
+
207
+
208
+ class ObjectsRelatedToDataExchangeOverMBus(Abstract):
209
+ """6_2_22"""
210
+
211
+
212
+ class ObjectsToSetUpDataExchangeOverTheInternet(Abstract):
213
+ """6_2_23"""
214
+
215
+
216
+ class ObjectsToSetUpPushSetup(Abstract):
217
+ """6_2_24"""
218
+
219
+
220
+ class ObjectsForSettingUpDataExchangeUsingSFskPlc(Abstract):
221
+ """6_2_25"""
222
+
223
+
224
+ class ObjectsForSettingUpTheIsoIec88022LlcLayer(Abstract):
225
+ """6_2_26"""
226
+
227
+
228
+ class ObjectsForDataExchangeUsingNarrowbandOfdmPlcForPrimeNetworks(Abstract):
229
+ """6_2_27"""
230
+
231
+
232
+ class ObjectsForDataExchangeUsingNarrowBandOfdmPlcForG3PlcNetworks(Abstract):
233
+ """6_2_28"""
234
+
235
+
236
+ class ZigbeeSetupObjects(Abstract):
237
+ """6_2_29"""
238
+
239
+
240
+ class ObjectsForSettingUpAndManagingDataExchangeUsingIsoIec14908PlcNetworks(Abstract):
241
+ """6_2_30"""
242
+
243
+
244
+ class ObjectsForDataExchangeUsingHsPlcIsoIec121391IsoEc121391Networks(Abstract):
245
+ """6_2_31"""
246
+
247
+
248
+ class ObjectsForDataExchangeUsingWiSunNetworks(Abstract):
249
+ """6_2_32"""
250
+
251
+
252
+ class AssociationObjects(Abstract):
253
+ """6_2_33"""
254
+
255
+
256
+ class SapAssignmentObject(Abstract):
257
+ """6_2_34"""
258
+
259
+
260
+ class CosemLogicalDeviceNameObject(Abstract):
261
+ """6_2_35"""
262
+
263
+
264
+ class InformationSecurityRelatedObjects(Abstract):
265
+ """6_2_36"""
266
+
267
+
268
+ class ImageTransferObjects(Abstract):
269
+ """6_2_37"""
270
+
271
+
272
+ class FunctionControlObjects(Abstract):
273
+ """6_2_38"""
274
+
275
+
276
+ class CommunicationPortProtectionObjects(Abstract):
277
+ """6_2_39"""
278
+
279
+
280
+ class UtilityTableObjects(Abstract):
281
+ """6_2_40"""
282
+
283
+
284
+ class CompactDataObjects(Abstract):
285
+ """6_2_41"""
286
+
287
+
288
+ class DeviceIdObjects(Abstract):
289
+ """6_2_42"""
290
+ TYPE = cdt.DoubleLongUnsigned | cdt.OctetString | cdt.VisibleString | cdt.Utf8String | cdt.Unsigned | cdt.LongUnsigned
291
+
292
+
293
+ class MeteringPointIdObjects(Abstract):
294
+ """6_2_43"""
295
+
296
+
297
+ class ParameterChangesAndCalibrationObjects(Abstract):
298
+ """6_2_44"""
299
+
300
+
301
+ class IOControlSignalObjects(Abstract):
302
+ """6_2_45"""
303
+
304
+
305
+ class DisconnectControlObjects(Abstract):
306
+ """6_2_46"""
307
+
308
+
309
+ class ArbitratorObjects(Abstract):
310
+ """6_2_47"""
311
+
312
+
313
+ class StatusOfInternalControlSignalsObjects(Abstract):
314
+ """6_2_48"""
315
+
316
+
317
+ class InternalOperatingStatusObjects(Abstract):
318
+ """6_2_49"""
319
+
320
+
321
+ class BatteryEntriesObjects(Abstract):
322
+ """6_2_50"""
323
+
324
+
325
+ class PowerFailureMonitoringObjects(Abstract):
326
+ """6_2_51"""
327
+
328
+
329
+ class OperatingTimeObjects(Abstract):
330
+ """6_2_52"""
331
+
332
+
333
+ class EnvironmentRelatedParametersObjects(Abstract):
334
+ """6_2_53"""
335
+
336
+
337
+ class StatusRegisterObjects(Abstract):
338
+ """6_2_54"""
339
+
340
+
341
+ class EventCodeObjects(Abstract):
342
+ """6_2_55"""
343
+
344
+
345
+ class CommunicationPortLogParameterObjects(Abstract):
346
+ """6_2_56"""
347
+
348
+
349
+ class ConsumerMessageObjects(Abstract):
350
+ """6_2_57"""
351
+
352
+
353
+ class CurrentlyActiveTariffObjects(Abstract):
354
+ """6_2_58"""
355
+
356
+
357
+ class EventCounterObjects(Abstract):
358
+ """6_2_59"""
359
+
360
+
361
+ class ProfileEntryDigitalSignatureObjects(Abstract):
362
+ """6_2_60"""
363
+
364
+
365
+ class ProfileEntryCounterObjects(Abstract):
366
+ """6_2_61"""
367
+
368
+
369
+ class MeterTamperEventRelatedObjects(Abstract):
370
+ """6_2_62"""
371
+
372
+
373
+ class ErrorRegisterObjects(Abstract):
374
+ """6_2_63"""
375
+
376
+
377
+ class AlarmRegisterFilterDescriptorObjects(Abstract):
378
+ """6_2_64"""
379
+
380
+
381
+ class GeneralListObjects(Abstract):
382
+ """6_2_65"""
383
+
384
+
385
+ class EventLogObjects(Abstract):
386
+ """6_2_66"""
387
+
388
+
389
+ class InactiveObjects(Abstract):
390
+ """6_2_67"""
391
+
392
+
393
+ class AbstractManufacturerSpecific(Abstract):
394
+ """7_4_1_0"""
395
+
396
+
397
+ class AbstractDataProfileObjects(Abstract):
398
+ """7_4_5"""
399
+
400
+
401
+ BILLING_PERIOD_VALUES_RESET_COUNTER_ENTRIES = BillingPeriodValuesResetCounterEntries()
402
+ OTHER_ABSTRACT_GENERAL_PURPOSE_OBIS_CODES = OtherAbstractGeneralPurposeObisCodes()
403
+ CLOCK_OBJECTS = ClockObjects()
404
+ MODEM_CONFIGURATION_AND_RELATED_OBJECTS = ModemConfigurationAndRelatedObjects()
405
+ SCRIPT_TABLE_OBJECTS = ScriptTableObjects()
406
+ SPECIAL_DAYS_TABLE_OBJECTS = SpecialDaysTableObjects()
407
+ SCHEDULE_OBJECTS = ScheduleObjects()
408
+ ACTIVITY_CALENDAR_OBJECTS = ActivityCalendarObjects()
409
+ REGISTER_ACTIVATION_OBJECTS = RegisterActivationObjects()
410
+ SINGLE_ACTION_SCHEDULE_OBJECTS = SingleActionScheduleObjects()
411
+ REGISTER_OBJECTS_MONITOR = RegisterObjectsMonitor()
412
+ PARAMETER_MONITOR_OBJECTS = ParameterMonitorObjects()
413
+ LIMITER_OBJECTS = LimiterObjects()
414
+ ARRAY_MANAGER_OBJECT = ArrayManagerObjects()
415
+ PAYMENT_METERING_RELATED_OBJECTS = PaymentMeteringRelatedObjects()
416
+ IEC_LOCAL_PORT_SETUP_OBJECTS = IecLocalPortSetupObjects()
417
+ STANDARD_READOUT_PROFILE_OBJECTS = StandardReadoutProfileObjects()
418
+ IEC_HDLC_SETUP_OBJECTS = IecHdlcSetupObjects()
419
+ IEC_TWISTED_PAIR_1_SETUP_OBJECTS = IecTwistedPair1SetupObjects()
420
+ OBJECTS_RELATED_TO_DATA_EXCHANGE_OVER_M_BUS = ObjectsRelatedToDataExchangeOverMBus()
421
+ OBJECTS_TO_SET_UP_DATA_EXCHANGE_OVER_THE_INTERNET = ObjectsToSetUpDataExchangeOverTheInternet()
422
+ OBJECTS_TO_SET_UP_PUSH_SETUP = ObjectsToSetUpPushSetup()
423
+ OBJECTS_FOR_SETTING_UP_DATA_EXCHANGE_USING_S_FSK_PLC = ObjectsForSettingUpDataExchangeUsingSFskPlc()
424
+ OBJECTS_FOR_SETTING_UP_THE_ISO_IEC_8802_2_LLC_LAYER = ObjectsForSettingUpTheIsoIec88022LlcLayer()
425
+ OBJECTS_FOR_DATA_EXCHANGE_USING_NARROWBAND_OFDM_PLC_FOR_PRIME_NETWORKS = ObjectsForDataExchangeUsingNarrowbandOfdmPlcForPrimeNetworks()
426
+ OBJECTS_FOR_DATA_EXCHANGE_USING_NARROW_BAND_OFDM_PLC_FOR_G3_PLC_NETWORKS = ObjectsForDataExchangeUsingNarrowBandOfdmPlcForG3PlcNetworks()
427
+ ZIGBEE_SETUP_OBJECTS = ZigbeeSetupObjects()
428
+ OBJECTS_FOR_SETTING_UP_AND_MANAGING_DATA_EXCHANGE_USING_ISO_IEC_14908_PLC_NETWORKS = ObjectsForSettingUpAndManagingDataExchangeUsingIsoIec14908PlcNetworks()
429
+ OBJECTS_FOR_DATA_EXCHANGE_USING_HS_PLC_ISO_IEC_12139_1_ISO_EC_12139_1_NETWORKS = ObjectsForDataExchangeUsingHsPlcIsoIec121391IsoEc121391Networks()
430
+ OBJECTS_FOR_DATA_EXCHANGE_USING_WI_SUN_NETWORKS = ObjectsForDataExchangeUsingWiSunNetworks()
431
+ ASSOCIATION_OBJECTS = AssociationObjects()
432
+ SAP_ASSIGNMENT_OBJECT = SapAssignmentObject()
433
+ COSEM_LOGICAL_DEVICE_NAME_OBJECT = CosemLogicalDeviceNameObject()
434
+ INFORMATION_SECURITY_RELATED_OBJECTS = InformationSecurityRelatedObjects()
435
+ IMAGE_TRANSFER_OBJECTS = ImageTransferObjects()
436
+ FUNCTION_CONTROL_OBJECTS = FunctionControlObjects()
437
+ COMMUNICATION_PORT_PROTECTION_OBJECTS = CommunicationPortProtectionObjects()
438
+ UTILITY_TABLE_OBJECTS = UtilityTableObjects()
439
+ COMPACT_DATA_OBJECTS = CompactDataObjects()
440
+ DEVICE_ID_OBJECTS = DeviceIdObjects()
441
+ METERING_POINT_ID_OBJECTS = MeteringPointIdObjects()
442
+ PARAMETER_CHANGES_AND_CALIBRATION_OBJECTS = ParameterChangesAndCalibrationObjects()
443
+ I_O_CONTROL_SIGNAL_OBJECTS = IOControlSignalObjects()
444
+ DISCONNECT_CONTROL_OBJECTS = DisconnectControlObjects()
445
+ ARBITRATOR_OBJECTS = ArbitratorObjects()
446
+ STATUS_OF_INTERNAL_CONTROL_SIGNALS_OBJECTS = StatusOfInternalControlSignalsObjects()
447
+ INTERNAL_OPERATING_STATUS_OBJECTS = InternalOperatingStatusObjects()
448
+ BATTERY_ENTRIES_OBJECTS = BatteryEntriesObjects()
449
+ POWER_FAILURE_MONITORING_OBJECTS = PowerFailureMonitoringObjects()
450
+ OPERATING_TIME_OBJECTS = OperatingTimeObjects()
451
+ ENVIRONMENT_RELATED_PARAMETERS_OBJECTS = EnvironmentRelatedParametersObjects()
452
+ STATUS_REGISTER_OBJECTS = StatusRegisterObjects()
453
+ EVENT_CODE_OBJECTS = EventCodeObjects()
454
+ COMMUNICATION_PORT_LOG_PARAMETER_OBJECTS = CommunicationPortLogParameterObjects()
455
+ CONSUMER_MESSAGE_OBJECTS = ConsumerMessageObjects()
456
+ CURRENTLY_ACTIVE_TARIFF_OBJECTS = CurrentlyActiveTariffObjects()
457
+ EVENT_COUNTER_OBJECTS = EventCounterObjects()
458
+ PROFILE_ENTRY_DIGITAL_SIGNATURE_OBJECTS = ProfileEntryDigitalSignatureObjects()
459
+ PROFILE_ENTRY_COUNTER_OBJECTS = ProfileEntryCounterObjects()
460
+ METER_TAMPER_EVENT_RELATED_OBJECTS = MeterTamperEventRelatedObjects()
461
+ ERROR_REGISTER_OBJECTS = ErrorRegisterObjects()
462
+ ALARM_REGISTER_FILTER_DESCRIPTOR_OBJECTS = AlarmRegisterFilterDescriptorObjects()
463
+ GENERAL_LIST_OBJECTS = GeneralListObjects()
464
+ EVENT_LOG_OBJECTS = EventLogObjects()
465
+ INACTIVE_OBJECTS = InactiveObjects()
466
+ ABSTRACT_MANUFACTURER_SPECIFIC = AbstractManufacturerSpecific()
467
+ ABSTRACT_DATA_PROFILE_OBJECTS = AbstractDataProfileObjects()
468
+
469
+
470
+ # electricity
471
+ class IdNumbersElectricity(Electricity):
472
+ """6_3_2"""
473
+
474
+
475
+ class BillingPeriodValuesResetCounterEntriesEl(Electricity):
476
+ """6_3_3"""
477
+
478
+
479
+ class OtherElectricityRelatedGeneralPurposeObjects(Electricity):
480
+ """6_3_4"""
481
+
482
+
483
+ class MeasurementAlgorithm(Electricity):
484
+ """6_3_5"""
485
+
486
+
487
+ class MeteringPointId(Electricity):
488
+ """6_3_6"""
489
+
490
+
491
+ class ElectricityRelatedStatusObjects(Electricity):
492
+ """6_3_7"""
493
+
494
+
495
+ class ListObjectsElectricity(Electricity):
496
+ """6_3_8"""
497
+
498
+
499
+ class ThresholdValues(Electricity):
500
+ """6_3_9"""
501
+
502
+
503
+ class RegisterMonitorObjects(Electricity):
504
+ """6_3_10"""
505
+
506
+
507
+ class ActivePowerPlus(Electricity):
508
+ """7_5_1"""
509
+
510
+
511
+ class ActivePowerMinus(Electricity):
512
+ """7_5_2"""
513
+
514
+
515
+ class ReactivePowerPlus(Electricity):
516
+ """7_5_3"""
517
+
518
+
519
+ class ReactivePowerMinus(Electricity):
520
+ """7_5_4"""
521
+
522
+
523
+ class ReactivePowerQi(Electricity):
524
+ """7_5_4"""
525
+
526
+
527
+ class ReactivePowerQii(Electricity):
528
+ """7_5_5"""
529
+
530
+
531
+ class ReactivePowerQiii(Electricity):
532
+ """7_5_6"""
533
+
534
+
535
+ class ReactivePowerQiv(Electricity):
536
+ """7_5_7"""
537
+
538
+
539
+ class ApparentPowerPlus(Electricity):
540
+ """7_5_8"""
541
+
542
+
543
+ class ApparentPowerMinus(Electricity):
544
+ """7_5_9"""
545
+
546
+
547
+ class Current(Electricity):
548
+ """7_5_10"""
549
+
550
+
551
+ class Voltage(Electricity):
552
+ """7_5_11"""
553
+
554
+
555
+ class PowerFactor(Electricity):
556
+ """7_5_12"""
557
+
558
+
559
+ class SupplyFrequency(Electricity):
560
+ """7_5_13"""
561
+
562
+
563
+ class ActivePowerSum(Electricity):
564
+ """7_5_14"""
565
+
566
+
567
+ class ActivePowerDiff(Electricity):
568
+ """7_5_15"""
569
+
570
+
571
+ class ActivePowerQi(Electricity):
572
+ """7_5_14"""
573
+
574
+
575
+ class ActivePowerQii(Electricity):
576
+ """7_5_15"""
577
+
578
+
579
+ class ActivePowerQiii(Electricity):
580
+ """7_5_16"""
581
+
582
+
583
+ class ActivePowerQiv(Electricity):
584
+ """7_5_17"""
585
+
586
+
587
+ class Angels(Electricity):
588
+ """7_5_18"""
589
+
590
+
591
+ class UnitlessQuantity(Electricity):
592
+ """7_5_19"""
593
+
594
+
595
+ class TransformerAndLineLossQuantities(Electricity):
596
+ """7_5_20"""
597
+
598
+
599
+ class AllPowerFactor(Electricity):
600
+ """7_5_21"""
601
+
602
+
603
+ class L1PowerFactor(Electricity):
604
+ """7_5_22"""
605
+
606
+
607
+ class L2PowerFactor(Electricity):
608
+ """7_5_23"""
609
+
610
+
611
+ class L3PowerFactor(Electricity):
612
+ """7_5_24"""
613
+
614
+
615
+ class AmpereSquaredHours(Electricity):
616
+ """7_5_25"""
617
+
618
+
619
+ class VoltSquaredHours(Electricity):
620
+ """7_5_26"""
621
+
622
+
623
+ class AllCurrent(Electricity):
624
+ """7_5_27"""
625
+
626
+
627
+ class L0Current(Electricity):
628
+ """7_5_28"""
629
+
630
+
631
+ class L0Voltage(Electricity):
632
+ """7_5_29"""
633
+
634
+
635
+ class ConsortiaSpecificIdentifiers(Electricity):
636
+ """7_5_30"""
637
+
638
+
639
+ class CountrySpecificIdentifiers(Electricity):
640
+ """7_5_31"""
641
+
642
+
643
+ class ElectricityGeneralAndServiceEntryObjects(Electricity):
644
+ """7_5_32"""
645
+
646
+
647
+ class ElectricityErrorRegisterObjects(Electricity):
648
+ """7_5_33"""
649
+
650
+
651
+ class ElectricityDataProfileObjects(Electricity):
652
+ """7_5_35"""
653
+
654
+
655
+ class ReactivePowerInductive(Electricity):
656
+ """7_5_36"""
657
+
658
+
659
+ class ReactivePowerCapacitive(Electricity):
660
+ """7_5_37"""
661
+
662
+
663
+ class ElectricityReserved(Electricity):
664
+ """7_5_38"""
665
+
666
+
667
+ class L1L2LineVoltage(Electricity):
668
+ """7_5_39"""
669
+
670
+
671
+ class L2L3LineVoltage(Electricity):
672
+ """7_5_40"""
673
+
674
+
675
+ class L3L1LineVoltage(Electricity):
676
+ """7_5_41"""
677
+
678
+
679
+ class ElectricityManufacturerSpecific(Electricity):
680
+ """7_5_42"""
681
+
682
+
683
+ class ElectricityMeteringPointIdObjects(Electricity):
684
+ """6_2_43"""
685
+
686
+
687
+ BILLING_PERIOD_VALUES_RESET_COUNTER_ENTRIES_EL = BillingPeriodValuesResetCounterEntriesEl()
688
+ ID_NUMBERS_ELECTRICITY = IdNumbersElectricity()
689
+ OTHER_ELECTRICITY_RELATED_GENERAL_PURPOSE_OBJECTS = OtherElectricityRelatedGeneralPurposeObjects()
690
+ MEASUREMENT_ALGORITHM = MeasurementAlgorithm()
691
+ METERING_POINT_ID = MeteringPointId()
692
+ ELECTRICITY_RELATED_STATUS_OBJECTS = ElectricityRelatedStatusObjects()
693
+ LIST_OBJECTS_ELECTRICITY = ListObjectsElectricity()
694
+ THRESHOLD_VALUES = ThresholdValues()
695
+ REGISTER_MONITOR_OBJECTS = RegisterMonitorObjects()
696
+ ACTIVE_POWER_PLUS = ActivePowerPlus()
697
+ ACTIVE_POWER_MINUS = ActivePowerMinus()
698
+ REACTIVE_POWER_PLUS = ReactivePowerPlus()
699
+ REACTIVE_POWER_MINUS = ReactivePowerMinus()
700
+ REACTIVE_POWER_QI = ReactivePowerQi()
701
+ REACTIVE_POWER_QII = ReactivePowerQii()
702
+ REACTIVE_POWER_QIII = ReactivePowerQiii()
703
+ REACTIVE_POWER_QIV = ReactivePowerQiv()
704
+ APPARENT_POWER_PLUS = ApparentPowerPlus()
705
+ APPARENT_POWER_MINUS = ApparentPowerMinus()
706
+ CURRENT = Current()
707
+ VOLTAGE = Voltage()
708
+ POWER_FACTOR = PowerFactor()
709
+ SUPPLY_FREQUENCY = SupplyFrequency()
710
+ ACTIVE_POWER_SUM = ActivePowerSum()
711
+ ACTIVE_POWER_DIFF = ActivePowerDiff()
712
+ ACTIVE_POWER_QI = ActivePowerQi()
713
+ ACTIVE_POWER_QII = ActivePowerQii()
714
+ ACTIVE_POWER_QIII = ActivePowerQiii()
715
+ ACTIVE_POWER_QIV = ActivePowerQiv()
716
+ ANGELS = Angels()
717
+ UNITLESS_QUANTITY = UnitlessQuantity()
718
+ TRANSFORMER_AND_LINE_LOSS_QUANTITIES = TransformerAndLineLossQuantities()
719
+ ALL_POWER_FACTOR = AllPowerFactor()
720
+ L1_POWER_FACTOR = L1PowerFactor()
721
+ L2_POWER_FACTOR = L2PowerFactor()
722
+ L3_POWER_FACTOR = L3PowerFactor()
723
+ AMPERE_SQUARED_HOURS = AmpereSquaredHours()
724
+ VOLT_SQUARED_HOURS = VoltSquaredHours()
725
+ ALL_CURRENT = AllCurrent()
726
+ L0_CURRENT = L0Current()
727
+ L0_VOLTAGE = L0Voltage()
728
+ CONSORTIA_SPECIFIC_IDENTIFIERS = ConsortiaSpecificIdentifiers()
729
+ COUNTRY_SPECIFIC_IDENTIFIERS = CountrySpecificIdentifiers()
730
+ ELECTRICITY_GENERAL_AND_SERVICE_ENTRY_OBJECTS = ElectricityGeneralAndServiceEntryObjects()
731
+ ELECTRICITY_ERROR_REGISTER_OBJECTS = ElectricityErrorRegisterObjects()
732
+ ELECTRICITY_DATA_PROFILE_OBJECTS = ElectricityDataProfileObjects()
733
+ REACTIVE_POWER_INDUCTIVE = ReactivePowerInductive()
734
+ REACTIVE_POWER_CAPACITIVE = ReactivePowerCapacitive()
735
+ ELECTRICITY_RESERVED = ElectricityReserved()
736
+ L1_L2_LINE_VOLTAGE = L1L2LineVoltage()
737
+ L2_L3_LINE_VOLTAGE = L2L3LineVoltage()
738
+ L3_L1_LINE_VOLTAGE = L3L1LineVoltage()
739
+ ELECTRICITY_MANUFACTURER_SPECIFIC = ElectricityManufacturerSpecific()
740
+ ELECTRICITY_METERING_POINT_ID_OBJECTS = ElectricityMeteringPointIdObjects()
741
+
742
+ # hca
743
+
744
+
745
+ class IdNumbersHca(Hca):
746
+ """6_4_2"""
747
+
748
+
749
+ class BillingPeriodValuesResetCounterEntriesHca(Hca):
750
+ """6_4_3"""
751
+
752
+
753
+ class GeneralPurposeObjectsHca(Hca):
754
+ """6_4_4"""
755
+
756
+
757
+ class MeasuredValuesHcaConsumption(Hca):
758
+ """6_4_5_1"""
759
+
760
+
761
+ class MeasuredValuesHcaTemperature(Hca):
762
+ """6_4_5_2"""
763
+
764
+
765
+ class ErrorRegisterObjectsHca(Hca):
766
+ """6_4_6"""
767
+
768
+
769
+ class ListObjectsHca(Hca):
770
+ """6_4_7"""
771
+
772
+
773
+ class DataProfileObjectsHca(Hca):
774
+ """6_4_8"""
775
+
776
+
777
+ ID_NUMBERS_HCA = IdNumbersHca()
778
+ BILLING_PERIOD_VALUES_RESET_COUNTER_ENTRIES_HCA = BillingPeriodValuesResetCounterEntriesHca()
779
+ GENERAL_PURPOSE_OBJECTS_HCA = GeneralPurposeObjectsHca()
780
+ MEASURED_VALUES_HCA_CONSUMPTION = MeasuredValuesHcaConsumption()
781
+ MEASURED_VALUES_HCA_TEMPERATURE = MeasuredValuesHcaTemperature()
782
+ ERROR_REGISTER_OBJECTS_HCA = ErrorRegisterObjectsHca()
783
+ LIST_OBJECTS_HCA = ListObjectsHca()
784
+ DATA_PROFILE_OBJECTS_HCA = DataProfileObjectsHca()
785
+
786
+
787
+ # thermal
788
+
789
+
790
+ class IdNumbersThermal(Thermal):
791
+ """6_5_2"""
792
+
793
+
794
+ class BillingPeriodValuesResetCounterEntriesThermal(Thermal):
795
+ """6_5_3"""
796
+
797
+
798
+ class GeneralPurposeObjectsThermal(Thermal):
799
+ """6_5_4"""
800
+
801
+
802
+ class MeasuredValuesThermalConsumption(Thermal):
803
+ """6_5_5_1"""
804
+
805
+
806
+ class MeasuredValuesThermalEnergy(Thermal):
807
+ """6_5_5_2"""
808
+
809
+
810
+ class ErrorRegisterObjectsThermal(Thermal):
811
+ """6_5_6"""
812
+
813
+
814
+ class ListObjectsThermal(Thermal):
815
+ """6_5_7"""
816
+
817
+
818
+ class DataProfileObjectsThermal(Thermal):
819
+ """6_5_8"""
820
+
821
+
822
+ ID_NUMBERS_THERMAL = IdNumbersThermal()
823
+ BILLING_PERIOD_VALUES_RESET_COUNTER_ENTRIES_THERMAL = BillingPeriodValuesResetCounterEntriesThermal()
824
+ GENERAL_PURPOSE_OBJECTS_THERMAL = GeneralPurposeObjectsThermal()
825
+ MEASURED_VALUES_THERMAL_CONSUMPTION = MeasuredValuesThermalConsumption()
826
+ MEASURED_VALUES_THERMAL_ENERGY = MeasuredValuesThermalEnergy()
827
+ ERROR_REGISTER_OBJECTS_THERMAL = ErrorRegisterObjectsThermal()
828
+ LIST_OBJECTS_THERMAL = ListObjectsThermal()
829
+ DATA_PROFILE_OBJECTS_THERMAL = DataProfileObjectsThermal()
830
+
831
+
832
+ # gas
833
+ class IdNumbersGas(Gas):
834
+ """6_6_2"""
835
+
836
+
837
+ class BillingPeriodValuesResetCounterEntriesGas(Gas):
838
+ """6_6_3"""
839
+
840
+
841
+ class GeneralPurposeObjectsGas(Gas):
842
+ """6_6_4"""
843
+
844
+
845
+ class InternalOperatingStatusObjectsGas(Gas):
846
+ """6_6_5"""
847
+
848
+
849
+ class MeasuredValuesGasIndexesAndIndexDifferences(Gas):
850
+ """6_6_6_1"""
851
+
852
+
853
+ class MeasuredValuesGasFlowRate(Gas):
854
+ """6_6_6_2"""
855
+
856
+
857
+ class MeasuredValuesGasProcessValues(Gas):
858
+ """6_6_6_3"""
859
+
860
+
861
+ class ConversionRelatedFactorsAndCoefficientsGas(Gas):
862
+ """6_6_7"""
863
+
864
+
865
+ class CalculationMethodsGas(Gas):
866
+ """6_6_8"""
867
+
868
+
869
+ class NaturalGasAnalysis(Gas):
870
+ """6_6_9"""
871
+
872
+
873
+ class ListObjectsGas(Gas):
874
+ """6_6_10"""
875
+
876
+
877
+ ID_NUMBERS_GAS = IdNumbersGas()
878
+ BILLING_PERIOD_VALUES_RESET_COUNTER_ENTRIES_GAS = BillingPeriodValuesResetCounterEntriesGas()
879
+ GENERAL_PURPOSE_OBJECTS_GAS = GeneralPurposeObjectsGas()
880
+ INTERNAL_OPERATING_STATUS_OBJECTS_GAS = InternalOperatingStatusObjectsGas()
881
+ MEASURED_VALUES_GAS_INDEXES_AND_INDEX_DIFFERENCES = MeasuredValuesGasIndexesAndIndexDifferences()
882
+ MEASURED_VALUES_GAS_FLOW_RATE = MeasuredValuesGasFlowRate()
883
+ MEASURED_VALUES_GAS_PROCESS_VALUES = MeasuredValuesGasProcessValues()
884
+ CONVERSION_RELATED_FACTORS_AND_COEFFICIENTS_GAS = ConversionRelatedFactorsAndCoefficientsGas()
885
+ CALCULATION_METHODS_GAS = CalculationMethodsGas()
886
+ NATURAL_GAS_ANALYSIS = NaturalGasAnalysis()
887
+ LIST_OBJECTS_GAS = ListObjectsGas()
888
+
889
+ # water
890
+
891
+
892
+ class IdNumbersWater(Water):
893
+ """6_7_2"""
894
+
895
+
896
+ class BillingPeriodValuesResetCounterEntriesWater(Water):
897
+ """6_7_3"""
898
+
899
+
900
+ class GeneralPurposeObjectsWater(Water):
901
+ """6_7_4"""
902
+
903
+
904
+ class MeasuredValuesWaterConsumption(Water):
905
+ """6_7_5_1"""
906
+
907
+
908
+ class MeasuredValuesWaterMonitoringValues(Water):
909
+ """6_7_5_2"""
910
+
911
+
912
+ class ErrorRegisterObjectsWater(Water):
913
+ """6_7_6"""
914
+
915
+
916
+ class ListObjectsWater(Water):
917
+ """6_7_7"""
918
+
919
+
920
+ class DataProfileObjectsWater(Water):
921
+ """6_7_8"""
922
+
923
+
924
+ ID_NUMBERS_WATER = IdNumbersWater()
925
+ BILLING_PERIOD_VALUES_RESET_COUNTER_ENTRIES_WATER = BillingPeriodValuesResetCounterEntriesWater()
926
+ GENERAL_PURPOSE_OBJECTS_WATER = GeneralPurposeObjectsWater()
927
+ MEASURED_VALUES_WATER_CONSUMPTION = MeasuredValuesWaterConsumption()
928
+ MEASURED_VALUES_WATER_MONITORING_VALUES = MeasuredValuesWaterMonitoringValues()
929
+ ERROR_REGISTER_OBJECTS_WATER = ErrorRegisterObjectsWater()
930
+ LIST_OBJECTS_WATER = ListObjectsWater()
931
+ DATA_PROFILE_OBJECTS_WATER = DataProfileObjectsWater()