Skip to content

Releases: simonarnell/Vallox.js

v1.7.1

Choose a tag to compare

@simonarnell simonarnell released this 31 Aug 19:41

Fixed

  • FAULT_DESCRIPTIONS entries were unverifiable against any authoritative source and some didn't match genuine firmware text. Replaced with 7 entries confirmed directly from the unit's firmware (HSWUPD.BIN, unpacked with hn/vallox-ventilation-unit's unpack-vallox-firmware.pl); the rest correctly resolve to 'Unknown fault', matching the unit's own web UI, which shows no description for most codes either.

v1.7.0

Choose a tag to compare

@simonarnell simonarnell released this 31 Aug 10:09

Added

  • ScheduleSlot.CUSTOM (4) and ScheduleSlot.STANDBY (5), and a runtime ScheduleSlot object (previously a type-only union 0 | 1 | 2 | 3) mirroring the existing Mode/Profile pattern. Reverse-engineered from a live unit: clicking through a weekly schedule cell's states while reading back the underlying register showed the cycle is None→Home→Away→Boost→Custom→Standby, six states in total — Automatic is never offered as a schedule slot. STANDBY was confirmed to power the unit off for that hour: enabling the weekly schedule with a Standby slot active caused the unit's ON_OFF register to flip to POWER_OFF within seconds.

Fixed

  • ValloxClient.getWeeklySchedule() collapsed any schedule register value other than 1/2/3 (Home/Away/Boost) into 0 (None) — including 4 (Custom) and 5 (Standby), which it would have silently misreported as an empty slot. Now returns the real value. Callers that treat a schedule slot as a direct index into a fixed 0–3-sized lookup (e.g. an icon/label array sized for the old 4-value range) should size it for 0–5 instead.

Full changelog: https://github.com/simonarnell/vallox.js/blob/main/CHANGELOG.md#170---2026-08-31

v1.6.0

Choose a tag to compare

@simonarnell simonarnell released this 31 Aug 09:32

Full Changelog: v1.5.0...v1.6.0

v1.5.0

Choose a tag to compare

@simonarnell simonarnell released this 31 Aug 07:18
chore: bump version to 1.5.0

feat: update serial number retrieval to support decimal format and add MockValloxServer for integration testing

v1.4.0

Choose a tag to compare

@simonarnell simonarnell released this 31 Aug 07:18

Full Changelog: v1.3.0...v1.4.0

v1.3.0

Choose a tag to compare

@simonarnell simonarnell released this 29 Aug 21:19

Full Changelog: v1.2.1...v1.3.0

v1.2.1

Choose a tag to compare

@simonarnell simonarnell released this 29 Aug 21:19

Full Changelog: v1.2.0...v1.2.1

v1.2.0

Choose a tag to compare

@simonarnell simonarnell released this 29 Aug 21:19

Full Changelog: v1.1.0...v1.2.0

v1.1.0

Choose a tag to compare

@simonarnell simonarnell released this 27 Aug 19:21

Added

  • getSerialNumber() / vallox serial — reads the unit's serial number from the
    SERIAL_NUMBER_MSW/SERIAL_NUMBER_LSW register pair.
  • getUptime() / vallox uptime — reads cumulative lifetime runtime and runtime
    since the unit's most recent power-on, in hours. Exposed via the new UnitUptime type.
  • getFilterChangeInterval() / setFilterChangeInterval() and
    vallox filter interval / vallox filter set-interval <days> — read/write the
    configured filter change interval in days.
  • npm run docs — generates HTML API documentation from source JSDoc comments via
    TypeDoc (see typedoc.json). Run through a pinned npx TypeDoc/TypeScript pair
    rather than as a devDependency, since the project's own typescript (^7.0.2)
    doesn't yet expose the Compiler API TypeDoc needs.

Security

  • Bumped ws (the runtime WebSocket dependency used by WebSocketTransport) from
    7.5.10 to 7.5.13, fixing a memory exhaustion DoS via tiny fragments and data chunks
    (GHSA-96hv-2xvq-fx4p).
  • Updated dev-only transitive dependencies (@babel/*, browserslist, caniuse-lite,
    js-yaml, picomatch, brace-expansion, and others) via npm audit fix, resolving
    several high-severity advisories (ReDoS/DoS) in the test/build toolchain. These do
    not affect published package consumers.

v1.0.0

Choose a tag to compare

@simonarnell simonarnell released this 27 Aug 16:47