What DM-LM-B Is
DM-LM-B (Device Management-List Manipulation-B) is the BACnet Interoperability Building Block (BIBB) for a device that executes AddListElement and RemoveListElement: adding or removing individual entries in a BACnetLIST-valued property without rewriting the whole list.
DM-LM-B is not part of the required BIBB set for the common controller and workstation profiles. Among the standard device profiles, the B-RTR Router profile is the one that requires it. On a Notification Class object, Recipient_List is more often edited with WriteProperty through the alarm-recipient BIBB, which is the path B-BC and B-AAC require. Do not assume a device supports DM-LM-B just because it hosts a list-typed property; check its PICS (Protocol Implementation Conformance Statement).
What It Requires
| Piece | What it does |
|---|---|
AddListElement | Appends one or more elements to a list property without disturbing existing entries |
RemoveListElement | Removes specific elements from a list property, leaving the rest intact |
| All-or-nothing semantics | Either every element in a request succeeds, or none do; a rejected element is identified by its position |
Where You Meet It in the Field
A Router maintaining its own list-typed configuration properties is the standard-profile case for DM-LM-B. More broadly, any device that lets more than one client maintain the same list property, where a full WriteProperty replace would clobber another client’s entries, benefits from this pair of services.
What Chipkin Provides
The CAS BACnet Stack supports DM-LM-B for the common list-property case today. It is not test-tool exercised against the full range of list-typed properties a device might expose. Talk to us about the specific list property you need to manipulate.