Skip to main content

Module object_profile

Module object_profile 

Source
Expand description

The optional Tags, Profile_Location and Profile_Name rows (#1553).

Most Clause 12 object tables list these three as optional rows. An object that carries an ObjectProfile serves the rows it provisions, before registration, as an ObjectAuditPolicy provisions the audit rows; an object that provisions none serves none, exactly as before. The Color, Color Temperature, Lighting Output and Binary Lighting Output, Analog Value, Binary Value, Multi-state Value, Analog Input, Binary Input, Multi-state Input, Analog Output, Binary Output and Multi-state Output and Device objects carry one (set_profile on each). Value profile rows are independent of Present_Value access and source tracking; input profiles are independent of Out_Of_Service, and output profiles are independent of command priorities, sources and feedback. Device profiles preserve identity, clock, service declarations and Audit ownership. Endpoint responders retain their separate, narrow Device write admission.

  • Tags is a BACnetARRAY of BACnetNameValue that peers may write: whole, an element by index, or its size at index 0, which truncates or appends (Clause 12.1.5.1). An appended tag is a semantic tag with an empty name, a local choice the clause leaves open. A tag name may not hold a semicolon (Annex Y.1.4), and the array holds at most MAX_TAGS.
  • Profile_Location and Profile_Name are the application’s: read-only over the network, as their O conformance code permits, so the PICS lists them as readable only. Provisioning checks each against its subclause: a location is empty or its URI scheme is http, https or bacnet, and a profile name begins with a decimal vendor identifier and a dash.

Objects built with new or with_access keep Tags in memory. Their with_tags_persistence constructors (access-explicit for Values) attach application-owned storage: successful writes then override configured Tags across reconstruction. Saved Tags never provision an absent row. See TagsPersistence.

Structs§

FileTagsPersistence
One object’s Tags in an application-selected file.
ObjectProfile
The optional Tags, Profile_Location and Profile_Name rows of one object.
TagsSnapshot
The last successfully written Tags array, independent of whether the application currently provisions the row.

Constants§

MAX_TAGS
Resource cap on Tags elements, the bound Exception_Schedule and a Calendar’s Date_List have. A longer array is NO_SPACE_TO_WRITE_PROPERTY.
MAX_TAGS_SNAPSHOT_BYTES
Maximum complete persisted Tags representation, including its 12-byte identity/version header and presence octet: 1 MiB. This opt-in storage bound does not apply to memory-only objects and is not a BACnet limit.

Traits§

TagsPersistence
Application-owned storage shared by all objects supporting durable Tags.