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 support@radixiot.com.

  • Want to know intrinsic and algorithmic reporting using BACnet4J

    2
    0 Votes
    2 Posts
    1k Views
    phildunlapP
    Hi Vihangi, I have not tried this myself, but, Just as you see the properties being set and added in methods on objects with the supportIntrinsicReporting method, so too you would write those properties on the remote device, as well as writing the object's notification class property to the number of the notification class object on the device. The notification class object defines where to report the event or fault to.
  • BACnet4j 5.0.0 build error

    1
    0 Votes
    1 Posts
    968 Views
    No one has replied
  • Pulling data to Mango via BACnet from another network

    5
    0 Votes
    5 Posts
    2k Views
    phildunlapP
    Hi sky_watcher, @cwangv is correct that Mango does not expose options to operate as a BBMD, and you did say it's a MangoES so that applies. But this is the BACnet4J section of the forum, so I must mention there is code to do this in BACnet4J. Notice the bbmdEnabled variable in LocalDevice,
  • How to solve the unrecognized service problem

    2
    0 Votes
    2 Posts
    1k Views
    K
    Please set the protocol services supported property of device object accordingly. This property is string of bits, setting 1 in any position indicates that the service in the corresponding position is supported.
  • Present_Value and other proeprties are not writeable

    1
    0 Votes
    1 Posts
    826 Views
    No one has replied
  • localDate, localTime and utcOffset

    5
    0 Votes
    5 Posts
    2k Views
    K
    Hi phildunlap, Based on your suggestion I did debugging. UTC_Offset is getting updated when localDevice.writePropertyInternal(pid, value) during the initialize time. ;. After the analysis, I noticed that at 622nd line in BACnetObject.java ( l.propertyChange(pid, oldValue,, value) the value is right;y updated. But when from 3rd property client ReadProprty (Device Object. UTC_Offset) is sent, the local device is returning the value of the timeZone and not with set value of UTC_Offset.. I could not debug using break point when asked from external device.with ReadProperty or other services. Please guide me where to set the break point, which will help me to debug and furnish you with more information. Further I believe there is error in the value of UTC_Offset as per the time zone. For example if the time zone is - 7 hours, then the value of the UTC_Offset should be +420 and not -420. This is because as per BACnet local date / time is calculated based on the formula (GMT - UTC offset). So in the above example if UTC_Offset is -420 for - 7 hours. then the actual time would be if GMT equals 0;00 hours, 0 - (-420) equals 0 + 420 which means + 7 hours. and is wrong. Thanks, Kishore
  • Can we create a dummy BACnet point on a bacnet controller.

    2
    0 Votes
    2 Posts
    1k Views
    phildunlapP
    Hi vijay, It is not clear to me what you mean by 'BACnet point' . BACnet4J by itself doesn't refer to things as points, they are objects with properties. Can you clarify your question? It sounds like maybe you're trying to use BACnet4J to modify the available objects on the other device?
  • LocalDevice.initialize() throws exception

    5
    0 Votes
    5 Posts
    2k Views
    K
    Yes, you are right. somehow port is blocked. After killing the process and the running the app, initialize() command was executed successfully. Thanks. Regards, Kishore
  • How do two devices that are not on the same LAN communicate

    12
    0 Votes
    12 Posts
    4k Views
    phildunlapP
    Purely as a BACnet4J question, I would suspect you could add the remote device to the LocalDevice's remoteDeviceCache manually, though this means you are working around a failure to comply with the BACnet spec in doing so, so there may be other problems down the road to solve.
  • Reaching out for a Commercial license of BACnet4J

    3
    0 Votes
    3 Posts
    1k Views
    S
    @phildunlap Awesome. Thanks a lot Phillip!
  • How do I get all objects from RemoteDevice

    3
    0 Votes
    3 Posts
    1k Views
    M
    Thank you very much
  • Is Mango's implementation of BACnet4J open source?

    3
    0 Votes
    3 Posts
    1k Views
    P
    I apologize for misspelling the project name. At any rate, thank you for the quick response and keep up the good work.
  • The test tool could not find the device instantiated by Java

    2
    0 Votes
    2 Posts
    1k Views
    phildunlapP
    Hi mmmoczj, Surely there is more to your test? This seems to me like the process would exit before any responses would have had a chance to respond. Assuming the issue isn't your program exiting after the all to initialize the LocalDevice (which send a WhoIS but does not pause the thread that called it to listen for some amount of time for responses, that's handled by another thread elsewhere), then I would guess you may want to try other possible addresses, such as a broadcast of 255.255.255.255 with a bind address of 0.0.0.0 Also if you call initialize without having a device object added to the local device, it will do some scanning and try to assign itself a number. You can see what the initialize method does here, although what is shown on the main branch may or may not be what you are working with: https://github.com/infiniteautomation/BACnet4J/blob/master/src/main/java/com/serotonin/bacnet4j/LocalDevice.java#L312
  • Who can give me a simple server-side code example

    6
    0 Votes
    6 Posts
    2k Views
    M
    @terrypacker Thank you for your help, but I want to get RemoteDevice through IP. There is no such function in those files.I wanted to get the device that way, but this is the old version, RemoteDevice d = localDevice.findRemoteDevice( new Address(0, IpNetworkUtils.toOctetString("192.168.33.53:8099")), 10086);
  • Proper response for ReadPropertyMultiple, PID=all

    2
    0 Votes
    2 Posts
    1k Views
    terrypackerT
    @carnecro I've never actually attempted to do this but from looking at the code it would seem that the returned list of properties for an all request is built from the properties that are added in the ObjectProperties class. The list for an AnalogObjectValue is created on roughly line 706. I would think that if you were to manually add your proprietary properties to this map when you initialize your AnalogValueObject then they will be returned in a request for all properties. So this code, executed once will likely solve your problem: boolean required = true; //If property is required PropertyIdentifier yourCustomPropertyId = new PropertyIdentifier(492); com.serotonin.bacnet4j.obj.ObjectProperties.add(ObjectType.analogValue, yourCustomPropertyId, YourCustomPropertyClass.class, required); Also as a side note I've dealt with some hardware BACnet devices that don't let you read the PropertyIdentifier.all(#8) which has forced us to not be able to rely on that type of request.
  • How to disable bacnet4j logger?

    3
    0 Votes
    3 Posts
    2k Views
    terrypackerT
    Actually BACnet4J uses Simple Logging Facade for Java (SLF4J) https://www.slf4j.org. In Mango we use the Log4J binding and configure BACnet4Js logging via Log4J. However if you are only using BACnet4J with no additional logging library you can configure the SLF4J loggers by including a binding. Some bindings require configuration but if you just want to discard all logging messages place the NOP binding on your class path. See this link https://www.slf4j.org/manual.html#swapping for the various bindings you can choose, all you need to do then is put 1 of these bindings on your class path and configure it if the binding requires it.
  • sample client code

    Moved
    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • LocalBindAddress not working

    5
    0 Votes
    5 Posts
    2k Views
    phildunlapP
    Thanks for sharing what you found. It's possible in the latest Mango and BACnet4J to have multiple local devices bind the 0.0.0.0 address for port 47808 and then have unique device IDs (and BBMDs to make it make sense). Let us know what you come up with for using particular addresses!
  • Can't read local device

    4
    0 Votes
    4 Posts
    2k Views
    phildunlapP
    Ah, yes, you wouldn't be able to bind the same port on the same machine in both applications. Thanks for sharing the resolution!
  • Is LocalDevice.send thread-safe?

    4
    0 Votes
    4 Posts
    2k Views
    M
    Hi Phill, Which is the current production release for Bacnet4j which I can upgrade to? 4.1.6? Thanks and appreciate your support. Manoj