BACnet web services
BACnet web services, also known as BACnet/WS, is a RESTful API to the BACnet system. It is implemented in accordance with the BACnet standard (ANSI/ASHRAE Standard 135-2016, ANNEX W - BACnet/WS RESTful WEB SERVICES INTERFACE (NORMATIVE)).
The BACnet/WS are part of the DINGO-Stack and can be browsed in a browser.
Example: Lets say that the IP of the DINGO device is 192.168.1.100, then the web services can be browsed by entering this address into a browser: http://192.168.1.100/bacnetws
The REST API uses the HTTP methods POST, GET, PUT and DELETE to map CRUD (create, retrieve, update, delete) operations respectively to HTTP requests.
The "root" of the DINGO-Stack BACnet web-services contains data items defined by the BACnet standard, but also proprietary data items.
Some of the data items have a truncated="True" attribute. This means that the data item can contain children, but they are not loaded for performance reasons. To see the children, the user has to visit the data item, by appending it to the path in the browsers address-bar.
The data items are summarized in the following table.
Path |
Description |
---|---|
Contains fixed information about the DINGO device. |
|
Contains information about the configuration of the DINGO device and queriable lists of things of interest. |
|
Contains information for secure communications and authorization. |
|
Contains a list of all the definitions that the DINGO device has been configured to contain. |
|
Contains the modelling of the BACnet system. This is where the user can browse the BACnet devices and objects on the local network. |
|
Contains information about subscriptions (COV, change-of-value). Could be relevant if working with Node-RED. |
|
/apps | Proprietary modelling of apps in the DINGO-Stack. |
/bacnet-configs | Proprietary modelling of BACnet configuration in the DINGO-Stack. |
/dingo-system | Proprietary modelling of various features in the DINGO-Stack. |
/networking | Proprietary modelling of network configuration in the DINGO-Stack. |
/ntp | Proprietary modelling of date time configuration in the DINGO-Stack. |
/owfs | Proprietary modelling of the 1-wire system in the DINGO-Stack. |
/peripherals | Proprietary modelling of peripheral configuration in the DINGO-Stack. |
The BACnet/WS is presented in XML format by default. It can also be presented in JSON format, by using the "?alt=json" query.
If the data item is primitive like "String" or "Unsigned", it can be presented in plain format ("?alt=plain").