BACnet extra properties as Home Assistant entities
Entities show the present value of an object. BACnet objects have many more properties, such as a fan's minimum run time (minimumOnTime, property 67), an alarm limit (highLimit) or outOfService. There are two ways to use them.
Extra properties as entities
For properties you want to see or change from the dashboard, no automation or template is needed. In Configure → Customize objects, tick the object and pick its extra properties. Each becomes its own entity on the device, named after the object and the property (for example Ventilation fan Minimum On Time), and is read with every poll.
| Property | Entity | Objects |
|---|---|---|
| Minimum On Time, Minimum Off Time | number (s) | Binary Output / Value |
| Time Delay | number (s) | analog, binary, multi-state |
| High Limit, Low Limit, Deadband, COV Increment | number (object's unit) | analog |
| Relinquish Default | number (object's unit) | Analog Output / Value |
| Out Of Service | switch | analog, binary, multi-state, Schedule |
| Event State, Reliability | sensor | analog, binary, multi-state (Reliability also Schedule) |
| Change Of State Count | sensor | binary, multi-state |
| Elapsed Active Time | sensor (s) | binary |
Targeting one of these entities with bacnet.write_value or bacnet.read_property uses its property, so property can be left out.
Writable ones (number, switch) are under Configuration on the device page, read-only ones under Diagnostic. A property the object does not have shows as unknown.
Other properties
Under other properties in Customize objects you can type any other property by name (inactiveText) or number, separated by commas. These become read-only sensors, unless the table above lists them for that object type. An unknown name is refused with a message that explains the accepted formats.
Read or write one-off with actions
To read or change a property once, use bacnet.read_property and the property field of bacnet.write_value. The property can be given by name (minimumOnTime or minimum-on-time) or by number (67).
action: bacnet.write_value
target:
entity_id: switch.ahu_1_ventilation_fan
data:
property: minimumOnTime
value: 600
Writes to other properties never carry a priority. Values are sent in the property's own BACnet type. Writing a property other than the present value changes the configuration of the object, so it is only allowed for administrators. Field details: Actions.
Objects you did not import
Pick the BACnet device in the device field instead of a target entity, and add object_type (a name such as analog-value or trend-log, or the number) and instance. This is only allowed for administrators, because it reaches every object on the device.
action: bacnet.read_property
data:
device: 0123456789abcdef0123456789abcdef
object_type: analog-value
instance: 12
property: highLimit
response_variable: result
The device value is the Home Assistant device ID of the BACnet device; the device picker in the action editor fills it in for you.