Read BACnet trend logs in Home Assistant
Controllers log values in Trend Log objects, so changes between two polls are not lost. A Trend Log keeps a buffer of records, each with a time and a value.
Trend Log sensors
Trend Logs show up in the object list of the setup wizard and of Rescan device. Once imported, each becomes a sensor with the number of records it holds. The attribute bacnet_log_enabled tells whether the log is currently logging.
Read the records
bacnet.read_trend_log reads the records with the BACnet ReadRange service.
| Field | Meaning |
|---|---|
| target | A Trend Log sensor |
device and instance | Instead of a target: the BACnet device and the instance number of the Trend Log, for a Trend Log you did not import (administrators only) |
start | Optional. Records from this time on. Without it, the most recent records. |
count | Maximum number of records, 1 to 1000 (default 100) |
action: bacnet.read_trend_log
target:
entity_id: sensor.ahu_1_supply_temperature_log
data:
start: "{{ now() - timedelta(hours=24) }}"
count: 500
response_variable: trend
The response looks like this, oldest first:
{
"sensor.ahu_1_supply_temperature_log": {
"instance": 4,
"records": [{"time": "2026-10-19T10:00:00", "value": 21.5}]
}
}
Only records with a time and a value are returned. Log-status changes, time changes, failures and buffer-cleared markers are left out. Times are the local time of the controller, without a time zone.
See Actions for the field reference.