---
title: "system.bacnet.readRaw"
description: "Read from any BACnet object not explicitly supported by the BACnet driver."
---
# system.bacnet.readRaw
> Read from any BACnet object not explicitly supported by the BACnet driver.
This function is used in **Python Scripting**.
## Description
:::note
To use this function, the [BACnet](ignition-modules\opc-ua\opc-ua-drivers\bacnet\bacnet.md) driver must be installed.
:::
:::caution
Please use caution when interacting directly with any BACnet device, as writing to an object may have unintended consequences and could result in data loss.
:::
## Client Permission Restrictions
This scripting function has no [Client Permission](ignition-modules\vision\vision-project-properties\vision-project-properties.md#vision-permissions-properties) restrictions.
## Syntax
`system.bacnet.readRaw(deviceName, objectType, objectId, propertyId, [propertyArrayIndex])`
### Parameters
Type | Parameter | Description
------- | ------- | -------
String | `deviceName` | The name of the configured BACnet/IP device instance to read from.
ObjectType | `objectType` | The numeric id of the objectType of the object instance being read from. See the objectType Reference below.
Integer | `objectId` | The object instance number to read.
PropertyIdentifier | `propertyId` | The PropertyIdentifier of the object instance being read. See the propertyId Reference below.
Integer | `propertyArrayIndex` | [optional] The array index of the property to read from. This parameter is optional and should not be used when reading from the entire array or if the property is not an array.
### Returns
Nothing
### Scope
Gateway
## Importing Classes
You can import classes from system.bacnet.* like you would other Python classes:
```python title="Example"
from system.bacnet.enumerated import ObjectType
from system.bacnet.enumerated import PropertyIdentifier
ot = ObjectType.calendar
pid = PropertyIdentifier.dateList
```
You can also iterate those system.bacnet.* packages to see all available classes:
```python title="Example"
for d in dir(system.bacnet.constructed):
print d
```
### API Docs
BACnet4j Library of all classes available for import can be accessed at this link: [BACnet4j Library 6.0.1 API Docs](https://sdk.inductiveautomation.com/javadoc/bacnet/6.0.1/index.html)
## References
### objectType Reference
Values for the **objectType** parameter can be referenced at system.bacnet.enumerated.ObjectType.*
objectType Reference List
* analogInput
* analogOutput
* analogValue
* binaryInput
* binaryOutput
* binaryValue
* calendar
* command
* device
* eventEnrollment
* file
* group
* loop
* multiStateInput
* multiStateOutput
* notificationClass
* program
* schedule
* averaging
* multiStateValue
* trendLog
* lifeSafetyPoint
* lifeSafetyZone
* accumulator
* pulseConverter
* eventLog
* globalGroup
* trendLogMultiple
* loadControl
* structuredView
* accessDoor
* timer
* accessCredential
* accessPoint
* accessRights
* accessUser
* accessZone
* credentialDataInput
* networkSecurity
* bitstringValue
* characterstringValue
* datePatternValue
* dateValue
* datetimePatternValue
* datetimeValue
* integerValue
* largeAnalogValue
* octetstringValue
* positiveIntegerValue
* timePatternValue
* timeValue
* notificationForwarder
* alertEnrollment
* channel
* lightingOutput
* binaryLightingOutput
* networkPort
* elevatorGroup
* escalator
* lift
### propertyId Reference
Values for the **propertyId** parameter can be referenced at system.bacnet.enumerated.PropertyIdentifier.*
propertyId Reference List
* ackedTransitions
* ackRequired
* action
* actionText
* activeText
* activeVtSessions
* alarmValue
* alarmValues
* all
* allWritesSuccessful
* apduSegmentTimeout
* apduTimeout
* applicationSoftwareVersion
* archive
* bias
* changeOfStateCount
* changeOfStateTime
* notificationClass
* controlledVariableReference
* controlledVariableUnits
* controlledVariableValue
* covIncrement
* dateList
* daylightSavingsStatus
* deadband
* derivativeConstant
* derivativeConstantUnits
* description
* descriptionOfHalt
* deviceAddressBinding
* deviceType
* effectivePeriod
* elapsedActiveTime
* errorLimit
* eventEnable
* eventState
* eventType
* exceptionSchedule
* faultValues
* feedbackValue
* fileAccessMethod
* fileSize
* fileType
* firmwareRevision
* highLimit
* inactiveText
* inProcess
* instanceOf
* integralConstant
* integralConstantUnits
* limitEnable
* listOfGroupMembers
* listOfObjectPropertyReferences
* localDate
* localTime
* location
* lowLimit
* manipulatedVariableReference
* maximumOutput
* maxApduLengthAccepted
* maxInfoFrames
* maxMaster
* maxPresValue
* minimumOffTime
* minimumOnTime
* minimumOutput
* minPresValue
* modelName
* modificationDate
* notifyType
* numberOfApduRetries
* numberOfStates
* objectIdentifier
* objectList
* objectName
* objectPropertyReference
* objectType
* optional
* outOfService
* outputUnits
* eventParameters
* polarity
* presentValue
* priority
* priorityArray
* priorityForWriting
* processIdentifier
* programChange
* programLocation
* programState
* proportionalConstant
* proportionalConstantUnits
* protocolObjectTypesSupported
* protocolServicesSupported
* protocolVersion
* readOnly
* reasonForHalt
* recipientList
* reliability
* relinquishDefault
* required
* resolution
* segmentationSupported
* setpoint
* setpointReference
* stateText
* statusFlags
* systemStatus
* timeDelay
* timeOfActiveTimeReset
* timeOfStateCountReset
* timeSynchronizationRecipients
* units
* updateInterval
* utcOffset
* vendorIdentifier
* vendorName
* vtClassesSupported
* weeklySchedule
* attemptedSamples
* averageValue
* bufferSize
* clientCovIncrement
* covResubscriptionInterval
* eventTimeStamps
* logBuffer
* logDeviceObjectProperty
* enable
* logInterval
* maximumValue
* minimumValue
* notificationThreshold
* protocolRevision
* recordsSinceNotification
* recordCount
* startTime
* stopTime
* stopWhenFull
* totalRecordCount
* validSamples
* windowInterval
* windowSamples
* maximumValueTimestamp
* minimumValueTimestamp
* varianceValue
* activeCovSubscriptions
* backupFailureTimeout
* configurationFiles
* databaseRevision
* directReading
* lastRestoreTime
* maintenanceRequired
* memberOf
* mode
* operationExpected
* setting
* silenced
* trackingValue
* zoneMembers
* lifeSafetyAlarmValues
* maxSegmentsAccepted
* profileName
* autoSlaveDiscovery
* manualSlaveAddressBinding
* slaveAddressBinding
* slaveProxyEnable
* lastNotifyRecord
* scheduleDefault
* acceptedModes
* adjustValue
* count
* countBeforeChange
* countChangeTime
* covPeriod
* inputReference
* limitMonitoringInterval
* loggingObject
* loggingRecord
* prescale
* pulseRate
* scale
* scaleFactor
* updateTime
* valueBeforeChange
* valueSet
* valueChangeTime
* alignIntervals
* intervalOffset
* lastRestartReason
* loggingType
* restartNotificationRecipients
* timeOfDeviceRestart
* timeSynchronizationInterval
* trigger
* utcTimeSynchronizationRecipients
* nodeSubtype
* nodeType
* structuredObjectList
* subordinateAnnotations
* subordinateList
* actualShedLevel
* dutyWindow
* expectedShedLevel
* fullDutyBaseline
* requestedShedLevel
* shedDuration
* shedLevelDescriptions
* shedLevels
* stateDescription
* doorAlarmState
* doorExtendedPulseTime
* doorMembers
* doorOpenTooLongTime
* doorPulseTime
* doorStatus
* doorUnlockDelayTime
* lockStatus
* maskedAlarmValues
* securedStatus
* absenteeLimit
* accessAlarmEvents
* accessDoors
* accessEvent
* accessEventAuthenticationFactor
* accessEventCredential
* accessEventTime
* accessTransactionEvents
* accompaniment
* accompanimentTime
* activationTime
* activeAuthenticationPolicy
* assignedAccessRights
* authenticationFactors
* authenticationPolicyList
* authenticationPolicyNames
* authenticationStatus
* authorizationMode
* belongsTo
* credentialDisable
* credentialStatus
* credentials
* credentialsInZone
* daysRemaining
* entryPoints
* exitPoints
* expirationTime
* extendedTimeEnable
* failedAttemptEvents
* failedAttempts
* failedAttemptsTime
* lastAccessEvent
* lastAccessPoint
* lastCredentialAdded
* lastCredentialAddedTime
* lastCredentialRemoved
* lastCredentialRemovedTime
* lastUseTime
* lockout
* lockoutRelinquishTime
* maxFailedAttempts
* members
* musterPoint
* negativeAccessRules
* numberOfAuthenticationPolicies
* occupancyCount
* occupancyCountAdjust
* occupancyCountEnable
* occupancyLowerLimit
* occupancyLowerLimitEnforced
* occupancyState
* occupancyUpperLimit
* occupancyUpperLimitEnforced
* passbackMode
* passbackTimeout
* positiveAccessRules
* reasonForDisable
* supportedFormats
* supportedFormatClasses
* threatAuthority
* threatLevel
* traceFlag
* transactionNotificationClass
* userExternalIdentifier
* userInformationReference
* userName
* userType
* usesRemaining
* zoneFrom
* zoneTo
* accessEventTag
* globalIdentifier
* verificationTime
* baseDeviceSecurityPolicy
* distributionKeyRevision
* doNotHide
* keySets
* lastKeyServer
* networkAccessSecurityPolicies
* packetReorderTime
* securityPduTimeout
* securityTimeWindow
* supportedSecurityAlgorithms
* updateKeySetTimeout
* backupAndRestoreState
* backupPreparationTime
* restoreCompletionTime
* restorePreparationTime
* bitMask
* bitText
* isUtc
* groupMembers
* groupMemberNames
* memberStatusFlags
* requestedUpdateInterval
* covuPeriod
* covuRecipients
* eventMessageTexts
* eventMessageTextsConfig
* eventDetectionEnable
* eventAlgorithmInhibit
* eventAlgorithmInhibitRef
* timeDelayNormal
* reliabilityEvaluationInhibit
* faultParameters
* faultType
* localForwardingOnly
* processIdentifierFilter
* subscribedRecipients
* portFilter
* authorizationExemptions
* allowGroupDelayInhibit
* channelNumber
* controlGroups
* executionDelay
* lastPriority
* writeStatus
* propertyList
* serialNumber
* blinkWarnEnable
* defaultFadeTime
* defaultRampRate
* defaultStepIncrement
* egressTime
* inProgress
* instantaneousPower
* lightingCommand
* lightingCommandDefaultPriority
* maxActualValue
* minActualValue
* power
* transition
* egressActive
* interfaceValue
* faultHighLimit
* faultLowLimit
* lowDiffLimit
* strikeCount
* timeOfStrikeCountReset
* defaultTimeout
* initialTimeout
* lastStateChange
* stateChangeValues
* timerRunning
* timerState
* apduLength
* ipAddress
* ipDefaultGateway
* ipDhcpEnable
* ipDhcpLeaseTime
* ipDhcpLeaseTimeRemaining
* ipDhcpServer
* ipDnsServer
* bacnetIpGlobalAddress
* bacnetIpMode
* bacnetIpMulticastAddress
* bacnetIpNatTraversal
* ipSubnetMask
* bacnetIpUdpPort
* bbmdAcceptFdRegistrations
* bbmdBroadcastDistributionTable
* bbmdForeignDeviceTable
* changesPending
* command
* fdBbmdAddress
* fdSubscriptionLifetime
* linkSpeed
* linkSpeeds
* linkSpeedAutonegotiate
* macAddress
* networkInterfaceName
* networkNumber
* networkNumberQuality
* networkType
* routingTable
* virtualMacAddressTable
* commandTimeArray
* currentCommandPriority
* lastCommandTime
* valueSource
* valueSourceArray
* bacnetIpv6Mode
* ipv6Address
* ipv6PrefixLength
* bacnetIpv6UdpPort
* ipv6DefaultGateway
* bacnetIpv6MulticastAddress
* ipv6DnsServer
* ipv6AutoAddressingEnable
* ipv6DhcpLeaseTime
* ipv6DhcpLeaseTimeRemaining
* ipv6DhcpServer
* ipv6ZoneIndex
* assignedLandingCalls
* carAssignedDirection
* carDoorCommand
* carDoorStatus
* carDoorText
* carDoorZone
* carDriveStatus
* carLoad
* carLoadUnits
* carMode
* carMovingDirection
* carPosition
* elevatorGroup
* energyMeter
* energyMeterRef
* escalatorMode
* faultSignals
* floorText
* groupId
* groupMode
* higherDeck
* installationId
* landingCalls
* landingCallControl
* landingDoorStatus
* lowerDeck
* machineRoomId
* makingCarCall
* nextStoppingFloor
* operationDirection
* passengerAlarm
* powerMode
* registeredCarCall
* activeCovMultipleSubscriptions
* protocolLevel
* referencePort
* deployedProfileLocation
* profileLocation
* tags
* subordinateNodeTypes
* subordinateTags
* subordinateRelationships
* defaultSubordinateRelationship
* represents
### Enums Reference
Values for the **Enums** parameter can be referenced at system.bacnet.enums.*
Enums Reference List
* DayOfWeek
* MaxApduLength
* MaxSegments
* Month
## Code Examaples
### Reading an Array
Reading EventTimeStamps property from an instance 0 AnalogOutput object.
```python title="Example"
ot = system.bacnet.enumerated.ObjectType.analogOutput
pid = system.bacnet.enumerated.PropertyIdentifier.eventTimeStamps
timestamps = system.bacnet.readRaw("bacnetDevice", ot, 0, pid)
for t in timestamps:
print t
```
### Reading an Array Element
Reading index 0 of EventTimeStamps property from an instance 0 AnalogOutput object.
```python title="Example"
ot = system.bacnet.enumerated.ObjectType.analogOutput
pid = system.bacnet.enumerated.PropertyIdentifier.eventTimeStamps
# read index 0 of eventTimeStamps property
arrayCount = system.bacnet.readRaw("bacnetDevice", ot, 0, pid, 0)
print arrayCount
```