UNPKG

@widesky/node-bacstack

Version:

The BACnet protocol library written in pure JavaScript.

92 lines (71 loc) 9.56 kB
![Platform Node](http://b.repl.ca/v1/Platform-Node-green.png) ![Contrib BACnet®](http://b.repl.ca/v1/Contrib-BACnet®-green.png) ![NodeJS_Version](http://b.repl.ca/v1/NodeJS-LTS-green.png) [![NPM download](https://img.shields.io/npm/dm/node-bacnet.svg)](http://www.npm-stats.com/~packages/node-bacnet) [![Build Status](https://travis-ci.org/BiancoRoyal/node-bacstack.svg?branch=master)](https://travis-ci.org/BiancoRoyal/node-bacstack) [![Coverage Status](https://coveralls.io/repos/github/BiancoRoyal/node-bacstack/badge.svg?branch=master)](https://coveralls.io/github/BiancoRoyal/node-bacstack?branch=master) [![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/BiancoRoyal/node-bacstack) # node-bacstack [![node-bacnetLogo64](images/bacnet-icon-quad64.png)](https://www.npmjs.com/package/node-bacnet) The BACnet® protocol library written in pure JavaScript. BACnet® is a protocol to interact with building automation devices defined by ASHRAE. ## Usage Add WideSky's node-bacstack to your project by using: ``` sh npm install --save @widesky/node-bacstack ``` The API documentation is available under **[GitHub Page of Docs](https://biancoroyal.github.io/node-bacstack/)**. ### Features The BACnet® standard defines a wide variety of services as part of the specification. While node-bacstack tries to be as complete as possible, following services are already supported at this point in time: | Service | Execute | Handle | |--------------------------------|:--------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------:| | Who Is | [yes](https://biancoroyal.github.io/node-bacstack/bacstack.html#.whoIs) | [yes](https://biancoroyal.github.io/node-bacstack/bacstack.html#.event:whoIs) | | I Am | yes¹ | [yes](https://biancoroyal.github.io/node-bacstack/bacstack.html#.event:iAm) | | Who Has | yes¹ | yes¹ | | I Have | yes¹ | yes¹ | | Time Sync | [yes](https://biancoroyal.github.io/node-bacstack/bacstack.html#.timeSync) | [yes](https://biancoroyal.github.io/node-bacstack/bacstack.html#.event:timeSync) | | UTC Time Sync | [yes](https://biancoroyal.github.io/node-bacstack/bacstack.html#.timeSyncUTC) | [yes](https://biancoroyal.github.io/node-bacstack/bacstack.html#.event:timeSyncUTC) | | Read Property | [yes](https://biancoroyal.github.io/node-bacstack/bacstack.html#.readProperty) | yes¹ | | Read Property Multiple | [yes](https://biancoroyal.github.io/node-bacstack/bacstack.html#.readPropertyMultiple) | yes¹ | | Read Range | yes¹ | yes¹ | | Write Property | [yes](https://biancoroyal.github.io/node-bacstack/bacstack.html#.writeProperty) | yes¹ | | Write Property Multiple | [yes](https://biancoroyal.github.io/node-bacstack/bacstack.html#.writePropertyMultiple) | yes¹ | | Add List Element | yes¹ | yes¹ | | Remove List Element | yes¹ | yes¹ | | Create Object | yes¹ | yes¹ | | Delete Object | yes¹ | yes¹ | | Subscribe COV | yes¹ | yes¹ | | Confirmed COV Notification | yes¹ | yes¹ | | Subscribe Property | yes¹ | yes¹ | | Atomic Read File | yes¹ | yes¹ | | Atomic Write File | yes¹ | yes¹ | | Reinitialize Device | [yes](https://biancoroyal.github.io/node-bacstack/bacstack.html#.reinitializeDevice) | yes¹ | | Device Communication Control | [yes](https://biancoroyal.github.io/node-bacstack/bacstack.html#.deviceCommunicationControl) | yes¹ | | Get Alarm Summary | yes¹ | yes¹ | | Get Event Information | yes¹ | yes¹ | | Get Enrollment Summary | yes¹ | yes¹ | | Acknowledge Alarm | yes¹ | yes¹ | | Confirmed Event Notification | yes¹ | yes¹ | | Unconfirmed Event Notification | yes¹ | yes¹ | | Unconfirmed Private Transfer | yes¹ | yes¹ | | Confirmed Private Transfer | yes¹ | yes¹ | | Register Foreign Device | no | yes¹ | | Distribute Broadcast to Network| no | yes¹ | ¹ Support implemented as Beta (untested, undocumented, breaking interface) ## Contributing This package is based on the work of Fabio Huser and is now community driven. The group is searching for active collaborators to finish that library to become a good piece of Open Source. Implementing and maintaining a protocol stack is a lot of work, therefore any help is appreciated, from creating issues, to contributing documentation, fixing issues, sending pull requests and adding new features. Please follow the [Contribution Guide](CONTRIBUTING.md) when submitting any changes. Ask the active NPM publishers if you need some advice to start your contribution! ## License [The MIT License](http://opensource.org/licenses/MIT) Copyright (c) 2018-2020 Community Driven Copyright (c) 2017-2019 Fabio Huser **Note:** This is not an official product of the BACnet Advocacy Group. BACnet® is a registered trademark of American Society of Heating, Refrigerating and Air-Conditioning Engineers (ASHRAE).