• S
    ssimm

    Anyone have an answer to my last question above?
    Thanks for the help.

    posted in BACnet4J general discussion read more
  • S
    ssimm

    Hello again...
    Further investigation reveals that I can get WhoIs to work without a BBMD but the local object emitting the whois (i.e. the client) and the object I'm looking for (the server) both have to be bound to the default BACNet UDP port, 0xBAC0 (47808). (on separate machines, of course) If either of them is not the WhoIs/IAm cycle fails.

    Is this port limitation part of the BACNet specification? Or is it just the way bacnet4j was written? I can't find any confirmation either way.

    Thanks, much obliged.

    posted in BACnet4J general discussion read more
  • S
    ssimm

    Ah, so simple. Facepalm moment for me.
    Thanks for the tip!

    posted in BACnet4J general discussion read more
  • S
    ssimm

    I'm using Bacnet/IP:

    IpNetwork network = new IpNetworkBuilder().broadcastIp(broadcastIPString).localBindAddress(ipAddressString).port(port).subnetMask(subnetMaskString).build();
    DefaultTransport transport = new DefaultTransport(network);
    LocalDevice localDevice = new LocalDevice(deviceID, transport);

    posted in BACnet4J general discussion read more
  • S
    ssimm

    Hello, I'm using bacnet4j v3.2.4. I have a Windows PC and a Raspberry Pi on the same IP subnet (same mask/broadcast)
    I've been using examples posted in previous e-mails and I can manipulate my "devices"directly without difficulty when I address them by their ID, but I cannot get WhoIs to function. It runs but doesn' t find anything. I added a println in WhoIsRequest.handle() to show when a device gets a whois request.

    However, if I use one of my devices as a BBMD (aka router?) and all devices register with this BBMD then WhoIs does work (the println says it comes from network 0 and the IP address and port number of the client that sent the WhoIs).

    Looking at previous code examples I get the impression that it is not necessary to have a BBMD. But all these examples are dated. Do I need a BBMD or am I doing something wrong? Or... something else?

    (If the latter I'll post some code).
    Thanks, much obliged.

    posted in BACnet4J general discussion read more
  • S
    ssimm

    I like that answer even better.

    So, three questions (I'm using the bacnet4j library v3.2.4)
    Here is my initialization of a localObject:
    IpNetwork network = new IpNetworkBuilder().broadcastIp(broadcastIPString).localBindAddress(ipAddressString).port(port).subnetMask(subnetMaskString).build();
    DefaultTransport transport = new DefaultTransport(network);
    LocalDevice localDevice = new LocalDevice(deviceID, transport);

    1.Am I using MS/TP or BACNet/IP?
    2.Given an artibrary localDevice, how you do tell which of these two it is using?
    3.Whichever I'm using above, how do I initalize my localObject with the other protocol? (e.g. if the above is MS/TP, how do I change it to use BACNet/IP)?

    Thanks, much obliged.

    posted in BACnet4J general discussion read more
  • S
    ssimm

    bacnet-stack-0.8.3 is Steve Karg's C implementation of the BACNet protocol, if I'm not mistaken. It uses BACNET/IP as the transport layer and bacnet4j uses MS/TP as the transport layer. That might be why one doesn't see the other. I have both too and would also like to see them working together.

    posted in BACnet4J general discussion read more