OpenMUC BACnet/IP communication driver based on bacnet4J. The project is licensed under GPLv3.
This project contains a communication driver for Fraunhofer's OpenMUC framework (see www.openmuc.org) that allows to communicate with BACnet communication networks. BACnet is a communication protocol mainly used in the building automation domain, specified by the American Society of Heating, Refrigerating and Air-Conditioning Engineers (ASHRAE), see www.bacnet.org for details.
The driver is based on (uses internally) the bacnet4J library version 3.2.3, which is hosted at https://github.com/infiniteautomation/BACnet4J. The wiki of this project contains some examples for using the bacnet4J library.
The driver covers the following BACnet interoperability building blocks:
For further information see the project's wiki.
The driver is configurable via the channels.xml
file. An example snippet for BACnet object server is shown here and explained in detail in the wiki.
<driver id="bacnet">
<device id="localserver">
<deviceAddress>12345</deviceAddress>
<settings>devicePort=0xBAC0;broadcastIP=172.16.162.255;isServer=true</settings>
<connectRetryInterval>5m</connectRetryInterval>
<channel id="FloatWert1">
<channelAddress>L'Float1</channelAddress>
<listening>true</listening>
<unit>analogValue;degreesCelsius</unit>
</channel>
<channel id="FloatWert2">
<channelAddress>L'Float2</channelAddress>
<listening>true</listening>
<unit>analogValue;degreesCelsius</unit>
</channel>
<channel id="BoolWert1">
<channelAddress>L'Bool1</channelAddress>
<unit>binaryValue;noUnits</unit>
</channel>
<channel id="BoolWert1_OOS">
<channelAddress>L'Bool1#outOfService</channelAddress>
</channel>
<channel id="MultistateWert1">
<channelAddress>L'Multistate1</channelAddress>
<unit>multiStateValue;noUnits;off,nt,ht</unit>
<description>Betriebsmodus (0=Off/1=NT/2=HT)</description>
</channel>
</device>
</driver>