bacnet_parse/nsdu/
property_id.rs

1/// `enum PropertyId` and the numbers used in `PropertyId::parse` are taken from the bacnet-stack
2/// project, `bacenum.h` with minor modifications.
3///
4/// --- original copyright notice from bacenum.h ---
5///
6/// Copyright (C) 2012 Steve Karg <skarg@users.sourceforge.net>
7///
8/// Permission is hereby granted, free of charge, to any person obtaining
9/// a copy of this software and associated documentation files (the
10/// "Software"), to deal in the Software without restriction, including
11/// without limitation the rights to use, copy, modify, merge, publish,
12/// distribute, sublicense, and/or sell copies of the Software, and to
13/// permit persons to whom the Software is furnished to do so, subject to
14/// the following conditions:
15///
16/// The above copyright notice and this permission notice shall be included
17/// in all copies or substantial portions of the Software.
18///
19/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20/// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21/// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22/// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
23/// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
24/// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
25/// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26///
27///   Modifications Copyright (C) 2017 BACnet Interoperability Testing Services, Inc.
28///
29///   July 1, 2017    BITS    Modifications to this file have been made in compliance
30///                           with original licensing.
31///
32///   This file contains changes made by BACnet Interoperability Testing
33///   Services, Inc. These changes are subject to the permissions,
34///   warranty terms and limitations above.
35///   For more information: info@bac-test.com
36///   For access to source code:  info@bac-test.com
37///          or      www.github.com/bacnettesting/bacnet-stack
38use arrayref::array_ref;
39
40pub enum PropertyId {
41    PropAckedTransitions,
42    PropAckRequired,
43    PropAction,
44    PropActionText,
45    PropActiveText,
46    PropActiveVtSessions,
47    PropAlarmValue,
48    PropAlarmValues,
49    PropAll,
50    PropAllWritesSuccessful,
51    PropApduSegmentTimeout,
52    PropApduTimeout,
53    PropApplicationSoftwareVersion,
54    PropArchive,
55    PropBias,
56    PropChangeOfStateCount,
57    PropChangeOfStateTime,
58    PropNotificationClass,
59    PropBlank1,
60    PropControlledVariableReference,
61    PropControlledVariableUnits,
62    PropControlledVariableValue,
63    PropCovIncrement,
64    PropDateList,
65    PropDaylightSavingsStatus,
66    PropDeadband,
67    PropDerivativeConstant,
68    PropDerivativeConstantUnits,
69    PropDescription,
70    PropDescriptionOfHalt,
71    PropDeviceAddressBinding,
72    PropDeviceType,
73    PropEffectivePeriod,
74    PropElapsedActiveTime,
75    PropErrorLimit,
76    PropEventEnable,
77    PropEventState,
78    PropEventType,
79    PropExceptionSchedule,
80    PropFaultValues,
81    PropFeedbackValue,
82    PropFileAccessMethod,
83    PropFileSize,
84    PropFileType,
85    PropFirmwareRevision,
86    PropHighLimit,
87    PropInactiveText,
88    PropInProcess,
89    PropInstanceOf,
90    PropIntegralConstant,
91    PropIntegralConstantUnits,
92    PropIssueConfirmedNotifications,
93    PropLimitEnable,
94    PropListOfGroupMembers,
95    PropListOfObjectPropertyReferences,
96    PropListOfSessionKeys,
97    PropLocalDate,
98    PropLocalTime,
99    PropLocation,
100    PropLowLimit,
101    PropManipulatedVariableReference,
102    PropMaximumOutput,
103    PropMaxApduLengthAccepted,
104    PropMaxInfoFrames,
105    PropMaxMaster,
106    PropMaxPresValue,
107    PropMinimumOffTime,
108    PropMinimumOnTime,
109    PropMinimumOutput,
110    PropMinPresValue,
111    PropModelName,
112    PropModificationDate,
113    PropNotifyType,
114    PropNumberOfApduRetries,
115    PropNumberOfStates,
116    PropObjectIdentifier,
117    PropObjectList,
118    PropObjectName,
119    PropObjectPropertyReference,
120    PropObjectType,
121    PropOptional,
122    PropOutOfService,
123    PropOutputUnits,
124    PropEventParameters,
125    PropPolarity,
126    PropPresentValue,
127    PropPriority,
128    PropPriorityArray,
129    PropPriorityForWriting,
130    PropProcessIdentifier,
131    PropProgramChange,
132    PropProgramLocation,
133    PropProgramState,
134    PropProportionalConstant,
135    PropProportionalConstantUnits,
136    PropProtocolConformanceClass, /* deleted in version 1 revision 2 */
137    PropProtocolObjectTypesSupported,
138    PropProtocolServicesSupported,
139    PropProtocolVersion,
140    PropReadOnly,
141    PropReasonForHalt,
142    PropRecipient,
143    PropRecipientList,
144    PropReliability,
145    PropRelinquishDefault,
146    PropRequired,
147    PropResolution,
148    PropSegmentationSupported,
149    PropSetpoint,
150    PropSetpointReference,
151    PropStateText,
152    PropStatusFlags,
153    PropSystemStatus,
154    PropTimeDelay,
155    PropTimeOfActiveTimeReset,
156    PropTimeOfStateCountReset,
157    PropTimeSynchronizationRecipients,
158    PropUnits,
159    PropUpdateInterval,
160    PropUtcOffset,
161    PropVendorIdentifier,
162    PropVendorName,
163    PropVtClassesSupported,
164    PropWeeklySchedule,
165    PropAttemptedSamples,
166    PropAverageValue,
167    PropBufferSize,
168    PropClientCovIncrement,
169    PropCovResubscriptionInterval,
170    PropCurrentNotifyTime,
171    PropEventTimeStamps,
172    PropLogBuffer,
173    PropLogDeviceObjectProperty,
174    PropEnable,
175    PropLogInterval,
176    PropMaximumValue,
177    PropMinimumValue,
178    PropNotificationThreshold,
179    PropPreviousNotifyTime,
180    PropProtocolRevision,
181    PropRecordsSinceNotification,
182    PropRecordCount,
183    PropStartTime,
184    PropStopTime,
185    PropStopWhenFull,
186    PropTotalRecordCount,
187    PropValidSamples,
188    PropWindowInterval,
189    PropWindowSamples,
190    PropMaximumValueTimestamp,
191    PropMinimumValueTimestamp,
192    PropVarianceValue,
193    PropActiveCovSubscriptions,
194    PropBackupFailureTimeout,
195    PropConfigurationFiles,
196    PropDatabaseRevision,
197    PropDirectReading,
198    PropLastRestoreTime,
199    PropMaintenanceRequired,
200    PropMemberOf,
201    PropMode,
202    PropOperationExpected,
203    PropSetting,
204    PropSilenced,
205    PropTrackingValue,
206    PropZoneMembers,
207    PropLifeSafetyAlarmValues,
208    PropMaxSegmentsAccepted,
209    PropProfileName,
210    PropAutoSlaveDiscovery,
211    PropManualSlaveAddressBinding,
212    PropSlaveAddressBinding,
213    PropSlaveProxyEnable,
214    PropLastNotifyRecord,
215    PropScheduleDefault,
216    PropAcceptedModes,
217    PropAdjustValue,
218    PropCount,
219    PropCountBeforeChange,
220    PropCountChangeTime,
221    PropCovPeriod,
222    PropInputReference,
223    PropLimitMonitoringInterval,
224    PropLoggingObject,
225    PropLoggingRecord,
226    PropPrescale,
227    PropPulseRate,
228    PropScale,
229    PropScaleFactor,
230    PropUpdateTime,
231    PropValueBeforeChange,
232    PropValueSet,
233    PropValueChangeTime,
234    PropAlignIntervals,
235    PropIntervalOffset,
236    PropLastRestartReason,
237    PropLoggingType,
238    PropRestartNotificationRecipients,
239    PropTimeOfDeviceRestart,
240    PropTimeSynchronizationInterval,
241    PropTrigger,
242    PropUtcTimeSynchronizationRecipients,
243    PropNodeSubtype,
244    PropNodeType,
245    PropStructuredObjectList,
246    PropSubordinateAnnotations,
247    PropSubordinateList,
248    PropActualShedLevel,
249    PropDutyWindow,
250    PropExpectedShedLevel,
251    PropFullDutyBaseline,
252    PropRequestedShedLevel,
253    PropShedDuration,
254    PropShedLevelDescriptions,
255    PropShedLevels,
256    PropStateDescription,
257    PropDoorAlarmState,
258    PropDoorExtendedPulseTime,
259    PropDoorMembers,
260    PropDoorOpenTooLongTime,
261    PropDoorPulseTime,
262    PropDoorStatus,
263    PropDoorUnlockDelayTime,
264    PropLockStatus,
265    PropMaskedAlarmValues,
266    PropSecuredStatus,
267    PropAbsenteeLimit,
268    PropAccessAlarmEvents,
269    PropAccessDoors,
270    PropAccessEvent,
271    PropAccessEventAuthenticationFactor,
272    PropAccessEventCredential,
273    PropAccessEventTime,
274    PropAccessTransactionEvents,
275    PropAccompaniment,
276    PropAccompanimentTime,
277    PropActivationTime,
278    PropActiveAuthenticationPolicy,
279    PropAssignedAccessRights,
280    PropAuthenticationFactors,
281    PropAuthenticationPolicyList,
282    PropAuthenticationPolicyNames,
283    PropAuthenticationStatus,
284    PropAuthorizationMode,
285    PropBelongsTo,
286    PropCredentialDisable,
287    PropCredentialStatus,
288    PropCredentials,
289    PropCredentialsInZone,
290    PropDaysRemaining,
291    PropEntryPoints,
292    PropExitPoints,
293    PropExpirationTime,
294    PropExtendedTimeEnable,
295    PropFailedAttemptEvents,
296    PropFailedAttempts,
297    PropFailedAttemptsTime,
298    PropLastAccessEvent,
299    PropLastAccessPoint,
300    PropLastCredentialAdded,
301    PropLastCredentialAddedTime,
302    PropLastCredentialRemoved,
303    PropLastCredentialRemovedTime,
304    PropLastUseTime,
305    PropLockout,
306    PropLockoutRelinquishTime,
307    PropMasterExemption,
308    PropMaxFailedAttempts,
309    PropMembers,
310    PropMusterPoint,
311    PropNegativeAccessRules,
312    PropNumberOfAuthenticationPolicies,
313    PropOccupancyCount,
314    PropOccupancyCountAdjust,
315    PropOccupancyCountEnable,
316    PropOccupancyExemption,
317    PropOccupancyLowerLimit,
318    PropOccupancyLowerLimitEnforced,
319    PropOccupancyState,
320    PropOccupancyUpperLimit,
321    PropOccupancyUpperLimitEnforced,
322    PropPassbackExemption,
323    PropPassbackMode,
324    PropPassbackTimeout,
325    PropPositiveAccessRules,
326    PropReasonForDisable,
327    PropSupportedFormats,
328    PropSupportedFormatClasses,
329    PropThreatAuthority,
330    PropThreatLevel,
331    PropTraceFlag,
332    PropTransactionNotificationClass,
333    PropUserExternalIdentifier,
334    PropUserInformationReference,
335    PropUserName,
336    PropUserType,
337    PropUsesRemaining,
338    PropZoneFrom,
339    PropZoneTo,
340    PropAccessEventTag,
341    PropGlobalIdentifier,
342    PropVerificationTime,
343    PropBaseDeviceSecurityPolicy,
344    PropDistributionKeyRevision,
345    PropDoNotHide,
346    PropKeySets,
347    PropLastKeyServer,
348    PropNetworkAccessSecurityPolicies,
349    PropPacketReorderTime,
350    PropSecurityPduTimeout,
351    PropSecurityTimeWindow,
352    PropSupportedSecurityAlgorithm,
353    PropUpdateKeySetTimeout,
354    PropBackupAndRestoreState,
355    PropBackupPreparationTime,
356    PropRestoreCompletionTime,
357    PropRestorePreparationTime,
358    PropBitMask,
359    PropBitText,
360    PropIsUtc,
361    PropGroupMembers,
362    PropGroupMemberNames,
363    PropMemberStatusFlags,
364    PropRequestedUpdateInterval,
365    PropCovuPeriod,
366    PropCovuRecipients,
367    PropEventMessageTexts,
368    PropEventMessageTextsConfig,
369    PropEventDetectionEnable,
370    PropEventAlgorithmInhibit,
371    PropEventAlgorithmInhibitRef,
372    PropTimeDelayNormal,
373    PropReliabilityEvaluationInhibit,
374    PropFaultParameters,
375    PropFaultType,
376    PropLocalForwardingOnly,
377    PropProcessIdentifierFilter,
378    PropSubscribedRecipients,
379    PropPortFilter,
380    PropAuthorizationExemptions,
381    PropAllowGroupDelayInhibit,
382    PropChannelNumber,
383    PropControlGroups,
384    PropExecutionDelay,
385    PropLastPriority,
386    PropWriteStatus,
387    PropPropertyList,
388    PropSerialNumber,
389    PropBlinkWarnEnable,
390    PropDefaultFadeTime,
391    PropDefaultRampRate,
392    PropDefaultStepIncrement,
393    PropEgressTime,
394    PropInProgress,
395    PropInstantaneousPower,
396    PropLightingCommand,
397    PropLightingCommandDefaultPriority,
398    PropMaxActualValue,
399    PropMinActualValue,
400    PropPower,
401    PropTransition,
402    PropEgressActive,
403    PropInterfaceValue,
404    PropFaultHighLimit,
405    PropFaultLowLimit,
406    PropLowDiffLimit,
407    PropStrikeCount,
408    PropTimeOfStrikeCountReset,
409    PropDefaultTimeout,
410    PropInitialTimeout,
411    PropLastStateChange,
412    PropStateChangeValues,
413    PropTimerRunning,
414    PropTimerState,
415    PropApduLength,
416    PropIpAddress,
417    PropIpDefaultGateway,
418    PropIpDhcpEnable,
419    PropIpDhcpLeaseTime,
420    PropIpDhcpLeaseTimeRemaining,
421    PropIpDhcpServer,
422    PropIpDnsServer,
423    PropBacnetIpGlobalAddress,
424    PropBacnetIpMode,
425    PropBacnetIpMulticastAddress,
426    PropBacnetIpNatTraversal,
427    PropIpSubnetMask,
428    PropBacnetIpUdpPort,
429    PropBbmdAcceptFdRegistrations,
430    PropBbmdBroadcastDistributionTable,
431    PropBbmdForeignDeviceTable,
432    PropChangesPending,
433    PropCommand,
434    PropFdBbmdAddress,
435    PropFdSubscriptionLifetime,
436    PropLinkSpeed,
437    PropLinkSpeeds,
438    PropLinkSpeedAutonegotiate,
439    PropMacAddress,
440    PropNetworkInterfaceName,
441    PropNetworkNumber,
442    PropNetworkNumberQuality,
443    PropNetworkType,
444    PropRoutingTable,
445    PropVirtualMacAddressTable,
446    PropCommandTimeArray,
447    PropCurrentCommandPriority,
448    PropLastCommandTime,
449    PropValueSource,
450    PropValueSourceArray,
451    PropBacnetIpv6Mode,
452    PropIpv6Address,
453    PropIpv6PrefixLength,
454    PropBacnetIpv6UdpPort,
455    PropIpv6DefaultGateway,
456    PropBacnetIpv6MulticastAddress,
457    PropIpv6DnsServer,
458    PropIpv6AutoAddressingEnable,
459    PropIpv6DhcpLeaseTime,
460    PropIpv6DhcpLeaseTimeRemaining,
461    PropIpv6DhcpServer,
462    PropIpv6ZoneIndex,
463    PropAssignedLandingCalls,
464    PropCarAssignedDirection,
465    PropCarDoorCommand,
466    PropCarDoorStatus,
467    PropCarDoorText,
468    PropCarDoorZone,
469    PropCarDriveStatus,
470    PropCarLoad,
471    PropCarLoadUnits,
472    PropCarMode,
473    PropCarMovingDirection,
474    PropCarPosition,
475    PropElevatorGroup,
476    PropEnergyMeter,
477    PropEnergyMeterRef,
478    PropEscalatorMode,
479    PropFaultSignals,
480    PropFloorText,
481    PropGroupId,
482    PropGroupMode,
483    PropHigherDeck,
484    PropInstallationId,
485    PropLandingCalls,
486    PropLandingCallControl,
487    PropLandingDoorStatus,
488    PropLowerDeck,
489    PropMachineRoomId,
490    PropMakingCarCall,
491    PropNextStoppingFloor,
492    PropOperationDirection,
493    PropPassengerAlarm,
494    PropPowerMode,
495    PropRegisteredCarCall,
496    PropActiveCovMultipleSubscriptions,
497    PropProtocolLevel,
498    PropReferencePort,
499    PropDeployedProfileLocation,
500    PropProfileLocation,
501    PropTags,
502    PropSubordinateNodeTypes,
503    PropSubordinateTags,
504    PropSubordinateRelationships,
505    PropDefaultSubordinateRelationship,
506    PropRepresents,
507    Reserved,
508    Unknown, // some of these are gaps in the reserved values, the rest are proprietary
509}
510
511impl PropertyId {
512    pub fn parse(b: &[u8]) -> Self {
513        // FIXME: parse properly
514        match u16::from_be_bytes(*array_ref!(b, 0, 2)) {
515            0 => Self::PropAckedTransitions,
516            1 => Self::PropAckRequired,
517            2 => Self::PropAction,
518            3 => Self::PropActionText,
519            4 => Self::PropActiveText,
520            5 => Self::PropActiveVtSessions,
521            6 => Self::PropAlarmValue,
522            7 => Self::PropAlarmValues,
523            8 => Self::PropAll,
524            9 => Self::PropAllWritesSuccessful,
525            10 => Self::PropApduSegmentTimeout,
526            11 => Self::PropApduTimeout,
527            12 => Self::PropApplicationSoftwareVersion,
528            13 => Self::PropArchive,
529            14 => Self::PropBias,
530            15 => Self::PropChangeOfStateCount,
531            16 => Self::PropChangeOfStateTime,
532            17 => Self::PropNotificationClass,
533            18 => Self::PropBlank1,
534            19 => Self::PropControlledVariableReference,
535            20 => Self::PropControlledVariableUnits,
536            21 => Self::PropControlledVariableValue,
537            22 => Self::PropCovIncrement,
538            23 => Self::PropDateList,
539            24 => Self::PropDaylightSavingsStatus,
540            25 => Self::PropDeadband,
541            26 => Self::PropDerivativeConstant,
542            27 => Self::PropDerivativeConstantUnits,
543            28 => Self::PropDescription,
544            29 => Self::PropDescriptionOfHalt,
545            30 => Self::PropDeviceAddressBinding,
546            31 => Self::PropDeviceType,
547            32 => Self::PropEffectivePeriod,
548            33 => Self::PropElapsedActiveTime,
549            34 => Self::PropErrorLimit,
550            35 => Self::PropEventEnable,
551            36 => Self::PropEventState,
552            37 => Self::PropEventType,
553            38 => Self::PropExceptionSchedule,
554            39 => Self::PropFaultValues,
555            40 => Self::PropFeedbackValue,
556            41 => Self::PropFileAccessMethod,
557            42 => Self::PropFileSize,
558            43 => Self::PropFileType,
559            44 => Self::PropFirmwareRevision,
560            45 => Self::PropHighLimit,
561            46 => Self::PropInactiveText,
562            47 => Self::PropInProcess,
563            48 => Self::PropInstanceOf,
564            49 => Self::PropIntegralConstant,
565            50 => Self::PropIntegralConstantUnits,
566            51 => Self::PropIssueConfirmedNotifications,
567            52 => Self::PropLimitEnable,
568            53 => Self::PropListOfGroupMembers,
569            54 => Self::PropListOfObjectPropertyReferences,
570            55 => Self::PropListOfSessionKeys,
571            56 => Self::PropLocalDate,
572            57 => Self::PropLocalTime,
573            58 => Self::PropLocation,
574            59 => Self::PropLowLimit,
575            60 => Self::PropManipulatedVariableReference,
576            61 => Self::PropMaximumOutput,
577            62 => Self::PropMaxApduLengthAccepted,
578            63 => Self::PropMaxInfoFrames,
579            64 => Self::PropMaxMaster,
580            65 => Self::PropMaxPresValue,
581            66 => Self::PropMinimumOffTime,
582            67 => Self::PropMinimumOnTime,
583            68 => Self::PropMinimumOutput,
584            69 => Self::PropMinPresValue,
585            70 => Self::PropModelName,
586            71 => Self::PropModificationDate,
587            72 => Self::PropNotifyType,
588            73 => Self::PropNumberOfApduRetries,
589            74 => Self::PropNumberOfStates,
590            75 => Self::PropObjectIdentifier,
591            76 => Self::PropObjectList,
592            77 => Self::PropObjectName,
593            78 => Self::PropObjectPropertyReference,
594            79 => Self::PropObjectType,
595            80 => Self::PropOptional,
596            81 => Self::PropOutOfService,
597            82 => Self::PropOutputUnits,
598            83 => Self::PropEventParameters,
599            84 => Self::PropPolarity,
600            85 => Self::PropPresentValue,
601            86 => Self::PropPriority,
602            87 => Self::PropPriorityArray,
603            88 => Self::PropPriorityForWriting,
604            89 => Self::PropProcessIdentifier,
605            90 => Self::PropProgramChange,
606            91 => Self::PropProgramLocation,
607            92 => Self::PropProgramState,
608            93 => Self::PropProportionalConstant,
609            94 => Self::PropProportionalConstantUnits,
610            95 => Self::PropProtocolConformanceClass, /* deleted in version 1 revision 2 */
611            96 => Self::PropProtocolObjectTypesSupported,
612            97 => Self::PropProtocolServicesSupported,
613            98 => Self::PropProtocolVersion,
614            99 => Self::PropReadOnly,
615            100 => Self::PropReasonForHalt,
616            101 => Self::PropRecipient,
617            102 => Self::PropRecipientList,
618            103 => Self::PropReliability,
619            104 => Self::PropRelinquishDefault,
620            105 => Self::PropRequired,
621            106 => Self::PropResolution,
622            107 => Self::PropSegmentationSupported,
623            108 => Self::PropSetpoint,
624            109 => Self::PropSetpointReference,
625            110 => Self::PropStateText,
626            111 => Self::PropStatusFlags,
627            112 => Self::PropSystemStatus,
628            113 => Self::PropTimeDelay,
629            114 => Self::PropTimeOfActiveTimeReset,
630            115 => Self::PropTimeOfStateCountReset,
631            116 => Self::PropTimeSynchronizationRecipients,
632            117 => Self::PropUnits,
633            118 => Self::PropUpdateInterval,
634            119 => Self::PropUtcOffset,
635            120 => Self::PropVendorIdentifier,
636            121 => Self::PropVendorName,
637            122 => Self::PropVtClassesSupported,
638            123 => Self::PropWeeklySchedule,
639            124 => Self::PropAttemptedSamples,
640            125 => Self::PropAverageValue,
641            126 => Self::PropBufferSize,
642            127 => Self::PropClientCovIncrement,
643            128 => Self::PropCovResubscriptionInterval,
644            129 => Self::PropCurrentNotifyTime,
645            130 => Self::PropEventTimeStamps,
646            131 => Self::PropLogBuffer,
647            132 => Self::PropLogDeviceObjectProperty,
648            133 => Self::PropEnable,
649            134 => Self::PropLogInterval,
650            135 => Self::PropMaximumValue,
651            136 => Self::PropMinimumValue,
652            137 => Self::PropNotificationThreshold,
653            138 => Self::PropPreviousNotifyTime,
654            139 => Self::PropProtocolRevision,
655            140 => Self::PropRecordsSinceNotification,
656            141 => Self::PropRecordCount,
657            142 => Self::PropStartTime,
658            143 => Self::PropStopTime,
659            144 => Self::PropStopWhenFull,
660            145 => Self::PropTotalRecordCount,
661            146 => Self::PropValidSamples,
662            147 => Self::PropWindowInterval,
663            148 => Self::PropWindowSamples,
664            149 => Self::PropMaximumValueTimestamp,
665            150 => Self::PropMinimumValueTimestamp,
666            151 => Self::PropVarianceValue,
667            152 => Self::PropActiveCovSubscriptions,
668            153 => Self::PropBackupFailureTimeout,
669            154 => Self::PropConfigurationFiles,
670            155 => Self::PropDatabaseRevision,
671            156 => Self::PropDirectReading,
672            157 => Self::PropLastRestoreTime,
673            158 => Self::PropMaintenanceRequired,
674            159 => Self::PropMemberOf,
675            160 => Self::PropMode,
676            161 => Self::PropOperationExpected,
677            162 => Self::PropSetting,
678            163 => Self::PropSilenced,
679            164 => Self::PropTrackingValue,
680            165 => Self::PropZoneMembers,
681            166 => Self::PropLifeSafetyAlarmValues,
682            167 => Self::PropMaxSegmentsAccepted,
683            168 => Self::PropProfileName,
684            169 => Self::PropAutoSlaveDiscovery,
685            170 => Self::PropManualSlaveAddressBinding,
686            171 => Self::PropSlaveAddressBinding,
687            172 => Self::PropSlaveProxyEnable,
688            173 => Self::PropLastNotifyRecord,
689            174 => Self::PropScheduleDefault,
690            175 => Self::PropAcceptedModes,
691            176 => Self::PropAdjustValue,
692            177 => Self::PropCount,
693            178 => Self::PropCountBeforeChange,
694            179 => Self::PropCountChangeTime,
695            180 => Self::PropCovPeriod,
696            181 => Self::PropInputReference,
697            182 => Self::PropLimitMonitoringInterval,
698            183 => Self::PropLoggingObject,
699            184 => Self::PropLoggingRecord,
700            185 => Self::PropPrescale,
701            186 => Self::PropPulseRate,
702            187 => Self::PropScale,
703            188 => Self::PropScaleFactor,
704            189 => Self::PropUpdateTime,
705            190 => Self::PropValueBeforeChange,
706            191 => Self::PropValueSet,
707            192 => Self::PropValueChangeTime,
708            193 => Self::PropAlignIntervals,
709            195 => Self::PropIntervalOffset,
710            196 => Self::PropLastRestartReason,
711            197 => Self::PropLoggingType,
712            202 => Self::PropRestartNotificationRecipients,
713            203 => Self::PropTimeOfDeviceRestart,
714            204 => Self::PropTimeSynchronizationInterval,
715            205 => Self::PropTrigger,
716            206 => Self::PropUtcTimeSynchronizationRecipients,
717            207 => Self::PropNodeSubtype,
718            208 => Self::PropNodeType,
719            209 => Self::PropStructuredObjectList,
720            210 => Self::PropSubordinateAnnotations,
721            211 => Self::PropSubordinateList,
722            212 => Self::PropActualShedLevel,
723            213 => Self::PropDutyWindow,
724            214 => Self::PropExpectedShedLevel,
725            215 => Self::PropFullDutyBaseline,
726            218 => Self::PropRequestedShedLevel,
727            219 => Self::PropShedDuration,
728            220 => Self::PropShedLevelDescriptions,
729            221 => Self::PropShedLevels,
730            222 => Self::PropStateDescription,
731            226 => Self::PropDoorAlarmState,
732            227 => Self::PropDoorExtendedPulseTime,
733            228 => Self::PropDoorMembers,
734            229 => Self::PropDoorOpenTooLongTime,
735            230 => Self::PropDoorPulseTime,
736            231 => Self::PropDoorStatus,
737            232 => Self::PropDoorUnlockDelayTime,
738            233 => Self::PropLockStatus,
739            234 => Self::PropMaskedAlarmValues,
740            235 => Self::PropSecuredStatus,
741            244 => Self::PropAbsenteeLimit,
742            245 => Self::PropAccessAlarmEvents,
743            246 => Self::PropAccessDoors,
744            247 => Self::PropAccessEvent,
745            248 => Self::PropAccessEventAuthenticationFactor,
746            249 => Self::PropAccessEventCredential,
747            250 => Self::PropAccessEventTime,
748            251 => Self::PropAccessTransactionEvents,
749            252 => Self::PropAccompaniment,
750            253 => Self::PropAccompanimentTime,
751            254 => Self::PropActivationTime,
752            255 => Self::PropActiveAuthenticationPolicy,
753            256 => Self::PropAssignedAccessRights,
754            257 => Self::PropAuthenticationFactors,
755            258 => Self::PropAuthenticationPolicyList,
756            259 => Self::PropAuthenticationPolicyNames,
757            260 => Self::PropAuthenticationStatus,
758            261 => Self::PropAuthorizationMode,
759            262 => Self::PropBelongsTo,
760            263 => Self::PropCredentialDisable,
761            264 => Self::PropCredentialStatus,
762            265 => Self::PropCredentials,
763            266 => Self::PropCredentialsInZone,
764            267 => Self::PropDaysRemaining,
765            268 => Self::PropEntryPoints,
766            269 => Self::PropExitPoints,
767            270 => Self::PropExpirationTime,
768            271 => Self::PropExtendedTimeEnable,
769            272 => Self::PropFailedAttemptEvents,
770            273 => Self::PropFailedAttempts,
771            274 => Self::PropFailedAttemptsTime,
772            275 => Self::PropLastAccessEvent,
773            276 => Self::PropLastAccessPoint,
774            277 => Self::PropLastCredentialAdded,
775            278 => Self::PropLastCredentialAddedTime,
776            279 => Self::PropLastCredentialRemoved,
777            280 => Self::PropLastCredentialRemovedTime,
778            281 => Self::PropLastUseTime,
779            282 => Self::PropLockout,
780            283 => Self::PropLockoutRelinquishTime,
781            284 => Self::PropMasterExemption,
782            285 => Self::PropMaxFailedAttempts,
783            286 => Self::PropMembers,
784            287 => Self::PropMusterPoint,
785            288 => Self::PropNegativeAccessRules,
786            289 => Self::PropNumberOfAuthenticationPolicies,
787            290 => Self::PropOccupancyCount,
788            291 => Self::PropOccupancyCountAdjust,
789            292 => Self::PropOccupancyCountEnable,
790            293 => Self::PropOccupancyExemption,
791            294 => Self::PropOccupancyLowerLimit,
792            295 => Self::PropOccupancyLowerLimitEnforced,
793            296 => Self::PropOccupancyState,
794            297 => Self::PropOccupancyUpperLimit,
795            298 => Self::PropOccupancyUpperLimitEnforced,
796            299 => Self::PropPassbackExemption,
797            300 => Self::PropPassbackMode,
798            301 => Self::PropPassbackTimeout,
799            302 => Self::PropPositiveAccessRules,
800            303 => Self::PropReasonForDisable,
801            304 => Self::PropSupportedFormats,
802            305 => Self::PropSupportedFormatClasses,
803            306 => Self::PropThreatAuthority,
804            307 => Self::PropThreatLevel,
805            308 => Self::PropTraceFlag,
806            309 => Self::PropTransactionNotificationClass,
807            310 => Self::PropUserExternalIdentifier,
808            311 => Self::PropUserInformationReference,
809            317 => Self::PropUserName,
810            318 => Self::PropUserType,
811            319 => Self::PropUsesRemaining,
812            320 => Self::PropZoneFrom,
813            321 => Self::PropZoneTo,
814            322 => Self::PropAccessEventTag,
815            323 => Self::PropGlobalIdentifier,
816            326 => Self::PropVerificationTime,
817            327 => Self::PropBaseDeviceSecurityPolicy,
818            328 => Self::PropDistributionKeyRevision,
819            329 => Self::PropDoNotHide,
820            330 => Self::PropKeySets,
821            331 => Self::PropLastKeyServer,
822            332 => Self::PropNetworkAccessSecurityPolicies,
823            333 => Self::PropPacketReorderTime,
824            334 => Self::PropSecurityPduTimeout,
825            335 => Self::PropSecurityTimeWindow,
826            336 => Self::PropSupportedSecurityAlgorithm,
827            337 => Self::PropUpdateKeySetTimeout,
828            338 => Self::PropBackupAndRestoreState,
829            339 => Self::PropBackupPreparationTime,
830            340 => Self::PropRestoreCompletionTime,
831            341 => Self::PropRestorePreparationTime,
832            342 => Self::PropBitMask,
833            343 => Self::PropBitText,
834            344 => Self::PropIsUtc,
835            345 => Self::PropGroupMembers,
836            346 => Self::PropGroupMemberNames,
837            347 => Self::PropMemberStatusFlags,
838            348 => Self::PropRequestedUpdateInterval,
839            349 => Self::PropCovuPeriod,
840            350 => Self::PropCovuRecipients,
841            351 => Self::PropEventMessageTexts,
842            352 => Self::PropEventMessageTextsConfig,
843            353 => Self::PropEventDetectionEnable,
844            354 => Self::PropEventAlgorithmInhibit,
845            355 => Self::PropEventAlgorithmInhibitRef,
846            356 => Self::PropTimeDelayNormal,
847            357 => Self::PropReliabilityEvaluationInhibit,
848            358 => Self::PropFaultParameters,
849            359 => Self::PropFaultType,
850            360 => Self::PropLocalForwardingOnly,
851            361 => Self::PropProcessIdentifierFilter,
852            362 => Self::PropSubscribedRecipients,
853            363 => Self::PropPortFilter,
854            364 => Self::PropAuthorizationExemptions,
855            365 => Self::PropAllowGroupDelayInhibit,
856            366 => Self::PropChannelNumber,
857            367 => Self::PropControlGroups,
858            368 => Self::PropExecutionDelay,
859            369 => Self::PropLastPriority,
860            370 => Self::PropWriteStatus,
861            371 => Self::PropPropertyList,
862            372 => Self::PropSerialNumber,
863            373 => Self::PropBlinkWarnEnable,
864            374 => Self::PropDefaultFadeTime,
865            375 => Self::PropDefaultRampRate,
866            376 => Self::PropDefaultStepIncrement,
867            377 => Self::PropEgressTime,
868            378 => Self::PropInProgress,
869            379 => Self::PropInstantaneousPower,
870            380 => Self::PropLightingCommand,
871            381 => Self::PropLightingCommandDefaultPriority,
872            382 => Self::PropMaxActualValue,
873            383 => Self::PropMinActualValue,
874            384 => Self::PropPower,
875            385 => Self::PropTransition,
876            386 => Self::PropEgressActive,
877            387 => Self::PropInterfaceValue,
878            388 => Self::PropFaultHighLimit,
879            389 => Self::PropFaultLowLimit,
880            390 => Self::PropLowDiffLimit,
881            391 => Self::PropStrikeCount,
882            392 => Self::PropTimeOfStrikeCountReset,
883            393 => Self::PropDefaultTimeout,
884            394 => Self::PropInitialTimeout,
885            395 => Self::PropLastStateChange,
886            396 => Self::PropStateChangeValues,
887            397 => Self::PropTimerRunning,
888            398 => Self::PropTimerState,
889            399 => Self::PropApduLength,
890            400 => Self::PropIpAddress,
891            401 => Self::PropIpDefaultGateway,
892            402 => Self::PropIpDhcpEnable,
893            403 => Self::PropIpDhcpLeaseTime,
894            404 => Self::PropIpDhcpLeaseTimeRemaining,
895            405 => Self::PropIpDhcpServer,
896            406 => Self::PropIpDnsServer,
897            407 => Self::PropBacnetIpGlobalAddress,
898            408 => Self::PropBacnetIpMode,
899            409 => Self::PropBacnetIpMulticastAddress,
900            410 => Self::PropBacnetIpNatTraversal,
901            411 => Self::PropIpSubnetMask,
902            412 => Self::PropBacnetIpUdpPort,
903            413 => Self::PropBbmdAcceptFdRegistrations,
904            414 => Self::PropBbmdBroadcastDistributionTable,
905            415 => Self::PropBbmdForeignDeviceTable,
906            416 => Self::PropChangesPending,
907            417 => Self::PropCommand,
908            418 => Self::PropFdBbmdAddress,
909            419 => Self::PropFdSubscriptionLifetime,
910            420 => Self::PropLinkSpeed,
911            421 => Self::PropLinkSpeeds,
912            422 => Self::PropLinkSpeedAutonegotiate,
913            423 => Self::PropMacAddress,
914            424 => Self::PropNetworkInterfaceName,
915            425 => Self::PropNetworkNumber,
916            426 => Self::PropNetworkNumberQuality,
917            427 => Self::PropNetworkType,
918            428 => Self::PropRoutingTable,
919            429 => Self::PropVirtualMacAddressTable,
920            430 => Self::PropCommandTimeArray,
921            431 => Self::PropCurrentCommandPriority,
922            432 => Self::PropLastCommandTime,
923            433 => Self::PropValueSource,
924            434 => Self::PropValueSourceArray,
925            435 => Self::PropBacnetIpv6Mode,
926            436 => Self::PropIpv6Address,
927            437 => Self::PropIpv6PrefixLength,
928            438 => Self::PropBacnetIpv6UdpPort,
929            439 => Self::PropIpv6DefaultGateway,
930            440 => Self::PropBacnetIpv6MulticastAddress,
931            441 => Self::PropIpv6DnsServer,
932            442 => Self::PropIpv6AutoAddressingEnable,
933            443 => Self::PropIpv6DhcpLeaseTime,
934            444 => Self::PropIpv6DhcpLeaseTimeRemaining,
935            445 => Self::PropIpv6DhcpServer,
936            446 => Self::PropIpv6ZoneIndex,
937            447 => Self::PropAssignedLandingCalls,
938            448 => Self::PropCarAssignedDirection,
939            449 => Self::PropCarDoorCommand,
940            450 => Self::PropCarDoorStatus,
941            451 => Self::PropCarDoorText,
942            452 => Self::PropCarDoorZone,
943            453 => Self::PropCarDriveStatus,
944            454 => Self::PropCarLoad,
945            455 => Self::PropCarLoadUnits,
946            456 => Self::PropCarMode,
947            457 => Self::PropCarMovingDirection,
948            458 => Self::PropCarPosition,
949            459 => Self::PropElevatorGroup,
950            460 => Self::PropEnergyMeter,
951            461 => Self::PropEnergyMeterRef,
952            462 => Self::PropEscalatorMode,
953            463 => Self::PropFaultSignals,
954            464 => Self::PropFloorText,
955            465 => Self::PropGroupId,
956            467 => Self::PropGroupMode,
957            468 => Self::PropHigherDeck,
958            469 => Self::PropInstallationId,
959            470 => Self::PropLandingCalls,
960            471 => Self::PropLandingCallControl,
961            472 => Self::PropLandingDoorStatus,
962            473 => Self::PropLowerDeck,
963            474 => Self::PropMachineRoomId,
964            475 => Self::PropMakingCarCall,
965            476 => Self::PropNextStoppingFloor,
966            477 => Self::PropOperationDirection,
967            478 => Self::PropPassengerAlarm,
968            479 => Self::PropPowerMode,
969            480 => Self::PropRegisteredCarCall,
970            481 => Self::PropActiveCovMultipleSubscriptions,
971            482 => Self::PropProtocolLevel,
972            483 => Self::PropReferencePort,
973            484 => Self::PropDeployedProfileLocation,
974            485 => Self::PropProfileLocation,
975            486 => Self::PropTags,
976            487 => Self::PropSubordinateNodeTypes,
977            488 => Self::PropSubordinateTags,
978            489 => Self::PropSubordinateRelationships,
979            490 => Self::PropDefaultSubordinateRelationship,
980            491 => Self::PropRepresents,
981            492..=511 => Self::Reserved,
982            _ => Self::Unknown,
983        }
984    }
985}