Vallox.js
    Preparing search index...

    Class ModbusRtuTransport

    Standard Modbus RTU transport over any Node.js Duplex stream (e.g. a serial port).

    Implements the Transport interface using:

    • FC03 (Read Holding Registers) for readRegister / readRegisters
    • FC06 (Write Single Register) for single-register writes
    • FC16 (Write Multiple Registers) for multi-register writes

    Implements

    Index
    • Parameters

      • stream: Duplex

        A Node.js Duplex stream connected to the RS-485 bus (e.g. a SerialPort).

      • unitAddress: number = 1

        Modbus unit/slave address of the Vallox unit (default 1).

      • timeoutMs: number = 1000

        Maximum time (ms) to wait for a response (default 1000 ms).

      Returns ModbusRtuTransport

    • Builds a Modbus FC03 (Read Holding Registers) request frame.

      Parameters

      • address: number

        Starting register address, as listed in the Vallox Modbus manual.

      • count: number

        Number of registers to read.

      Returns Uint8Array

    • Builds a Modbus FC16 (Write Multiple Registers, function code 0x10) request frame.

      Parameters

      • address: number
      • values: readonly number[]

      Returns Uint8Array

    • Reads count consecutive holding registers using FC03. The response structure is: [unitAddr, 0x03, byteCount, dataHi0, dataLo0, ..., crcLo, crcHi] Expected response length = 5 + count * 2.

      Parameters

      • address: number
      • count: number

      Returns Promise<Uint16Array<ArrayBufferLike>>

    • Sends a request frame over the stream and collects exactly expectedBytes of response. Rejects if the response does not arrive within timeoutMs.

      Parameters

      • request: Uint8Array
      • expectedBytes: number

      Returns Promise<Uint8Array<ArrayBufferLike>>