# BACnet/IP

Boiler room and building systems over BACnet/IP right in the chat

Объекты контроллера здания или котельной по BACnet/IP через назначенный шлюз, только чтение

## How the agent works with BACnet/IP

Data is collected on site by the gateway: a service installed on a computer in the site network that sends data out over an outgoing connection only. The connection takes the controller address, such as udp://10.0.5.20:47808, and is assigned to a gateway on the Gateways tab. The BACnet device instance can be left empty: the controller names it itself.

With an empty tag list the gateway reads the controller's Object_List and makes a tag of every value object, named by its Object_Name with units from Units. Each tag reads Status_Flags and Reliability beside its value: a fault or a nonzero Reliability makes the value bad, and an object out of service is marked uncertain. Requests go in ReadPropertyMultiple batches, and a device that does not support them is read one property at a time.

The connection only reads. The gateway sends no WriteProperty and no prioritized commands: the agent cannot change a setpoint or a pump's mode through it. The priority array and a binary object's relinquish default can be read as tags when you need to see what is commanding a point.

The gateway polls the controller at the set interval, once a second by default, sends a value when it changes (beyond the deadband, if one is set) and repeats a silent tag every 30 minutes. History is kept in the store and read for any period; when the link to the cloud drops, data waits on the gateway's disk and arrives once the link is back.

## Integration scenarios

### Boiler room temperatures
The agent reads supply, return and room temperatures with the units the controller itself names, and compares them with the setpoints.

### Pumps, fans and valves
The agent shows which pumps and fans are running now, what state the multi-state objects are in and what has changed since the morning.

### Faulty points
The agent finds the points the controller marks as faulty, unreliable or out of service, and names them by their object names.

### How the night went
The agent pulls the value history for the night or the week and shows when a temperature left its range and for how long.

### Controller inventory
Without a tag list the agent sees every value object of the controller: analog, binary, multi-state and counters, with their names and units.

### Threshold task
The agent sets up an event task: for example, the supply temperature below a threshold for more than ten minutes. The task fires when the condition starts and when it clears.

## How to connect

**Before you connect**

- A controller or router with BACnet/IP
- A computer in the site network running the gateway service
- Access from that computer to the controller over UDP, port 47808 by default
- For MS/TP devices: the network number behind the router and the device's MAC

### Find the controller's IP address
You need the address of the BACnet/IP controller or of the BACnet router in front of it. The gateway sends its requests straight there, to UDP port 47808 by default.

### Open UDP 47808 to the controller
The gateway computer has to reach the controller over UDP and get its answer back. A firewall between them lets this exchange through both ways.

### For MS/TP, note the network and MAC
If the device sits on an MS/TP line behind a BACnet router, enter the router's address, the network number behind it and the device's MAC there, always together.

### Leave the building system's port free
If a building management system already uses 47808 on the gateway computer, keep the gateway's UDP port at 0. Set 47808 only if the device answers to that port.

## FAQ

### How do I connect BACnet/IP?
Install the gateway service on a computer in the site network and add it on the Gateways tab. In the connection enter the controller address, for example udp://10.0.5.20:47808, and assign the connection to that gateway. The tag list can stay empty: the gateway reads the controller's objects itself.

### What does the agent see in BACnet/IP?
The controller's analog, binary and multi-state inputs, outputs and values, counters, integer and text values, their names and units, value quality from Status_Flags and Reliability, and the value history.

### Can the agent change a setpoint or start a pump?
No. The connection only reads: the gateway sends no property writes and no prioritized commands, so values and modes in the controller stay as you or the building management system set them.

### The device is on an MS/TP line. How is it reached?
Through a BACnet router: enter the router's address in the connection, and in the advanced fields the network number behind it and the device's MAC on that network (one byte for an MS/TP station, for example 05). Both fields are filled only together.
