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
          • Configuration
            • Point Table Fields
          • Acquisition Model
          • Input/Output
          • Example
          • Related
        • 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
      • 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

目录

IEC 104 Read

x/iec104Read component: v0.37.0+ IEC 60870-5-104 master station, sends a General Interrogation (GI) to batch-read substation telemetry (single/double point, measured values, integrated totals). 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 Substation address host:port, IEC 104 default port 2404 127.0.0.1:2404
commonAddr int ASDU common address (station address) 1
timeout int Interrogation wait timeout (seconds) 5
points array Default point table (addr=IOA). Points in msg.Data take precedence (on-demand read) see below

# Point Table Fields

Field Description Example
name Point name Breaker1
addr Information Object Address (IOA) 100, 16385
type Type ID (optional, informational) M_SP_NA_1, M_ME_NC_1

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

# Acquisition Model

Sends a General Interrogation (GI); after the substation returns all data, values are picked by IOA. Supports 9 ASDU types: single/double point telemetry, scaled/short-float measured values, integrated totals. 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": "Breaker1", "value": true, "timestamp": 1789999999000000000},
  {"name": "VoltageA", "value": 220.5, "timestamp": 1789999999000000000}
]
1
2
3
4

# Example

Scheduled acquisition (schedule endpoint in front):

{
  "id": "iec104_read",
  "type": "x/iec104Read",
  "configuration": {
    "server": "192.168.1.10:2404",
    "commonAddr": 1,
    "timeout": 5,
    "points": [
      {"name": "Breaker1", "addr": "1", "type": "M_SP_NA_1"},
      {"name": "VoltageA", "addr": "16385", "type": "M_ME_NC_1"}
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13

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

[{"name": "Frequency", "addr": "16400", "type": "M_ME_NC_1"}]
1

# Related

  • Write: x/iec104Write
  • Universal acquisition entry: x/iotRead (driver=iec104)
  • To time-series storage: x/tsdbWrite (measurement configured)
Edit this page on GitHub (opens new window)
Last Updated: 2026/08/01, 05:05:14
IoT Write
IEC 104 Write

← IoT Write IEC 104 Write→

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

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