HVAC Wiki

All things related to HVAC

User Tools

Site Tools


suppliers:hvac.io:wacnet

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
suppliers:hvac.io:wacnet [2020/10/02 21:58] – old revision restored (2020/09/20 21:01) 192.151.145.178suppliers:hvac.io:wacnet [2020/10/04 02:13] (current) – old revision restored (2020/09/17 18:14) 173.249.2.13
Line 1: Line 1:
 ====== Wacnet ====== ====== 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:
 +
 +<code>
 +java -jar wacnet-standalone-<VERSION>.jar
 +</code>
 +
 +===== 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.
 +
 +<code clojure>
 +(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)
 +</code>
 +
 +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:
 +<code>
 +| :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)
 +</code>
 +
 +<code clojure>
 +(->> (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"))
 +</code>
 +
 +===== API =====
 +
 +Most of the BACnet data visible from Wacnet can be retrieved using the API.
 +
 +{{:suppliers:hvac.io:wacnet:wacnet-api.png?400|}}
 +
  
suppliers/hvac.io/wacnet.1601675925.txt.gz · Last modified: 2020/10/02 21:58 by 192.151.145.178