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

Custom BACnet Control System using Mango Automation

  • Hello Mango's Community,

    I'm creating a BACnet based control system for databases built by a software we built.
    In that "design" software we say which devices are in the system (instance ids, objects identifiers, types, etc..)
    And in the "control" system I want to show the devices and their status and be able to control them.

    I am using MA, I've based my main.js script on the bacnetTest.js file.
    Whenever I get an IAmReceived, I check if it's in the database and add a field to a node with its objects (i.e. d0001_b01 for device_id 1:binary 1)
    And then on the JSP Page, I created a function that inserts the addViewFunction script with the appropriate node and field name.

    The system is now working, but working very slow.
    Writing input to the devices is very slow (writeProperties is a blocking method) and I can't do a lot of commands in a row.
    The polling sometimes fail because of high delay (everything is running sequentialy)
    I'm afraid that bigger configuration will cause the system to not function at all.

    Do you have any other methods I could try to accomplish my goal?
    Or maybe change something about the way I'm inquisting?


  • Hi Eli,

    Some BACnet equipment is just very slow at responding. Are you only communicating with one peer? If not you might try parallelizing your requests by wrapping your calls in functions and running them concurrently.

    Even if you're only talking to one peer, this might still be possible but some hardware i know of will only service a single request at a time, so it may not help.