Coder Social home page Coder Social logo

sdvdxl / bacnet4j Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mangoautomation/bacnet4j

0.0 1.0 0.0 35.39 MB

BACnet/IP stack written in Java. Forked from http://sourceforge.net/projects/bacnet4j/

License: GNU General Public License v3.0

Java 100.00%

bacnet4j's Introduction

BACnet4J

BACnet4J is a pure Java implementation of the BACnet specification. Originally developed for supervisory use, it now includes support for many objects and so may be suitable for embedded use as well. Protocols supported include IPv4, IPv6, and MS/TP. This library supports protocol Version 1 Revision 19.

A discussion forum for this package can be found at http://infiniteautomation.com/forum/category/12/bacnet4j-general-discussion.

A public Maven Repository is now available with the latest builds add this to your pom.xml

<repositories>
    <repository>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <id>ias-snapshots</id>
        <name>Infinite Automation Snapshot Repository</name>
        <url>https://maven.mangoautomation.net/repository/ias-snapshot/</url>
    </repository>
    <repository>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <id>ias-releases</id>
        <name>Infinite Automation Release Repository</name>
        <url>https://maven.mangoautomation.net/repository/ias-release/</url>
    </repository>
</repositories>

The maven coordinates for BACnet4J 5.0+ are

<dependency>
	<groupId>com.infiniteautomation</groupId>
    <artifactId>bacnet4j</artifactId>
    <version>x.x.x</version>
</dependency>

The dependency information is BACnet4J pre 5.0 is:

<dependency>
    <groupId>com.serotonin</groupId>
    <artifactId>bacnet4j</artifactId>
    <version>x.x.x</version>
</dependency>

Releases

Version 6.0.0-SNAPSHOT

  • fix DeviceObjectTest.timeSynchronization test to pass
  • IAmRequest no longer automatically gets the extended device information this must now be done by adding an IAmRequestListener or using DiscoveryUtils.getExtendedDeviceInformation(d1, rd); The extended device info no longer retrieved is:
    • PropertyIdentifier.protocolServicesSupported
    • PropertyIdentifier.objectName
    • PropertyIdentifier.protocolVersion
    • PropertyIdentifier.vendorIdentifier
    • PropertyIdentifier.modelName
    • PropertyIdentifier.maxSegmentsAccepted
  • Only update a cached device's address if the NPCI data has the source specifier flag set
  • Allow overriding the ScheduledExecutorService used by the LocalDevice

Version 5.0.2

  • Relax restriction on reading values that are invalid by only validating values when they are written to our device

Version 5.0.1

  • Fix Door Status values for none=5, closing=6, opening=7, safetyLocked=8 limitedOpened=9

Version 5.0.0

  • Fully BTL Certifiable
  • Support up to 255 segments when sending a request and response
  • Bugfix to allow setReuseAddress to work correctly when using BACnetIP
  • Bugfix to ensure the propertyArrayIndex is correctly returned when reading via callback in RequestUtils
  • Change to Maven Eclipse Project
  • Modify RequestUtil.readProperties() to attempt to request sequenced values if they are too large and would cause a segmentationNotSupported response
  • Modify RequestUtilsreadProperties() to optionally allow returning null values

Version 4.1.7

  • Add support for Relatime MS/TP linux realtime driver to handle token passing timing
  • Change Vendor ID to 865 Infinite Automation Systems, Inc.

Version 4.1.6

  • change http to https in JCenter Bintray repo in pom.xml

Version 4.1.5

  • Reduce PropertyUtils.requestPropertiesFromDevice timeout log message to info as this message can be generated quite often

Version 4.1.4

  • Fix for wrong loop condition on getting id for local device
  • Fixes for reading elements of priority array

Version 3.2.4

  • Fixing bug in SerialPortWrapper where stop bits and data bits were reversed.

*Version 3.2.3

  • Removed restriction on binding LocalDevice to 0.0.0.0
  • Added code to ensure DefaultTransport thread can't die from a bad expire() call
  • Added code to ServiceFutureImpl to allow using timeouts
  • Using timeouts in DefaultTransport for ServiceFutures

Version 3.2 release notes

  • Added BBMD support
  • Much enhanced support for acting as a foreign device
  • Improved test framework

Version 3.0 release notes

  • The ANT build system has been replaced with Gradle
  • Dependencies have been removed. BACnet4J now operates without any external libs
  • Support for IPv6 added
  • Ad hoc test code has begun to be replaced with JUnit tests
  • Blocking request calls have been replaced with non-blocking promises/callbacks
  • Added implementations of many objects, including analog value, binary output, binary value, calendar, multistate value, notification classes, and schedules.
  • Added intrinsic alarming for implemented objects
  • Added COV reporting
  • Many bug fixes and minor enhancements

Version 2.0 release notes

The networking package of this product has been pretty much entirely rewritten to support MS/TP. These changes implied many changes to the LocalDevice public interface, so if you were using version 1.x you will need to port some code to upgrade.

License

This software is licensed under GPL. Commercial licensers can pay an upgrade fee to use this new version (2.x and later) commercially. Please contact Infinite Automation Systems Inc for more information on licensing: https://infiniteautomation.com/bacnet4j-open-source-bacnet-library/

bacnet4j's People

Contributors

frozenlock avatar jazdw avatar joelhaggar avatar juancarlosgl avatar michelseiler avatar mlohbihler avatar pingnote avatar puckfist avatar terrypacker avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.