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.

FieldMeaning
targetA Trend Log sensor
device and instanceInstead of a target: the BACnet device and the instance number of the Trend Log, for a Trend Log you did not import (administrators only)
startOptional. Records from this time on. Without it, the most recent records.
countMaximum 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.