Wacnet
BACnet webserver and toolkit
Last version: 2.1.4
We send update info. You can unsubscribe at any time.

We are charmed by the possibilities it offers and also see many applications in our line of business.

Mike Groot, Control Systems Engineer at Schouten Techniek

Thank you very much for this application, I find it very useful and use it every day.

Adam Fecteau, Technical support engineer at ALDES Canada

A colleague and I are using this from time to time to seek out devices while integrating systems. It's lightweight and helpful for BACnet forensics.

Matt Schwartz, PE - Senior associate at Altura Associates

About

Wacnet is a BACnet webserver and toolkit.

It can be started immediately without any installation, provided you have Java (min 1.8) installed on your machine.

You can browse a BACnet network using the Explorer, send commands on the network using the REPL or the web API, and record historical data with the help of Vigilia.

Wacnet is open source and comes with absolutely no warranty, like specified in the GPLv3 licence. The source is available here.

explorer.png

Rationale

The purpose of BACnet is to provide interoperability between devices from multiple manufacturers.

The idea is that if all devices speak the same language, no one will be 'trapped' with a proprietary protocol and being forced into always buying at the same place.

This common language also has other advantages, such as making it easy to gather data and make advanced analysis. Simply checking the historical data plotted on a graph is enough to find and solve most problem.

However, despite all BACnet's promises, the landscape is still mostly occupied by a handful of manufacturers.

In addition, BACnet is pitched as an 'open protocol', but the standards need to be ordered; even bacnet.org doesn't provide a link to download the specs. This isn't making it easy for newcomers. Want to see and try BACnet? Well, send us money and we'll send you a boring pdf, and maybe, maybe you will stick with us.

For the developers, there's some highly cryptic applications that will provide some support, but for the newcomer that's simply counterproductive to even try them.

This results in an horrible situations for the users. Building managers are often clueless as to what to do with a BACnet network. They don't know what's in it, nor do they know how to browse it. (Of course manufacturers will offer their own software… for a price.) There's nothing wrong with selling software, but for such a basic need, browsing the network, a free software should be available. It's like comparing Notepad and Word. Sure, sell Word, but the user should at least be able to write basic stuff in notepad.

Wacnet is a humble try to ameliorate the situation. By enabling an easy and almost instantaneous setup, anyone can at least see what's on the network. Newcomers can explore the different properties and learn them.

Usage

Getting the application

If you know Clojure, download the source and do lein uberjar.

If you do not, download the pre-packaged version at the top of this page.

Running the application

No installation necessary and can run from a USB key!

The standalone jar file can be started on any computer with Java installed. We recommend starting it from the command line as such:

 java -jar <filename> 

For example:

 java -jar wacnet-2.0.2-standalone.jar 

You can of course start it by simply double-clicking on the .jar file.

Once the application is started, go to http://localhost:47800/ and browse your network!

Advanced

REPL

The REPL is an interactive evaluation environment to enable power users to use tools tailored to their needs. If a feature is lacking, it's even possible to add it on-the-fly!

REPL.png

For a better experience, it is strongly suggested to connect to the REPL on the port 47999 instead of relying on the webpage.

One way to connect the REPL is to use Emacs with CIDER on port 47999.

Make sure you check the examples on the REPL page to get a glimpse of what is possible. Also take a look at the bacure documentation to learn the BACnet-related commands.

API

The API gives you access to the BACnet network without having to learn complex programming languages.

You're using Excel? HTML? A simple Python script? It doesn't matter, the API can immediately be used with your favorite environment.

The API also has a Swagger interface describing the purpose of each endpoints, in addition to giving you the opportunity to try them directly in your browser.

API.png

Data logging (Vigilia)

Wacnet comes with a logger enabling it to scan the BACnet network at regular intervals and send the data back to a remote server. Please see this guide to start logging your network.

Warnings

Wacnet will usually try to discard most of the communication errors. For deep analysis, it's suggested to use Wacnet in combination of Wireshark: Send command manually with Wacnet and check the errors with Wireshark.

License

GNU General Public License version 3.0 (GPLv3)

BACnet
Compatible OS