Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to

Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website

BACnet4J does not appear to support using NPCI to write to a device with a Virtual MAC address

  • Hi,

    I'm trying to send BACnet commands through a Siemens Insight Server to a device with a VMAC address. The device is discoverable with a BACnet browser. Also, BACnet commands work fine with the device using VTS by specifying the VMAC address on the NPCI tab for reading and writing properties.. Unfortunately, I cannot access the device at all using its VMAC address from a Java program using BACnet4J.

    Perusing the BACnet4J code, I came across the following:


    • Network layer protocol control information. This class currently only implements the reading of information.
    • @author mlohbihler
      public class NPCI {

    Looking at the BACnet4J code further, it appears that the BBMD functionality in BACnet4J knows how to read a message containing a VMAC for the purpose of forwarding it on (as it's required to do) but, as the comment above indicates, it has no mechanism for writing to a device with a VMAC address.

    Does anyone know if there is a way to write to a device with a VMAC address using BACnet4J?

    Devices with VMAC addresses appear to be fairly common in large BACnet installations due to the existence a large amount of legacy non-BACnet equipment. Surely BACnet4J must have some means off handling these sorts of installations.