Vallox.js
    Preparing search index...

    Class ValloxClient

    High-level API client for Vallox ventilation units.

    Accepts any Transport implementation (WebSocketTransport or ModbusRtuTransport) and provides typed methods for all documented Modbus registers.

    Index
    • Acknowledges (marks as solved) a fault entry.

      Parameters

      • index: number

        Zero-based fault index (0–9), as returned in FaultEntry.index.

      Returns Promise<void>

    • Clears all timed mode overrides (boost, custom, programmable). The unit returns to its base Home/Away mode.

      Returns Promise<void>

    • Returns remaining custom (fireplace) timer minutes. 0 = not active, 65535 = running indefinitely.

      Returns Promise<number>

    • Reads the current date/time from the unit's internal clock. Note: the unit does not store timezone information; the returned Date is constructed using local-time values from the unit.

      Returns Promise<Date>

    • Returns the unit's type designation (e.g. "A3702"), looked up from the raw MACHINE_TYPE register code via MACHINE_TYPES. Returns undefined if the code is not in the lookup table.

      Returns Promise<string | undefined>

    • Returns the unit's model name (e.g. "Vallox 110 MV"), looked up from the raw MACHINE_MODEL register code via MACHINE_MODELS. Returns undefined if the code is not in the lookup table.

      Returns Promise<string | undefined>

    • Returns the current Profile, matching the semantics of the original JS API.

      Priority order:

      1. BOOST – if boost timer > 0
      2. CUSTOM – if custom timer > 0 (same profile as the deprecated FIREPLACE)
      3. EXTRA – if programmable timer > 0
      4. AWAY – if mode register is Away
      5. AUTOMATIC – if mode register is Automatic
      6. HOME – if mode register is Home
      7. NONE – fallback

      Returns Promise<Profile>

    • Returns remaining programmable (extra) timer minutes. 0 = not active, 65535 = running indefinitely.

      Returns Promise<number>

    • Returns the unit's serial number, assembled from the SERIAL_NUMBER_MSW/LSW register pair.

      Parameters

      • Optionalbase: "hex"

        'hex' (default) returns e.g. "0x96752ecd"; 'decimal' returns e.g. "2524262093", matching how the unit's own dashboard ("Unit information" page) displays it.

      Returns Promise<string>

    • Returns the unit's serial number, assembled from the SERIAL_NUMBER_MSW/LSW register pair.

      Parameters

      • base: "decimal"

        'hex' (default) returns e.g. "0x96752ecd"; 'decimal' returns e.g. "2524262093", matching how the unit's own dashboard ("Unit information" page) displays it.

      Returns Promise<string>

    • Returns Promise<string>

      Use getSerialNumber('decimal') instead. Kept for backward compatibility; will be removed in a future major version.

    • Returns the unit's application software version (e.g. "3.1.6"), read from the APPL_SW_VERSION_START register block. Returns undefined if the unit reports the block as uninitialized (all words 0xFFFF).

      Returns Promise<string | undefined>

    • Reads a raw register value directly from the transport. Useful for registers not covered by the high-level API.

      Parameters

      • address: number

      Returns Promise<number>

    • Sets the Away profile supply air temperature setpoint.

      Parameters

      • celsius: number

        Target temperature.

      Returns Promise<void>

    • Activates boost mode.

      Parameters

      • OptionaldurationMinutes: number

        Duration in minutes (1–65534). Omit for indefinite (65535).

      Returns Promise<void>

    • Sets the Boost profile supply air temperature setpoint.

      Parameters

      • celsius: number

        Target temperature.

      Returns Promise<void>

    • Sets the CO2 threshold for automatic fan speed boost.

      Parameters

      • ppm: number

        CO2 level in PPM.

      Returns Promise<void>

    • Activates custom (fireplace) mode.

      Parameters

      • OptionaldurationMinutes: number

        Duration in minutes (1–65534). Omit for indefinite (65535).

      Returns Promise<void>

    • Sets the Custom mode supply air temperature setpoint.

      Parameters

      • celsius: number

        Target temperature.

      Returns Promise<void>

    • Sets the unit's internal clock to the given date/time. Seconds are not supported; only minute-level precision is available.

      Parameters

      • date: Date

        The date/time to set (local time is used).

      Returns Promise<void>

    • Records that the filter has been changed.

      Parameters

      • Optionaldate: Date

        The date on which the filter was changed (defaults to today).

      Returns Promise<void>

    • Sets the Home profile supply air temperature setpoint.

      Parameters

      • celsius: number

        Target temperature.

      Returns Promise<void>

    • Sets the ventilation profile.

      For HOME/AWAY/AUTOMATIC: clears all timed overrides and sets the base mode. For BOOST/CUSTOM(/FIREPLACE)/EXTRA: activates the corresponding timed mode.

      Parameters

      • profile: Profile

        The desired Profile.

      • OptionaldurationMinutes: number

        Optional duration in minutes for timed profiles.

      Returns Promise<void>

    • Activates programmable (extra) mode.

      Parameters

      • OptionaldurationMinutes: number

        Duration in minutes (1–65534). Omit for indefinite (65535).

      Returns Promise<void>

    • Sets the RH threshold for automatic fan speed boost.

      Parameters

      • percent: number

        0–100.

      Returns Promise<void>

    • Enables or disables the weekly schedule (programmable timer).

      Parameters

      • enabled: boolean

        True to enable the weekly schedule, false to disable.

      Returns Promise<void>

    • Writes a raw register value directly via the transport. Useful for registers not covered by the high-level API.

      Parameters

      • address: number
      • value: number

      Returns Promise<void>