Wacnet

Logo :

Wacnet is a BACnet explorer, webserver, and toolkit.

It works with all BACnet/IP networks and doesn't require any installation.

It is used by hundreds of professionals in the field.

Requirements

  • Java 8
  • BACnet/IP network

Running the Software

Wacnet can be started by double-clicking on the .jar file, or by using this command:

java -jar wacnet-standalone-<VERSION>.jar

Source

Wacnet is open source software under the GPLv3.

The source can be found at this link: https://github.com/Frozenlock/wacnet

Scripts

The REPL can be used to send custom commands on the network. Here are a few examples and custom scripts.

Check the bacure documentation to see the functions that are available to you.

Find devices

Send WhoIs broadcast for a single device at a time. Use this if you can't seem to get a response from every device on your network.

(defn find-devices
  "For the entire IDs range, send WhoIs broadcasts with a single
  device as a target. Useful to get an answer from particular devices
  when the network is congested." 
  [start-id end-id]
  (let [ids (range start-id (inc end-id))]
    (doseq [id ids]
      (find-remote-device id)
      (Thread/sleep 200))))
      ;; example to find devices 100 to 200 : (find-devices 100 200)

See the associated blog post.

Network Profiling / Devices Inventory

This script will export a text file of the following form:

| :vendor-name             | :object-name                            | :model-name                      | :object-identifier |
|--------------------------+-----------------------------------------+----------------------------------+--------------------|
| ABB                      | DRIVE_U1_V_ALI                          | ACH550                           | [:device 50401]    |
| ABB                      | DRIVE_U1_V_RET                          | ACH550                           | [:device 50402]    |
| ABB                      | UV01_DRIVE_ALIM                         | ACH550                           | [:device 110201]   |
| ABB                      | UV01_DRIVE_RET                          | ACH550                           | [:device 110202]   |
| TELEMECANIQUE            | ATV 61                                  | ATV61HD15Y                       | [:device 110004]   |
| TELEMECANIQUE            | ATV 61                                  | ATV61HD15Y                       | [:device 110005]   |
| CARRIER                  | CHILLER                                 | BACnet Local Equipment Interface | [:device 50300]    |
| Delta Controls           | UV20                                    | DAC_1180                         | [:device 10301]    |
| Delta Controls           | AC25                                    | DAC_1180                         | [:device 10401]    |
...
(about a hundred more)
(->> (pmap #(try (remote-object-properties % [:device %] [:model-name :object-name :vendor-name])
                 (catch Exception e))
           (remote-devices))
     (apply concat)
     ((fn [x] (with-out-str (print-table x))))
     (spit "network-profile.txt"))

API

Most of the BACnet data visible from Wacnet can be retrieved using the API.

Navigation

Home

Print/export