What the OctetString Value Object Is
The OctetString Value object, defined in Clause 12.41 of ANSI/ASHRAE 135-2024, exposes a named raw byte-string value inside a BACnet device to other devices on the network. It makes any kind of octet-string data readable and, optionally, writable: a binary identifier, a packed data structure, a MAC address, or any opaque blob the control logic holds. Where a CharacterString Value carries readable text, an OctetString Value carries arbitrary bytes with no character-set interpretation.
An OctetString Value can be read-only or commandable. When it is commandable, it carries the same 16-slot priority array as an Analog Output; when it is a simple stored value, it does not. The OctetString Value object does not define an intrinsic event algorithm; it supports fault reporting through reliability-evaluation only.
Where You’ll See It
- Binary identifiers. A hardware address, a raw serial or key blob other devices read with ReadProperty.
- Packed data. A vendor-specific structure or byte buffer exposed as a single value.
- Opaque payloads. A block of bytes a device shares without imposing a text encoding on it.
Required Properties
Clause 12.41 requires every OctetString Value object to provide these properties. Datatypes are the spec’s names: OctetString is a sequence of raw bytes, CharacterString a text string, and the BACnet-prefixed types are structured values defined by the standard.
| Property | Datatype | What it holds |
|---|---|---|
Object_Identifier | BACnetObjectIdentifier | The object’s type and instance number, unique within the device |
Object_Name | CharacterString | The human-readable point name, unique within the device |
Object_Type | BACnetObjectType | Always octetstring-value for this object |
Present_Value | OctetString | The raw byte-string value. Read-only or commandable depending on the instance |
Status_Flags | BACnetStatusFlags | Four health flags: in-alarm, fault, overridden, out-of-service |
Property_List | BACnetARRAY[N] of BACnetPropertyIdentifier | The list of properties this instance actually implements |
When the object is commandable, it additionally implements Priority_Array (the 16 command slots), Relinquish_Default (the fallback when all slots are Null), and Current_Command_Priority. On a simple stored OctetString Value these are absent. See How Commanding Works on the Analog Output page for the priority-array model.
Optional Properties
The OctetString Value has one of the smallest optional sets of the value objects: the ones integrators meet most are Description, the command-tracking group on commandable instances, and Reliability, which names the reason whenever the fault flag in Status_Flags is set. This object defines no intrinsic-reporting group.
| Property | Datatype | Group |
|---|---|---|
Description | CharacterString | General |
Out_Of_Service | BOOLEAN | General |
Event_State | BACnetEventState | General |
Priority_Array | BACnetPriorityArray | Commanding |
Relinquish_Default | OctetString | Commanding |
Current_Command_Priority | BACnetOptionalUnsigned | Commanding |
Value_Source | BACnetValueSource | Commanding |
Value_Source_Array | BACnetARRAY[16] of BACnetValueSource | Commanding |
Last_Command_Time | BACnetTimeStamp | Commanding |
Command_Time_Array | BACnetARRAY[16] of BACnetTimeStamp | Commanding |
Reliability | BACnetReliability | Fault detection |
Reliability_Evaluation_Inhibit | BOOLEAN | Fault detection |
Audit_Level | BACnetAuditLevel | Auditing |
Auditable_Operations | BACnetAuditOperationFlags | Auditing |
Tags | BACnetARRAY[N] of BACnetNameValue | Tagging and profile |
Profile_Location | CharacterString | Tagging and profile |
Profile_Name | CharacterString | Tagging and profile |
Related Objects
- CharacterString Value: the equivalent for readable text rather than raw bytes.
- BitString Value: the equivalent for a set of individually named bits.
- Analog Value: the numeric software-point equivalent.
What Chipkin Provides
The OctetString Value object, in both read-only and commandable forms, is a first-class object type in the CAS BACnet Stack. Talk to us about modeling your device’s points.