====== Wacnet ====== {{ :suppliers:hvac.io:wacnet:wacnet-explorer.png?400}} Logo : {{:suppliers:hvac.io:wacnet:wacnet-logo.png?150|}} [[https://hvac.io/docs/wacnet|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-.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 [[http://frozenlock.github.io/bacure/index.html|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 [[http://blog.hvac.io/2015/01/11/network-discovery-with-devices-ignoring-whois/|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. {{:suppliers:hvac.io:wacnet:wacnet-api.png?400|}}