--- 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 ```