A BACnet® protocol stack written in pure TypeScript from contributors and maintained by Innovation-System. BACnet® is a protocol to interact with building automation devices defined by ASHRAE.
Run the following command npm install @bacnet-js/client
Documentation is available here.
Examples are available here
The BACnet standard defines a wide variety of services as part of it's
specification. While @bacnet-js/client
tries to be as complete as possible,
following services are already supported at this point in time:
Service | Execute | Handle |
---|---|---|
Who Is | yes | yes |
I Am | yes¹ | yes |
Who Has | yes¹ | yes¹ |
I Have | yes¹ | yes¹ |
Time Sync | yes | yes |
UTC Time Sync | yes | yes |
Read Property | yes | yes¹ |
Read Property Multiple | yes | yes¹ |
Read Range | yes | yes¹ |
Write Property | yes | yes¹ |
Write Property Multiple | yes | yes¹ |
Add List Element | yes¹ | yes¹ |
Remove List Element | yes¹ | yes¹ |
Create Object | yes¹ | yes¹ |
Delete Object | yes | yes¹ |
Subscribe COV | yes | yes¹ |
Subscribe Property | yes | yes¹ |
Atomic Read File | yes | yes¹ |
Atomic Write File | yes | yes¹ |
Reinitialize Device | yes | yes¹ |
Device Communication Control | yes | 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¹ |
¹ Support implemented as Beta (untested, undocumented, breaking interface) ² Deprecated BACnet® function, available for backwards compatibility
Special thanks to Fabio Huser for the fundamental work.
MIT
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). We're buying the specifications of ASHARE to programm for this library.