BACnet is a Data Communications Protocol for Building Automation and Control Networks. It is an ASHRAE, ANSI, and ISO standard protocol
The BACnet protocol provides mechanisms by which computerized equipment of arbitrary function may exchange information, regardless of the particular building service it performs.
As a result, the BACnet protocol may be used by head-end computers, general-purpose direct digital controllers, and application specific or unitary controllers with equal effect.
BACnet became an ASHRAE/ANSI standard in 1995, and an ISO standard in 2003. BACnet is under continuous maintenance by the ASHRAE Standing Standard Project Committee 135.
The BACnet protocol defines a number of services that are used to communicate between building devices. The protocol services include Who-Is, I-Am, Who-Has, I-Have, which are used for Device and Object discovery. Services such as Read-Property and Write-Property are used for data sharing.
The BACnet protocol defines a number of Objects that are acted upon by the services. The objects include Analog Input, Analog Output, Analog Value, Binary Input, Binary Output, Binary Value, Multi-State Input, Multi-State Output, Calendar, Event-Enrollment, File, Notification-Class, Group, Loop, Program, Schedule, Command, and Device.
The BACnet protocol defines a number of data link / physical layers, including ARCNET, Ethernet, BACnet/IP, Point-To-Point over RS-232, Master-Slave/Token-Passing over RS-485, and LonTalk.