Skip to content

[BUG] #3590

Description

@Gleis1234

RCT Power: Parallel thread requests cause TCP stack freeze

Environment

  • **openWB version:**2.2.1
  • Inverter: RCT Power Storage DC 6.0
  • Firmware: 2.3.5689
  • Connection: LAN, TCP Port 8899

Problem description

When the RCT Power BMS reports a non-zero battery status (e.g. during cell balancing), openWB generates WARNING log entries from multiple threads in parallel. These parallel requests hit the RCT inverter's TCP stack simultaneously, causing it to freeze. After the freeze, no TCP client (openWB, RCT Power App) can receive data anymore, even though port 8899 still accepts connections. Only a full cold restart of the inverter resolves the issue.

Log evidence

The following log excerpt shows three threads firing within 16ms on the same TCP connection:

https://paste.openwb.de/S7SyQ2ok9c635cP

Additionally, requests come from different threads (device0, component2, MainThread) within the same second:

2026-06-24 11:59:12,715 - {ERROR:device0}
2026-06-24 11:59:13,325 - {ERROR:component2}
2026-06-24 11:59:14,747 - {ERROR:MainThread}

Root cause

BMS status values of 1024 (0x0400, Bit 10 = balancing active) and 3072 (0x0C00, Bit 10+11) are normal operating states, not actual errors. However, openWB treats any non-zero status as a fault condition and triggers repeated parallel queries from multiple threads. The RCT inverter's TCP stack is not designed for concurrent connections and freezes under this load.

Expected behavior

  • Battery status bits should be decoded properly; balancing-related bits should not trigger fault handling
  • All RCT module threads should share a single TCP session or coordinate access to avoid parallel requests

Workaround

Full cold restart of the inverter (AC off → DC off → BMS off → wait 5 min → restart in reverse order), followed by openWB restart to establish a fresh TCP session.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions