BACnet4j2 Integration for Device Communication

Job ID: 38544442

Budget: $30 – $250 SGD

I'm seeking a skilled developer to implement the latest bacnet4j2 library into my project. The primary requirement is to enable seamless communication with various BACnet devices, including controllers, sensors, and gateways.

Key Responsibilities:
- Implement the latest bacnet4j2 library for communication with BACnet devices.
- Ensure compatibility with communication methods including IP, MSTP, and Ethernet.
- Optimize the system for interaction with diverse BACnet devices such as controllers, sensors, and gateways.

Ideal Skills:
- Proficiency in Java programming language.
- In-depth understanding of BACnet protocol and devices.
- Experience with the bacnet4j2 library.
- Familiarity with communication methods: IP, MSTP, and Ethernet.
- Strong problem-solving skills and attention to detail.

More Details: Read below:
1. BACnet Device Discovery:
User will input this data: instancenunmber- ip address: udp port
Example: 500231-10.x.x.x:47808
2. Adhoc Logging Based on Interval:
o The system will implement logging of BACnet objects (e.g., temperature, CO2 levels) at specified intervals.
o A configurable interval parameter will allow users to set the logging frequency.
o Data collected during logging should be stored in a structured format (e.g., CSV, database) and tagged with timestamps for later analysis.
3. Adhoc-Based Point ID Reading:
o The system will allow users to query specific point IDs (BACnet object properties) on demand.
Example: Device instance - Device ip address - UDP port - Point ID- point type

o This feature will enable manual or programmatic requests for reading properties like present values of specific objects (e.g., temperature, humidity).
o The system should also include error handling to manage cases where point IDs are unavailable or inaccessible.
4. BACnet COV (Change of Value) Reading and Subscription:
o The system will support BACnet COV reading and subscription to efficiently monitor real-time changes in device properties.
o Users will be able to subscribe to specific BACnet points, receiving notifications whenever the value of the subscribed object changes.
o This will help reduce network traffic compared to polling methods by only sending data when changes occur.
o The system will manage COV subscriptions dynamically and support both device-initiated and client-initiated subscriptions.
5. BACnet Auto Discovery:
There should be function to auto discover all device in local network
o The system must be able to discover BACnet devices available on the local network.
o This discovery process should identify all devices, along with their respective Object Identifiers (Device IDs), network addresses, and supported objects.
o The discovery mechanism will trigger periodically or on-demand and should handle both known and unknown devices in the network.
6. Readpropertymultiple
Not only present value, should have function to read multiple points


7. Subscription:
When I subscribe for point, it should also show point faulty or not.