• Recent
    • Tags
    • Popular
    • Register
    • Login

    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.

    Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website Mango 5 Documentation Website

    Getting an Object List and Values

    BACnet4J general discussion
    2
    5
    2.7k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      soulhunt79
      last edited by

      Hopefully this is a quick fix and I'm just missing something really obvious. I'm using some of the sample code in the test files and getting time outs while trying to get data. Code is below.

      I have tried different values for the OID. When I try "0" it comes back immediately as null which is accurate. The spec sheet is saying AV1-AV145 and BV1-BV36 is valid.

      
      ObjectIdentifier oidtest = new ObjectIdentifier(ObjectType.analogValue, 3);
      PropertyReferences refstest = new PropertyReferences();
      refstest.add(oidtest, PropertyIdentifier.all);
      PropertyValues pvstest = localDevice.readProperties(d, refstest);
      for (ObjectPropertyReference opr : pvstest)
           System.out.println(pvstest.getNoErrorCheck(opr));
      
      

      Second issue is on the object list.

      I have tried the code below. It doesn't work on my device because it doens't support segmentation. Are there some other functions that I could replace here?

      
      
      
      List<ObjectIdentifier> oids = ((SequenceOf<ObjectIdentifier>) localDevice.sendReadPropertyAllowNull(d, d.getObjectIdentifier(), PropertyIdentifier.objectList)).getValues();
      
      
      

      Thanks

      1 Reply Last reply Reply Quote 0
      • M
        mlohbihler
        last edited by

        For the first issue, i suggest trying a different property than "all", such as "presentValue". It might be that the response for all properties is too big, and the equipments doesn't bother responding or something.

        BACnet4J has quite robust code for handling equipment with severe limitations. When a request is made for, say, all properties, the fastest way to get the data is first attempted. If this fails, it then tries subsequently slower more generally more supported means. Finally, it might resort to asking for individual properties or even individual sequence elements.

        This all depends upon the equipment responding properly to failures though. If your devices simply don't respond to requests they don't like, that's not very helpful.

        Best regards,
        Matthew

        1 Reply Last reply Reply Quote 0
        • S
          soulhunt79
          last edited by

          Thank you very much, that solved it.

          I still would like to get a list of object from the device if anyone has any ideas on that. At least not I'm getting data though so that is 95% of the way there. :)

          1 Reply Last reply Reply Quote 0
          • M
            mlohbihler
            last edited by

            Too easy. If you can't just ask for the object list (see LocalDevice.sendReadPropertyAllowNull), you can always ask for the length of the object list (element 0), and then individually request each element.

            Best regards,
            Matthew

            1 Reply Last reply Reply Quote 0
            • First post
              Last post