DLMS-SPODES-client 0.19.36__py3-none-any.whl → 0.19.37__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.
- DLMS_SPODES_client/FCS16.py +39 -39
- DLMS_SPODES_client/__init__.py +12 -12
- DLMS_SPODES_client/client.py +2093 -2093
- DLMS_SPODES_client/gurux_common/enums/TraceLevel.py +21 -21
- DLMS_SPODES_client/gurux_dlms/AesGcmParameter.py +37 -37
- DLMS_SPODES_client/gurux_dlms/CountType.py +16 -16
- DLMS_SPODES_client/gurux_dlms/GXByteBuffer.py +545 -545
- DLMS_SPODES_client/gurux_dlms/GXCiphering.py +196 -196
- DLMS_SPODES_client/gurux_dlms/GXDLMS.py +426 -426
- DLMS_SPODES_client/gurux_dlms/GXDLMSChippering.py +237 -237
- DLMS_SPODES_client/gurux_dlms/GXDLMSChipperingStream.py +977 -977
- DLMS_SPODES_client/gurux_dlms/GXDLMSConfirmedServiceError.py +90 -90
- DLMS_SPODES_client/gurux_dlms/GXDLMSException.py +139 -139
- DLMS_SPODES_client/gurux_dlms/GXDLMSLNParameters.py +33 -33
- DLMS_SPODES_client/gurux_dlms/GXDLMSSNParameters.py +21 -21
- DLMS_SPODES_client/gurux_dlms/GXDLMSSettings.py +254 -254
- DLMS_SPODES_client/gurux_dlms/GXReplyData.py +87 -87
- DLMS_SPODES_client/gurux_dlms/HdlcControlFrame.py +9 -9
- DLMS_SPODES_client/gurux_dlms/MBusCommand.py +8 -8
- DLMS_SPODES_client/gurux_dlms/MBusEncryptionMode.py +27 -27
- DLMS_SPODES_client/gurux_dlms/ResponseType.py +8 -8
- DLMS_SPODES_client/gurux_dlms/SetResponseType.py +29 -29
- DLMS_SPODES_client/gurux_dlms/_HDLCInfo.py +9 -9
- DLMS_SPODES_client/gurux_dlms/__init__.py +75 -75
- DLMS_SPODES_client/gurux_dlms/enums/Access.py +12 -12
- DLMS_SPODES_client/gurux_dlms/enums/ApplicationReference.py +14 -14
- DLMS_SPODES_client/gurux_dlms/enums/Authentication.py +41 -41
- DLMS_SPODES_client/gurux_dlms/enums/BerType.py +35 -35
- DLMS_SPODES_client/gurux_dlms/enums/Command.py +285 -285
- DLMS_SPODES_client/gurux_dlms/enums/Definition.py +9 -9
- DLMS_SPODES_client/gurux_dlms/enums/ErrorCode.py +46 -46
- DLMS_SPODES_client/gurux_dlms/enums/ExceptionServiceError.py +12 -12
- DLMS_SPODES_client/gurux_dlms/enums/HardwareResource.py +10 -10
- DLMS_SPODES_client/gurux_dlms/enums/HdlcFrameType.py +9 -9
- DLMS_SPODES_client/gurux_dlms/enums/Initiate.py +10 -10
- DLMS_SPODES_client/gurux_dlms/enums/LoadDataSet.py +13 -13
- DLMS_SPODES_client/gurux_dlms/enums/ObjectType.py +306 -306
- DLMS_SPODES_client/gurux_dlms/enums/Priority.py +7 -7
- DLMS_SPODES_client/gurux_dlms/enums/RequestTypes.py +9 -9
- DLMS_SPODES_client/gurux_dlms/enums/Security.py +14 -14
- DLMS_SPODES_client/gurux_dlms/enums/Service.py +16 -16
- DLMS_SPODES_client/gurux_dlms/enums/ServiceClass.py +9 -9
- DLMS_SPODES_client/gurux_dlms/enums/ServiceError.py +8 -8
- DLMS_SPODES_client/gurux_dlms/enums/Standard.py +18 -18
- DLMS_SPODES_client/gurux_dlms/enums/StateError.py +7 -7
- DLMS_SPODES_client/gurux_dlms/enums/Task.py +10 -10
- DLMS_SPODES_client/gurux_dlms/enums/VdeStateError.py +10 -10
- DLMS_SPODES_client/gurux_dlms/enums/__init__.py +33 -33
- DLMS_SPODES_client/gurux_dlms/internal/_GXCommon.py +1673 -1673
- DLMS_SPODES_client/logger.py +56 -56
- DLMS_SPODES_client/services.py +90 -90
- DLMS_SPODES_client/session.py +363 -363
- DLMS_SPODES_client/settings.py +48 -48
- DLMS_SPODES_client/task.py +1884 -1884
- {dlms_spodes_client-0.19.36.dist-info → dlms_spodes_client-0.19.37.dist-info}/METADATA +29 -29
- dlms_spodes_client-0.19.37.dist-info/RECORD +61 -0
- {dlms_spodes_client-0.19.36.dist-info → dlms_spodes_client-0.19.37.dist-info}/WHEEL +1 -1
- dlms_spodes_client-0.19.36.dist-info/RECORD +0 -61
- {dlms_spodes_client-0.19.36.dist-info → dlms_spodes_client-0.19.37.dist-info}/entry_points.txt +0 -0
- {dlms_spodes_client-0.19.36.dist-info → dlms_spodes_client-0.19.37.dist-info}/top_level.txt +0 -0
|
@@ -1,306 +1,306 @@
|
|
|
1
|
-
from enum import IntEnum
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class ObjectType(IntEnum):
|
|
5
|
-
"""ObjectType enumerates the usable types of DLMS objects in GuruxDLMS."""
|
|
6
|
-
#pylint: disable=too-few-public-methods
|
|
7
|
-
|
|
8
|
-
# When communicating with a meter, the application may demand periodical
|
|
9
|
-
# actions. If these actions are not linked to tariffication =
|
|
10
|
-
# ActivityCalendar or Schedule, use an object of type ActionSchedule =
|
|
11
|
-
# 0x16.
|
|
12
|
-
ACTION_SCHEDULE = 22
|
|
13
|
-
|
|
14
|
-
# When handling tariffication structures, you can use an object of type
|
|
15
|
-
# ActivityCalendar. It determines, when to activate specified scripts to
|
|
16
|
-
# perform certain activities in the meter. The activities, simply said,
|
|
17
|
-
# scheduled actions, are operations that are carried out on a specified
|
|
18
|
-
# day, at a specified time. ActivityCalendar can be used together with a
|
|
19
|
-
# more general object type, Schedule, and they can even overlap. If
|
|
20
|
-
# multiple actions are timed to the same moment, the actions determined in
|
|
21
|
-
# the Schedule are executed first, and then the ones determined in the
|
|
22
|
-
# ActivityCalendar. If using object type SpecialDaysTable, with
|
|
23
|
-
# ActivityCalendar, simultaneous actions determined in SpecialDaysTable are
|
|
24
|
-
# executed over the ones determined in ActivityCalendar. <p /> <b>Note:
|
|
25
|
-
# </b>To make sure that tariffication is correct after a power failure,
|
|
26
|
-
# only the latest missed action from ActivityCalendar is executed, with a
|
|
27
|
-
# delay. In a case of power failure, if a Schedule object coexists, the
|
|
28
|
-
# latest missed action from ActivityCalendar has to be executed at the
|
|
29
|
-
# correct time, sequentially with actions determined in the Schedule.
|
|
30
|
-
ACTIVITY_CALENDAR = 20
|
|
31
|
-
|
|
32
|
-
# All object types are used.
|
|
33
|
-
NONE = 0
|
|
34
|
-
|
|
35
|
-
# AssociationLogicalName object type is used with meters that utilize
|
|
36
|
-
# Logical Name associations within a COSEM.
|
|
37
|
-
ASSOCIATION_LOGICAL_NAME = 15
|
|
38
|
-
|
|
39
|
-
# AssociationShortName object type is used with meters that utilize Short
|
|
40
|
-
# Name associations within a COSEM.
|
|
41
|
-
ASSOCIATION_SHORT_NAME = 12
|
|
42
|
-
|
|
43
|
-
# To determine auto answering settings = for data transfer between device
|
|
44
|
-
# and modem = s to answer incoming calls, use AutoAnswer object.
|
|
45
|
-
AUTO_ANSWER = 28
|
|
46
|
-
|
|
47
|
-
# To determine auto connecting settings = for data transfer from the meter
|
|
48
|
-
# to defined destinations, use AutoConnect = previously known as AutoDial
|
|
49
|
-
# object.
|
|
50
|
-
AUTO_CONNECT = 29
|
|
51
|
-
|
|
52
|
-
# An object of type Clock is used to handle the information of a date =
|
|
53
|
-
# day, month and year and/or a time = hundredths of a second, seconds,
|
|
54
|
-
# minutes and hours.
|
|
55
|
-
CLOCK = 8
|
|
56
|
-
|
|
57
|
-
# An object of type Data typically stores manufacturer specific information
|
|
58
|
-
# of the meter, for example configuration data and logical name.
|
|
59
|
-
DATA = 1
|
|
60
|
-
|
|
61
|
-
# An object of type DemandRegister stores a value, information of the item,
|
|
62
|
-
# which the value belongs to, the status of the item, and the time of the
|
|
63
|
-
# value. DemandRegister object type enables both current, and last
|
|
64
|
-
# average,
|
|
65
|
-
# it supports both block, and sliding demand calculation, and it also
|
|
66
|
-
# provides resetting the value average, and periodic averages.
|
|
67
|
-
DEMAND_REGISTER = 5
|
|
68
|
-
|
|
69
|
-
# MAC address of the physical device. The name and the use of this
|
|
70
|
-
# interface class has been changed from Ethernet setup to MAC address setup
|
|
71
|
-
# to allow a more general use.
|
|
72
|
-
MAC_ADDRESS_SETUP = 43
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
# ExtendedRegister stores a value, and understands the type of the value.
|
|
76
|
-
# Refer to an object of this type by its logical name, using the OBIS
|
|
77
|
-
# identification code.
|
|
78
|
-
EXTENDED_REGISTER = 4
|
|
79
|
-
|
|
80
|
-
# To determine the GPRS settings, use GprsSetup object.
|
|
81
|
-
GPRS_SETUP = 45
|
|
82
|
-
|
|
83
|
-
# To determine the HDLC = High-level Data Link Control settings, use the
|
|
84
|
-
# IecHdlcSetup object.
|
|
85
|
-
IEC_HDLC_SETUP = 23
|
|
86
|
-
|
|
87
|
-
# To determine the Local Port settings, use the IecLocalPortSetup object.
|
|
88
|
-
IEC_LOCAL_PORT_SETUP = 19
|
|
89
|
-
|
|
90
|
-
# To determine the Twisted Pair settings, use the IecTwistedPairSetup
|
|
91
|
-
# object.
|
|
92
|
-
IEC_TWISTED_PAIR_SETUP = 24
|
|
93
|
-
|
|
94
|
-
# To determine the IP 4 settings, use the Ip4Setup object.
|
|
95
|
-
IP4_SETUP = 42
|
|
96
|
-
|
|
97
|
-
GSM_DIAGNOSTIC = 47
|
|
98
|
-
|
|
99
|
-
# To determine the IP 6 settings, use the Ip6Setup object.
|
|
100
|
-
IP6_SETUP = 48
|
|
101
|
-
|
|
102
|
-
# To determine the M-BUS settings, use the MbusSetup object.
|
|
103
|
-
MBUS_SLAVE_PORT_SETUP = 25
|
|
104
|
-
|
|
105
|
-
# To determine modem settings, use ModemConfiguration object.
|
|
106
|
-
MODEM_CONFIGURATION = 27
|
|
107
|
-
|
|
108
|
-
# To determine PPP = Point-to-Point Protocol settings, use the PppSetup
|
|
109
|
-
# object.
|
|
110
|
-
PPP_SETUP = 44
|
|
111
|
-
|
|
112
|
-
# ProfileGeneric determines a general way of gathering values from a
|
|
113
|
-
# profile. The data is retrieved either by a period of time, or by an
|
|
114
|
-
# occuring event. When gathering values from a profile, you need to
|
|
115
|
-
# understand the concept of the profile buffer, in which the profile data
|
|
116
|
-
# is stored. The buffer may be sorted by a register, or by a clock, within
|
|
117
|
-
# the profile, or the data can be just piled in it, in order: last in,
|
|
118
|
-
# first out. You can retrieve a part of the buffer, within a certain range
|
|
119
|
-
# of values, or by a range of entry numbers. You can also determine
|
|
120
|
-
# objects, whose values are to be retained. To determine, what to
|
|
121
|
-
# retrieve,
|
|
122
|
-
# and what to retain, you need to assign the objects to the profile. You
|
|
123
|
-
# can use static assignments, as all entries in a buffer are alike = same
|
|
124
|
-
# size, same structure. <p /> <b>Note: </b>When you modify any assignment,
|
|
125
|
-
# the buffer of the corresponding profile is cleared, and all other
|
|
126
|
-
# profiles, using the modified one, will be cleared too. This is to make
|
|
127
|
-
# sure that their entries stay alike by size and structure.
|
|
128
|
-
PROFILE_GENERIC = 7
|
|
129
|
-
|
|
130
|
-
# Register stores a value, and understands the type of the value. Refer to
|
|
131
|
-
# an object of this type by its logical name, using the OBIS identification
|
|
132
|
-
# code.
|
|
133
|
-
REGISTER = 3
|
|
134
|
-
|
|
135
|
-
# When handling tariffication structures, you can use RegisterActivation to
|
|
136
|
-
# determine, what objects to enable, when activating a certain activation
|
|
137
|
-
# mask. The objects, assigned to the register, but not determined in the
|
|
138
|
-
# mask, are disabled. <p /> <b>Note: </b>If an object is not assigned to
|
|
139
|
-
# any register, it is, by default, enabled.
|
|
140
|
-
REGISTER_ACTIVATION = 6
|
|
141
|
-
|
|
142
|
-
# RegisterMonitor allows you to determine scripts to execute, when a
|
|
143
|
-
# register value crosses a specified threshold. To use RegisterMonitor,
|
|
144
|
-
# also ScriptTable needs to be instantiated in the same logical device.
|
|
145
|
-
REGISTER_MONITOR = 21
|
|
146
|
-
|
|
147
|
-
# Instances of the Disconnect control IC manage an internal or external
|
|
148
|
-
# disconnect unit of the meter.
|
|
149
|
-
DISCONNECT_CONTROL = 70
|
|
150
|
-
|
|
151
|
-
LIMITER = 71
|
|
152
|
-
|
|
153
|
-
MBUS_CLIENT = 72
|
|
154
|
-
|
|
155
|
-
PUSH_SETUP = 40
|
|
156
|
-
|
|
157
|
-
COMPACT_DATA = 62
|
|
158
|
-
|
|
159
|
-
PARAMETER_MONITOR = 65
|
|
160
|
-
WIRELESS_MODE_Q_CHANNEL = 73
|
|
161
|
-
MBUS_MASTER_PORT_SETUP = 74
|
|
162
|
-
|
|
163
|
-
#
|
|
164
|
-
# Addresses that are provided by the base node during the opening of the
|
|
165
|
-
# convergence layer.
|
|
166
|
-
#
|
|
167
|
-
LLC_SSCS_SETUP = 80
|
|
168
|
-
|
|
169
|
-
#
|
|
170
|
-
# Counters related to the physical layers exchanges.
|
|
171
|
-
#
|
|
172
|
-
PRIME_NB_OFDM_PLC_PHYSICAL_LAYER_COUNTERS = 81
|
|
173
|
-
|
|
174
|
-
#
|
|
175
|
-
# A necessary parameters to set up and manage the PRIME NB OFDM PLC MAC
|
|
176
|
-
# layer.
|
|
177
|
-
#
|
|
178
|
-
PRIME_NB_OFDM_PLC_MAC_SETUP = 82
|
|
179
|
-
|
|
180
|
-
#
|
|
181
|
-
# Functional behaviour of MAC.
|
|
182
|
-
#
|
|
183
|
-
PRIME_NB_OFDM_PLC_MAC_FUNCTIONAL_PARAMETERS = 83
|
|
184
|
-
|
|
185
|
-
#
|
|
186
|
-
# Statistical information on the operation of the MAC layer for management
|
|
187
|
-
# purposes.
|
|
188
|
-
#
|
|
189
|
-
PRIME_NB_OFDM_PLC_MAC_COUNTERS = 84
|
|
190
|
-
|
|
191
|
-
#
|
|
192
|
-
# Parameters related to the management of the devices connected to the
|
|
193
|
-
# network.
|
|
194
|
-
#
|
|
195
|
-
PRIME_NB_OFDM_PLC_MAC_NETWORK_ADMINISTRATION_DATA = 85
|
|
196
|
-
|
|
197
|
-
#
|
|
198
|
-
# Identification information related to administration and maintenance of
|
|
199
|
-
# PRIME NB OFDM PLC devices.
|
|
200
|
-
#
|
|
201
|
-
PRIME_NB_OFDM_PLC_APPLICATIONS_IDENTIFICATION = 86
|
|
202
|
-
|
|
203
|
-
# RegisterTable stores identical attributes of objects, in a selected
|
|
204
|
-
# collection of objects. All the objects in the collection need to be of
|
|
205
|
-
# the same type. Also, the value in value groups A to D and F in their
|
|
206
|
-
# logical name = OBIS identification code needs to be identical. <p />
|
|
207
|
-
# Clause 5 determines the possible values in value group E, as a table,
|
|
208
|
-
# where header = the common part, and each cell = a possible E value, of
|
|
209
|
-
# the OBIS code.
|
|
210
|
-
REGISTER_TABLE = 61
|
|
211
|
-
|
|
212
|
-
#
|
|
213
|
-
# Configure a ZigBee PRO device with information necessary to create or
|
|
214
|
-
# join the network.
|
|
215
|
-
ZIG_BEE_SAS_STARTUP = 101
|
|
216
|
-
|
|
217
|
-
#
|
|
218
|
-
# Configure the behavior of a ZigBee PRO device on joining or loss of
|
|
219
|
-
# connection to the network.
|
|
220
|
-
ZIG_BEE_SAS_JOIN = 102
|
|
221
|
-
|
|
222
|
-
#
|
|
223
|
-
# Configure the fragmentation feature of ZigBee PRO transport layer.
|
|
224
|
-
ZIG_BEE_SAS_APS_FRAGMENTATION = 103
|
|
225
|
-
ZIG_BEE_NETWORK_CONTROL = 104
|
|
226
|
-
|
|
227
|
-
DATA_PROTECTION = 30
|
|
228
|
-
|
|
229
|
-
ACCOUNT = 111
|
|
230
|
-
|
|
231
|
-
CREDIT = 112
|
|
232
|
-
|
|
233
|
-
CHARGE = 113
|
|
234
|
-
|
|
235
|
-
TOKEN_GATEWAY = 115
|
|
236
|
-
|
|
237
|
-
# SapAssigment stores information of assignment of the logical devices to
|
|
238
|
-
# their SAP = Service Access Points.
|
|
239
|
-
SAP_ASSIGNMENT = 17
|
|
240
|
-
|
|
241
|
-
# Instances of the Image transfer IC model the mechanism of transferring
|
|
242
|
-
# binary files, called firmware Images to COSEM servers.
|
|
243
|
-
IMAGE_TRANSFER = 18
|
|
244
|
-
|
|
245
|
-
# To handle time and date driven actions, use Schedule, with an object of
|
|
246
|
-
# type SpecialDaysTable.
|
|
247
|
-
SCHEDULE = 10
|
|
248
|
-
|
|
249
|
-
# To trigger a set of actions with an execute method, use object type
|
|
250
|
-
# ScriptTable. Each table entry = script includes a unique identifier, and
|
|
251
|
-
# a set of action specifications, which either execute a method, or modify
|
|
252
|
-
# the object attributes, within the logical device. The script can be
|
|
253
|
-
# triggered by other objects = within the same logical device, or from the
|
|
254
|
-
# outside.
|
|
255
|
-
SCRIPT_TABLE = 9
|
|
256
|
-
|
|
257
|
-
# To determine the SMTP protocol settings, use the SmtpSetup object.
|
|
258
|
-
SMTP_SETUP = 2
|
|
259
|
-
|
|
260
|
-
# With SpecialDaysTable you can determine dates to override a preset
|
|
261
|
-
# behaviour, for specific days = data item day_id. SpecialDaysTable works
|
|
262
|
-
# together with objects of Schedule, or Activity Calendar.
|
|
263
|
-
SPECIAL_DAYS_TABLE = 11
|
|
264
|
-
|
|
265
|
-
# StatusMapping object stores status words with mapping. Each bit in the
|
|
266
|
-
# status word is mapped to position = s in referencing status table.
|
|
267
|
-
STATUS_MAPPING = 63
|
|
268
|
-
|
|
269
|
-
SECURITY_SETUP = 64
|
|
270
|
-
|
|
271
|
-
# To determine Internet TCP/UDP protocol settings, use the TcpUdpSetup
|
|
272
|
-
# object.
|
|
273
|
-
TCP_UDP_SETUP = 41
|
|
274
|
-
|
|
275
|
-
# In an object of type UtilityTables each "Table" = ANSI C12.19:1997 table
|
|
276
|
-
# data is represented as an instance, and identified by its logical name.
|
|
277
|
-
UTILITY_TABLES = 26
|
|
278
|
-
|
|
279
|
-
#
|
|
280
|
-
# S-FSK Phy MAC Setup
|
|
281
|
-
SFSK_PHY_MAC_SETUP = 50
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
# S-FSK Active initiator.
|
|
285
|
-
SFSK_ACTIVE_INITIATOR = 51
|
|
286
|
-
|
|
287
|
-
# S-FSK MAC synchronization timeouts
|
|
288
|
-
SFSK_MAC_SYNCHRONIZATION_TIMEOUTS = 52
|
|
289
|
-
|
|
290
|
-
# S-FSK MAC Counters.
|
|
291
|
-
SFSK_MAC_COUNTERS = 53
|
|
292
|
-
|
|
293
|
-
# G3-PLC MAC layer counters
|
|
294
|
-
G3_PLC_MAC_LAYER_COUNTERS = 90
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
# G3-PLC MAC setup.
|
|
298
|
-
G3_PLC_MAC_SETUP = 91
|
|
299
|
-
|
|
300
|
-
# G3-PLC 6LoWPAN.
|
|
301
|
-
G3_PLC6_LO_WPAN = 92
|
|
302
|
-
|
|
303
|
-
#
|
|
304
|
-
# Tariff Plan =Piano Tariffario) is used in Italian standard UNI/TS
|
|
305
|
-
# 11291-11.
|
|
306
|
-
TARIFF_PLAN = 8192
|
|
1
|
+
from enum import IntEnum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class ObjectType(IntEnum):
|
|
5
|
+
"""ObjectType enumerates the usable types of DLMS objects in GuruxDLMS."""
|
|
6
|
+
#pylint: disable=too-few-public-methods
|
|
7
|
+
|
|
8
|
+
# When communicating with a meter, the application may demand periodical
|
|
9
|
+
# actions. If these actions are not linked to tariffication =
|
|
10
|
+
# ActivityCalendar or Schedule, use an object of type ActionSchedule =
|
|
11
|
+
# 0x16.
|
|
12
|
+
ACTION_SCHEDULE = 22
|
|
13
|
+
|
|
14
|
+
# When handling tariffication structures, you can use an object of type
|
|
15
|
+
# ActivityCalendar. It determines, when to activate specified scripts to
|
|
16
|
+
# perform certain activities in the meter. The activities, simply said,
|
|
17
|
+
# scheduled actions, are operations that are carried out on a specified
|
|
18
|
+
# day, at a specified time. ActivityCalendar can be used together with a
|
|
19
|
+
# more general object type, Schedule, and they can even overlap. If
|
|
20
|
+
# multiple actions are timed to the same moment, the actions determined in
|
|
21
|
+
# the Schedule are executed first, and then the ones determined in the
|
|
22
|
+
# ActivityCalendar. If using object type SpecialDaysTable, with
|
|
23
|
+
# ActivityCalendar, simultaneous actions determined in SpecialDaysTable are
|
|
24
|
+
# executed over the ones determined in ActivityCalendar. <p /> <b>Note:
|
|
25
|
+
# </b>To make sure that tariffication is correct after a power failure,
|
|
26
|
+
# only the latest missed action from ActivityCalendar is executed, with a
|
|
27
|
+
# delay. In a case of power failure, if a Schedule object coexists, the
|
|
28
|
+
# latest missed action from ActivityCalendar has to be executed at the
|
|
29
|
+
# correct time, sequentially with actions determined in the Schedule.
|
|
30
|
+
ACTIVITY_CALENDAR = 20
|
|
31
|
+
|
|
32
|
+
# All object types are used.
|
|
33
|
+
NONE = 0
|
|
34
|
+
|
|
35
|
+
# AssociationLogicalName object type is used with meters that utilize
|
|
36
|
+
# Logical Name associations within a COSEM.
|
|
37
|
+
ASSOCIATION_LOGICAL_NAME = 15
|
|
38
|
+
|
|
39
|
+
# AssociationShortName object type is used with meters that utilize Short
|
|
40
|
+
# Name associations within a COSEM.
|
|
41
|
+
ASSOCIATION_SHORT_NAME = 12
|
|
42
|
+
|
|
43
|
+
# To determine auto answering settings = for data transfer between device
|
|
44
|
+
# and modem = s to answer incoming calls, use AutoAnswer object.
|
|
45
|
+
AUTO_ANSWER = 28
|
|
46
|
+
|
|
47
|
+
# To determine auto connecting settings = for data transfer from the meter
|
|
48
|
+
# to defined destinations, use AutoConnect = previously known as AutoDial
|
|
49
|
+
# object.
|
|
50
|
+
AUTO_CONNECT = 29
|
|
51
|
+
|
|
52
|
+
# An object of type Clock is used to handle the information of a date =
|
|
53
|
+
# day, month and year and/or a time = hundredths of a second, seconds,
|
|
54
|
+
# minutes and hours.
|
|
55
|
+
CLOCK = 8
|
|
56
|
+
|
|
57
|
+
# An object of type Data typically stores manufacturer specific information
|
|
58
|
+
# of the meter, for example configuration data and logical name.
|
|
59
|
+
DATA = 1
|
|
60
|
+
|
|
61
|
+
# An object of type DemandRegister stores a value, information of the item,
|
|
62
|
+
# which the value belongs to, the status of the item, and the time of the
|
|
63
|
+
# value. DemandRegister object type enables both current, and last
|
|
64
|
+
# average,
|
|
65
|
+
# it supports both block, and sliding demand calculation, and it also
|
|
66
|
+
# provides resetting the value average, and periodic averages.
|
|
67
|
+
DEMAND_REGISTER = 5
|
|
68
|
+
|
|
69
|
+
# MAC address of the physical device. The name and the use of this
|
|
70
|
+
# interface class has been changed from Ethernet setup to MAC address setup
|
|
71
|
+
# to allow a more general use.
|
|
72
|
+
MAC_ADDRESS_SETUP = 43
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
# ExtendedRegister stores a value, and understands the type of the value.
|
|
76
|
+
# Refer to an object of this type by its logical name, using the OBIS
|
|
77
|
+
# identification code.
|
|
78
|
+
EXTENDED_REGISTER = 4
|
|
79
|
+
|
|
80
|
+
# To determine the GPRS settings, use GprsSetup object.
|
|
81
|
+
GPRS_SETUP = 45
|
|
82
|
+
|
|
83
|
+
# To determine the HDLC = High-level Data Link Control settings, use the
|
|
84
|
+
# IecHdlcSetup object.
|
|
85
|
+
IEC_HDLC_SETUP = 23
|
|
86
|
+
|
|
87
|
+
# To determine the Local Port settings, use the IecLocalPortSetup object.
|
|
88
|
+
IEC_LOCAL_PORT_SETUP = 19
|
|
89
|
+
|
|
90
|
+
# To determine the Twisted Pair settings, use the IecTwistedPairSetup
|
|
91
|
+
# object.
|
|
92
|
+
IEC_TWISTED_PAIR_SETUP = 24
|
|
93
|
+
|
|
94
|
+
# To determine the IP 4 settings, use the Ip4Setup object.
|
|
95
|
+
IP4_SETUP = 42
|
|
96
|
+
|
|
97
|
+
GSM_DIAGNOSTIC = 47
|
|
98
|
+
|
|
99
|
+
# To determine the IP 6 settings, use the Ip6Setup object.
|
|
100
|
+
IP6_SETUP = 48
|
|
101
|
+
|
|
102
|
+
# To determine the M-BUS settings, use the MbusSetup object.
|
|
103
|
+
MBUS_SLAVE_PORT_SETUP = 25
|
|
104
|
+
|
|
105
|
+
# To determine modem settings, use ModemConfiguration object.
|
|
106
|
+
MODEM_CONFIGURATION = 27
|
|
107
|
+
|
|
108
|
+
# To determine PPP = Point-to-Point Protocol settings, use the PppSetup
|
|
109
|
+
# object.
|
|
110
|
+
PPP_SETUP = 44
|
|
111
|
+
|
|
112
|
+
# ProfileGeneric determines a general way of gathering values from a
|
|
113
|
+
# profile. The data is retrieved either by a period of time, or by an
|
|
114
|
+
# occuring event. When gathering values from a profile, you need to
|
|
115
|
+
# understand the concept of the profile buffer, in which the profile data
|
|
116
|
+
# is stored. The buffer may be sorted by a register, or by a clock, within
|
|
117
|
+
# the profile, or the data can be just piled in it, in order: last in,
|
|
118
|
+
# first out. You can retrieve a part of the buffer, within a certain range
|
|
119
|
+
# of values, or by a range of entry numbers. You can also determine
|
|
120
|
+
# objects, whose values are to be retained. To determine, what to
|
|
121
|
+
# retrieve,
|
|
122
|
+
# and what to retain, you need to assign the objects to the profile. You
|
|
123
|
+
# can use static assignments, as all entries in a buffer are alike = same
|
|
124
|
+
# size, same structure. <p /> <b>Note: </b>When you modify any assignment,
|
|
125
|
+
# the buffer of the corresponding profile is cleared, and all other
|
|
126
|
+
# profiles, using the modified one, will be cleared too. This is to make
|
|
127
|
+
# sure that their entries stay alike by size and structure.
|
|
128
|
+
PROFILE_GENERIC = 7
|
|
129
|
+
|
|
130
|
+
# Register stores a value, and understands the type of the value. Refer to
|
|
131
|
+
# an object of this type by its logical name, using the OBIS identification
|
|
132
|
+
# code.
|
|
133
|
+
REGISTER = 3
|
|
134
|
+
|
|
135
|
+
# When handling tariffication structures, you can use RegisterActivation to
|
|
136
|
+
# determine, what objects to enable, when activating a certain activation
|
|
137
|
+
# mask. The objects, assigned to the register, but not determined in the
|
|
138
|
+
# mask, are disabled. <p /> <b>Note: </b>If an object is not assigned to
|
|
139
|
+
# any register, it is, by default, enabled.
|
|
140
|
+
REGISTER_ACTIVATION = 6
|
|
141
|
+
|
|
142
|
+
# RegisterMonitor allows you to determine scripts to execute, when a
|
|
143
|
+
# register value crosses a specified threshold. To use RegisterMonitor,
|
|
144
|
+
# also ScriptTable needs to be instantiated in the same logical device.
|
|
145
|
+
REGISTER_MONITOR = 21
|
|
146
|
+
|
|
147
|
+
# Instances of the Disconnect control IC manage an internal or external
|
|
148
|
+
# disconnect unit of the meter.
|
|
149
|
+
DISCONNECT_CONTROL = 70
|
|
150
|
+
|
|
151
|
+
LIMITER = 71
|
|
152
|
+
|
|
153
|
+
MBUS_CLIENT = 72
|
|
154
|
+
|
|
155
|
+
PUSH_SETUP = 40
|
|
156
|
+
|
|
157
|
+
COMPACT_DATA = 62
|
|
158
|
+
|
|
159
|
+
PARAMETER_MONITOR = 65
|
|
160
|
+
WIRELESS_MODE_Q_CHANNEL = 73
|
|
161
|
+
MBUS_MASTER_PORT_SETUP = 74
|
|
162
|
+
|
|
163
|
+
#
|
|
164
|
+
# Addresses that are provided by the base node during the opening of the
|
|
165
|
+
# convergence layer.
|
|
166
|
+
#
|
|
167
|
+
LLC_SSCS_SETUP = 80
|
|
168
|
+
|
|
169
|
+
#
|
|
170
|
+
# Counters related to the physical layers exchanges.
|
|
171
|
+
#
|
|
172
|
+
PRIME_NB_OFDM_PLC_PHYSICAL_LAYER_COUNTERS = 81
|
|
173
|
+
|
|
174
|
+
#
|
|
175
|
+
# A necessary parameters to set up and manage the PRIME NB OFDM PLC MAC
|
|
176
|
+
# layer.
|
|
177
|
+
#
|
|
178
|
+
PRIME_NB_OFDM_PLC_MAC_SETUP = 82
|
|
179
|
+
|
|
180
|
+
#
|
|
181
|
+
# Functional behaviour of MAC.
|
|
182
|
+
#
|
|
183
|
+
PRIME_NB_OFDM_PLC_MAC_FUNCTIONAL_PARAMETERS = 83
|
|
184
|
+
|
|
185
|
+
#
|
|
186
|
+
# Statistical information on the operation of the MAC layer for management
|
|
187
|
+
# purposes.
|
|
188
|
+
#
|
|
189
|
+
PRIME_NB_OFDM_PLC_MAC_COUNTERS = 84
|
|
190
|
+
|
|
191
|
+
#
|
|
192
|
+
# Parameters related to the management of the devices connected to the
|
|
193
|
+
# network.
|
|
194
|
+
#
|
|
195
|
+
PRIME_NB_OFDM_PLC_MAC_NETWORK_ADMINISTRATION_DATA = 85
|
|
196
|
+
|
|
197
|
+
#
|
|
198
|
+
# Identification information related to administration and maintenance of
|
|
199
|
+
# PRIME NB OFDM PLC devices.
|
|
200
|
+
#
|
|
201
|
+
PRIME_NB_OFDM_PLC_APPLICATIONS_IDENTIFICATION = 86
|
|
202
|
+
|
|
203
|
+
# RegisterTable stores identical attributes of objects, in a selected
|
|
204
|
+
# collection of objects. All the objects in the collection need to be of
|
|
205
|
+
# the same type. Also, the value in value groups A to D and F in their
|
|
206
|
+
# logical name = OBIS identification code needs to be identical. <p />
|
|
207
|
+
# Clause 5 determines the possible values in value group E, as a table,
|
|
208
|
+
# where header = the common part, and each cell = a possible E value, of
|
|
209
|
+
# the OBIS code.
|
|
210
|
+
REGISTER_TABLE = 61
|
|
211
|
+
|
|
212
|
+
#
|
|
213
|
+
# Configure a ZigBee PRO device with information necessary to create or
|
|
214
|
+
# join the network.
|
|
215
|
+
ZIG_BEE_SAS_STARTUP = 101
|
|
216
|
+
|
|
217
|
+
#
|
|
218
|
+
# Configure the behavior of a ZigBee PRO device on joining or loss of
|
|
219
|
+
# connection to the network.
|
|
220
|
+
ZIG_BEE_SAS_JOIN = 102
|
|
221
|
+
|
|
222
|
+
#
|
|
223
|
+
# Configure the fragmentation feature of ZigBee PRO transport layer.
|
|
224
|
+
ZIG_BEE_SAS_APS_FRAGMENTATION = 103
|
|
225
|
+
ZIG_BEE_NETWORK_CONTROL = 104
|
|
226
|
+
|
|
227
|
+
DATA_PROTECTION = 30
|
|
228
|
+
|
|
229
|
+
ACCOUNT = 111
|
|
230
|
+
|
|
231
|
+
CREDIT = 112
|
|
232
|
+
|
|
233
|
+
CHARGE = 113
|
|
234
|
+
|
|
235
|
+
TOKEN_GATEWAY = 115
|
|
236
|
+
|
|
237
|
+
# SapAssigment stores information of assignment of the logical devices to
|
|
238
|
+
# their SAP = Service Access Points.
|
|
239
|
+
SAP_ASSIGNMENT = 17
|
|
240
|
+
|
|
241
|
+
# Instances of the Image transfer IC model the mechanism of transferring
|
|
242
|
+
# binary files, called firmware Images to COSEM servers.
|
|
243
|
+
IMAGE_TRANSFER = 18
|
|
244
|
+
|
|
245
|
+
# To handle time and date driven actions, use Schedule, with an object of
|
|
246
|
+
# type SpecialDaysTable.
|
|
247
|
+
SCHEDULE = 10
|
|
248
|
+
|
|
249
|
+
# To trigger a set of actions with an execute method, use object type
|
|
250
|
+
# ScriptTable. Each table entry = script includes a unique identifier, and
|
|
251
|
+
# a set of action specifications, which either execute a method, or modify
|
|
252
|
+
# the object attributes, within the logical device. The script can be
|
|
253
|
+
# triggered by other objects = within the same logical device, or from the
|
|
254
|
+
# outside.
|
|
255
|
+
SCRIPT_TABLE = 9
|
|
256
|
+
|
|
257
|
+
# To determine the SMTP protocol settings, use the SmtpSetup object.
|
|
258
|
+
SMTP_SETUP = 2
|
|
259
|
+
|
|
260
|
+
# With SpecialDaysTable you can determine dates to override a preset
|
|
261
|
+
# behaviour, for specific days = data item day_id. SpecialDaysTable works
|
|
262
|
+
# together with objects of Schedule, or Activity Calendar.
|
|
263
|
+
SPECIAL_DAYS_TABLE = 11
|
|
264
|
+
|
|
265
|
+
# StatusMapping object stores status words with mapping. Each bit in the
|
|
266
|
+
# status word is mapped to position = s in referencing status table.
|
|
267
|
+
STATUS_MAPPING = 63
|
|
268
|
+
|
|
269
|
+
SECURITY_SETUP = 64
|
|
270
|
+
|
|
271
|
+
# To determine Internet TCP/UDP protocol settings, use the TcpUdpSetup
|
|
272
|
+
# object.
|
|
273
|
+
TCP_UDP_SETUP = 41
|
|
274
|
+
|
|
275
|
+
# In an object of type UtilityTables each "Table" = ANSI C12.19:1997 table
|
|
276
|
+
# data is represented as an instance, and identified by its logical name.
|
|
277
|
+
UTILITY_TABLES = 26
|
|
278
|
+
|
|
279
|
+
#
|
|
280
|
+
# S-FSK Phy MAC Setup
|
|
281
|
+
SFSK_PHY_MAC_SETUP = 50
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
# S-FSK Active initiator.
|
|
285
|
+
SFSK_ACTIVE_INITIATOR = 51
|
|
286
|
+
|
|
287
|
+
# S-FSK MAC synchronization timeouts
|
|
288
|
+
SFSK_MAC_SYNCHRONIZATION_TIMEOUTS = 52
|
|
289
|
+
|
|
290
|
+
# S-FSK MAC Counters.
|
|
291
|
+
SFSK_MAC_COUNTERS = 53
|
|
292
|
+
|
|
293
|
+
# G3-PLC MAC layer counters
|
|
294
|
+
G3_PLC_MAC_LAYER_COUNTERS = 90
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
# G3-PLC MAC setup.
|
|
298
|
+
G3_PLC_MAC_SETUP = 91
|
|
299
|
+
|
|
300
|
+
# G3-PLC 6LoWPAN.
|
|
301
|
+
G3_PLC6_LO_WPAN = 92
|
|
302
|
+
|
|
303
|
+
#
|
|
304
|
+
# Tariff Plan =Piano Tariffario) is used in Italian standard UNI/TS
|
|
305
|
+
# 11291-11.
|
|
306
|
+
TARIFF_PLAN = 8192
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
from enum import IntEnum
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class Priority(IntEnum):
|
|
5
|
-
"""Used priority."""
|
|
6
|
-
NORMAL = 0
|
|
7
|
-
HIGH = 1
|
|
1
|
+
from enum import IntEnum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class Priority(IntEnum):
|
|
5
|
+
"""Used priority."""
|
|
6
|
+
NORMAL = 0
|
|
7
|
+
HIGH = 1
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
from enum import IntFlag
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class RequestTypes(IntFlag):
|
|
5
|
-
""" RequestTypes enumerates the replies of the server to a client's request, indicating the request type."""
|
|
6
|
-
NONE = 0
|
|
7
|
-
DATABLOCK = 1
|
|
8
|
-
FRAME = 2
|
|
9
|
-
GBT = 4
|
|
1
|
+
from enum import IntFlag
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class RequestTypes(IntFlag):
|
|
5
|
+
""" RequestTypes enumerates the replies of the server to a client's request, indicating the request type."""
|
|
6
|
+
NONE = 0
|
|
7
|
+
DATABLOCK = 1
|
|
8
|
+
FRAME = 2
|
|
9
|
+
GBT = 4
|