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.

  • Extend from RemoteDevice

    5
    0 Votes
    5 Posts
    2k Views
    A
    Hi guys, its been a while since I opened this thread. I am sorry for my late answer but I was very busy lately.. I have followed the call @terrypacker has mentioned and wanted to let you konw how I implemnted my BACnetDevice class which extends from the RemoteDevice back then. I am sure there is a better way but for me it is working. I guess that there are not many cases in which someone really needs to "extend" from Remotedevice. But... I'll have a closer look in the next weeks cause I'll do a littlebit refactoring in my code, if I can get a better solution I'll post the progress here. Just in case someone needs to know :) So my current implementation: In the constructor of my own class I am forcing to implement the missing properties. public BACnetDevice(LocalDevice localDevice, int instanceNumber, Address address, Segmentation segmentation, int vendorIdentifier,int maxAPDULengthAccepted) { super(localDevice, instanceNumber, address); this.setDeviceProperty(PropertyIdentifier.maxApduLengthAccepted, new UnsignedInteger(maxAPDULengthAccepted)); this.setDeviceProperty(PropertyIdentifier.segmentationSupported, segmentation); this.setDeviceProperty(PropertyIdentifier.vendorIdentifier, new UnsignedInteger(vendorIdentifier)); } By the listener I am fetching the needed properties from the existing instanz @Override public void iAmReceived(RemoteDevice d) { BACnetDevice bacnetDevice = new BACnetDevice(localDevice, d.getInstanceNumber(), d.getAddress(), d.getSegmentationSupported(), d.getVendorIdentifier(), d.getMaxAPDULengthAccepted()); waitingRoomBacnetDevices.put(bacnetDevice.getInstanceNumber(), bacnetDevice); LOG.info("Remote device " + d.getInstanceNumber() + " registered in waiting room of LocalDevice"); }
  • Event Listener For SubscribeCOVRequest

    1
    0 Votes
    1 Posts
    968 Views
    No one has replied
  • 0 Votes
    2 Posts
    1k Views
    K
    Hmm Crickets. I moved on to the Bacnet Stack (C lang) because they have documentation and examples. Got my first WhoIS/Iam working with the BDT, defined the Device Object etc. Sorry BACnet4j didn't work out for me.
  • Simple test app?

    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • Help with basic proof-of-concept

    2
    0 Votes
    2 Posts
    1k Views
    G
    Any suggestions on this? I found out that I was using the wrong device ID, but other wise, I believe the code is correct. However, it still doesn't connect.
  • Not able to do MS/TP communication using BACnet4J

    7
    0 Votes
    7 Posts
    2k Views
    V
    Hey @terrypacker, Please help to resolve the above queries related to BACne MS/TP.
  • RemoteDevice Address Changes

    2
    0 Votes
    2 Posts
    1k Views
    K
    Update: if I request confirmed notifications instead of unconfirmed the simulator does include the correct address. The question still remains, then: should bacnet4j be ignoring the address (or lack of) in unconfirmed COV notifications, or should the simulator be specifying the address in unconfirmed notifications too?
  • Want to understand BACnet4J Security portion

    5
    0 Votes
    5 Posts
    2k Views
    terrypackerT
    @Vihangi thanks for providing more detail unfortunately I have not used those parts of BACnet4J so there isn't much I can do to help.
  • Local Devices, Foreign Registration, Discovery Scenarios

    2
    0 Votes
    2 Posts
    1k Views
    terrypackerT
    How are you setting up the multiple local devices? Here is some sample code I've used before but not thoroughly vetted in terms of a device missing a message. List<InterfaceAddress> usable = BacnetIpUtils.listUsableBACnetInterfaces(); Assume.assumeTrue(usable.size() > 0); InterfaceAddress address = usable.get(0); String bindAddress = address.getAddress().toString().split("/")[1]; String broadcastAddress = address.getBroadcast().toString().split("/")[1]; //Configure the first network, ensure we set reuse address IpNetwork networkOne = new IpNetworkBuilder() .withLocalBindAddress(bindAddress) .withBroadcast(broadcastAddress, address.getNetworkPrefixLength()) .withLocalNetworkNumber(1).withPort(9000).withReuseAddress(true).build(); Transport transportOne = new DefaultTransport(networkOne); LocalDevice localDeviceOne = new LocalDevice(1, transportOne); IpNetwork networkTwo = new IpNetworkBuilder() .withLocalBindAddress(bindAddress) .withBroadcast(broadcastAddress, address.getNetworkPrefixLength()) .withLocalNetworkNumber(1).withPort(9000).withReuseAddress(true).build(); Transport transportTwo = new DefaultTransport(networkTwo); LocalDevice localDeviceTwo = new LocalDevice(2, transportTwo); localDeviceOne.initialize(); localDeviceTwo.initialize();
  • Multiple devices on one transport

    5
    0 Votes
    5 Posts
    2k Views
    K
    @terrypacker said in Multiple devices on one transport: But we also all creating many local devices in case you want to use them in different data sources. I'm not sure what you meant here. If it helps, I really only need a LocalDevice at all because that seems to be what's required by the library for communicating with RemoteDevices. I will be not be populating the shared or multiple LocalDevices with additional objects. My original plan was to have one LocalDevice per network adapter that might be used. For most systems this would mean just one LocalDevice. Is there any reason to have multiple LocalDevices (which I assume requires its own device number each) if I'm not going to be actually exposing any objects? I'm essentially only interested in reading from or writing to other BACnet devices on the network.
  • Runtime Status multible BACnet/IPs

    7
    0 Votes
    7 Posts
    3k Views
    cwangvC
    @ralf it is so nice to have your feedback. That is a very impressive points count. I am glad it works out for you. I would say the SSD definitely helped a lot as well. The spec of your server is not too hard to obtain anyway which is good. Did you use the Windows Service (auto startup) component mentioned in Mango's help instructions? I am curious how you tested it with a second PC before you upgraded the system. I am guessing that you ran both PCs at the same time since all your DSs are IP based. You should write a user-case for the forum 'Stories' section as well. that will be nice.
  • Release "PriorityValue" after "WritePropertyRequest"

    2
    0 Votes
    2 Posts
    2k Views
    A
    I have figured out by myself. You have to send a new WritePropertyRequest on present value but insted of the pv value you have to send a "PriorityValue" with "Null". [image: PYrvlS5.png]
  • missing-required-parameter

    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • Bacnet4j Error Unable to find router to network 50001,20001 soo on

    1
    0 Votes
    1 Posts
    798 Views
    No one has replied
  • 0 Votes
    7 Posts
    2k Views
    K
    Hi Philip, I got the issue, If the local device is bind to other than 0.0.0.0 say for example 192.168.1.133 with the correct broadcast address 192.168.1.255, local device is not responding with I-Am. Local Device expects bind address should be 0.0.0.0. But every time we cannot set 0.0.0,.0 as bind address if we have multiple IP port, and would prefer to bind it one one particular address. After some search, I noticed that same issue has been discussed in detail in the following post: https://forum.infiniteautomation.com/post/23468 However I am not finding the fix for the issue in that thread. In that thread it was mentioned that issue#43 is fix for it. But after understanding the description, fix for issue#43 is not the for for the current issue So please share the fix for the issue mentioned in the above thread. Thanks & Regards, Kishore
  • Network based discovery (Who-Is-Router-To-Network)

    1
    0 Votes
    1 Posts
    937 Views
    No one has replied
  • BACnet/IPV6

    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • Error when writing MultistateObject property stateText

    1
    0 Votes
    1 Posts
    891 Views
    No one has replied
  • Bacnet Event registration

    6
    0 Votes
    6 Posts
    3k Views
    A
    Hi phil Meanwhile I found the "Destination" type in the type package. I could registered the LocalDevcie on my RemoteDevices at the notifications class objects. Now I am goning to try the intrinsic reporting as you said. Many thanks for your hepl!
  • Not able to create local device using port 47809

    9
    0 Votes
    9 Posts
    3k Views
    V
    Still not able to read Log buffer values. Got same Error: ErrorAPDU(errorClass=property, errorCode=invalid-data-type,errorClass=property, errorCode=invalid-data-type) Error: ErrorAPDU(errorClass=property, errorCode=invalid-data-type,errorClass=property, errorCode=invalid-data-type), originalInvokeId=18 Please help me with this.