RuleGo RuleGo
🏠Home
  • Quick Start
  • Rule Chain
  • Standard Components
  • Extension Components
  • Custom Components
  • Visualization
  • RuleGo-Server
  • AOP
  • Trigger
  • Advanced Topics
  • Performance
  • Standard Components
  • Extension Components
  • Custom Components
  • Components Marketplace
  • Overview
  • Quick Start
  • Routing
  • DSL
  • API
  • Options
  • Components
🔥Editor (opens new window)
  • RuleGo Editor (opens new window)
  • RuleGo Server (opens new window)
  • StreamSQL
  • AI Agent Framework
  • TPCLAW Agent Platform (opens new window)
  • Github (opens new window)
  • Gitee (opens new window)
  • Changelog (opens new window)
  • English
  • 简体中文
🏠Home
  • Quick Start
  • Rule Chain
  • Standard Components
  • Extension Components
  • Custom Components
  • Visualization
  • RuleGo-Server
  • AOP
  • Trigger
  • Advanced Topics
  • Performance
  • Standard Components
  • Extension Components
  • Custom Components
  • Components Marketplace
  • Overview
  • Quick Start
  • Routing
  • DSL
  • API
  • Options
  • Components
🔥Editor (opens new window)
  • RuleGo Editor (opens new window)
  • RuleGo Server (opens new window)
  • StreamSQL
  • AI Agent Framework
  • TPCLAW Agent Platform (opens new window)
  • Github (opens new window)
  • Gitee (opens new window)
  • Changelog (opens new window)
  • English
  • 简体中文

广告采用随机轮播方式显示 ❤️成为赞助商
  • Quick Start

  • Rule Chain

  • Standard Components

  • Extension Components

    • Extension Components Overview
    • filter

    • action

    • transform

    • external

    • ai

    • ci

    • IoT

      • IoT Components Overview
      • Input Endpoints

      • Protocol Acquisition

        • OPC_UA Read
        • OPC_UA Write
        • Modbus Node
        • Serial Communication
        • S7 Read
        • S7 Write
        • EtherNet/IP Read
        • EtherNet/IP Write
        • SNMP Read
        • SNMP Write
        • Modbus Read Points Node
        • Modbus Write Points Node
        • Universal Acquisition Read
        • IoT Write
        • IEC 104 Read
        • IEC 104 Write
        • FINS Node
        • FINS Read
        • FINS Write
        • MC Node
        • MC Read
        • MC Write
        • DL/T 645 Node
        • DL/T 645 Read
        • DL/T 645 Write
        • BACnet Read
          • Configuration
            • Point Table Fields
          • Acquisition Model
          • Input/Output
          • Example
          • Related
        • BACnet Write
      • Time-Series Database

      • 控制

      • IoT Scenarios
    • Stream Processing

    • Service Discovery

    • file

  • Custom Components

  • Components marketplace

  • Visualization

  • AOP

  • Trigger

  • Advanced Topic

  • Agent Framework

  • RuleGo-Server

  • FAQ

  • Endpoint Module

  • Support

  • StreamSQL

目录

BACnet Read

x/bacnetRead component: v0.37.0+ BACnet/IP building-automation client, reads object properties (present-value of analog/binary/multi-state objects, etc.). Results are written back to msg.Data as a unified iot_points.Data list, routing to Success/Failure.

Requires: rulego-components-iot (opens new window)

# Configuration

Field Type Description Default
server string Device address host:port, BACnet/IP default port 47808 127.0.0.1:47808
timeout int Request timeout (seconds) 5
points array Default point table (addr=object address). Points in msg.Data take precedence (on-demand read) see below

# Point Table Fields

Field Description Example
name Point name SupplyTemp
addr Object address: objectType:instance[:property], property defaults to present-value analog-input:0, ai:1, device💯object-name
type Data type (optional, the type is taken from the response) FLOAT32
scale Engineering scale factor, eng = raw × scale + offset 0.1
offset Engineering offset 0

Object type accepts full names (analog-input), short aliases (ai/ao/av/bi/bo/bv/msi/mso/msv) or numbers; likewise for properties (present-value/pv/description/object-name/units or numbers).

All fields support ${msg.xx} / ${metadata.xx} templates.

# Acquisition Model

For multi-point collection, points are grouped by object and read in a single ReadPropertyMultiple request (N points in one round-trip — the standard efficient BACnet acquisition method); single-point reads or devices that reject RPM fall back to per-point ReadProperty automatically. Supports application data types: boolean (binary objects), enumerated (multi-state), unsigned/signed integers, real/double floats, strings. Per-point failure is marked with error and collection continues; connection-level failures auto-reconnect and retry.

# Input/Output

  • Input (optional): msg.Data with point list JSON takes precedence (dynamic acquisition)
  • Output: [{"name","value","timestamp","error"}] (timestamp in nanoseconds; error only on per-point failure)
[
  {"name": "SupplyTemp", "value": 21.5, "timestamp": 1789999999000000000},
  {"name": "Fan", "value": true, "timestamp": 1789999999000000000}
]
1
2
3
4

# Example

Scheduled acquisition (schedule endpoint in front):

{
  "id": "bacnet_read",
  "type": "x/bacnetRead",
  "configuration": {
    "server": "192.168.1.10:47808",
    "timeout": 5,
    "points": [
      {"name": "SupplyTemp", "addr": "analog-input:0", "scale": 0.1},
      {"name": "Fan", "addr": "bi:1"},
      {"name": "Mode", "addr": "multistate-value:2"}
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13

On-demand read (msg.Data with point list, takes precedence):

[{"name": "DeviceName", "addr": "device:100:object-name"}]
1

# Related

  • Write: x/bacnetWrite
  • Universal acquisition entry: x/iotRead (driver=bacnet)
  • To time-series storage: x/tsdbWrite (measurement configured)
Edit this page on GitHub (opens new window)
Last Updated: 2026/08/05, 01:52:29
DL/T 645 Write
BACnet Write

← DL/T 645 Write BACnet Write→

Theme by Vdoing | Copyright © 2023-2026 RuleGo Team | Apache 2.0 License

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式