Breaking
- Requires Node.js >= 20 and Node-RED >= 4.0 (previously Node 10 /
Node-RED 1.0). The primary supported target is Node-RED 5 on Node 24.
Flows and node configurations are unchanged — existing flows import as
before.
Added
- Importable example flows (
examples/, shown in the editor's import
dialog): switching a datapoint, receiving RPC events, reading and
setting a system variable. - CCU-Jack can be enabled as an additional interface on the connection
node (XMLRPC on port 2121, or 2122 with TLS; port configurable). CCU
discovery now probes for CCU-Jack as well. Based on PR #162, closes
#164.
Changed
homematic-rega1.5 -> 2.0 andhomematic-xmlrpc1.0 -> 2.0. This
removes the long-deprecatedrequestpackage and the fragile
xmlbuilder GitHub-tarball reference from the dependency tree; ReGa
timestamps are now converted inside the library, and the "uncertain
value" detection (ReGa reporting 1970-01-01) works on the timestamp
itself instead of a locale-dependent string compare. Requires Node
20.19+/22.12+ (require(esm)).- Runtime dependencies reduced from 10 to 4: the deprecated
string-similaritypackage was replaced by an internal implementation
with identical results,hm-discover,nextportandbuffer-base62
were vendored (the latter two rewritten without their abandoned
transitive dependencies), thepromise.prototype.finallypolyfill
(a no-op since Node 10) was dropped, andobj-easemoved to
devDependencies. Fewer install warnings, smaller install. (#176) - Tooling modernized: ESLint 9 + Prettier replace xo, c8 replaces
nyc/coveralls, mocha 11 and node-red-node-test-helper 0.3.6 run the
test suite against Node-RED 4.x, GitHub Actions CI covers Node
20/22/24 x Node-RED 4/5, releases publish to npm via OIDC trusted
publishing with provenance.
Fixed
- Node-RED no longer crashes when the CCU connection drops at an
unfortunate moment: binrpc 3.3.2 adds the missing socket error
listener (a response arriving after a timeout killed the whole
process) and stops the methodCall callback from firing twice on
failed connections. (#160) - The value node no longer writes to the CCU when the incoming message
has nopayload(previouslyundefinedwas passed to setValue).
From PR #173. - On Node-RED 4.x, node configuration dialogs had to be opened several
times before the interface/device/channel/datapoint selects populated.
The editor now triggers the initial load itself instead of relying on
a change event Node-RED 4 no longer fires reliably, retries when the
config node is not yet available in the runtime, and no longer wedges
itself when the request fails or the config node is still unsaved. - Removed 46 debug
console.logstatements that the node configuration
dialogs wrote to the browser console.
Commits since v3.4.2
- 4.0.0: modernization release (7e0c2b4)
- ci: test matrix on Node 22/24 only (c2bba12)
- roadmap: smoke test passed - 4.0.0 is release-ready (4919256)
- roadmap: B-11 re-init robustness findings from live smoke test (24887c9)
- 4.0.0-dev.10: connection log polish from the smoke test (435da6a)
- fix ccu-alexa help: German text was registered as a second template (eafff9c)
- 4.0.0-dev.9: pick up binrpc 3.3.2 crash fixes (1a24281)
- roadmap: answer OQ-3..OQ-6 (user decisions) (66f69b5)
- roadmap: NR 5.0.5 / Node 24 verified locally, OQ-2 answered (e1319c7)
- roadmap: Phase 2 status after dev.8 (58ad267)
- 4.0.0-dev.8: value node payload guard, example flows (31997bf)
- 4.0.0-dev.7: add CCU-Jack interface support (6d1a80c)
- 4.0.0-dev.6: homematic-rega 2.0, homematic-xmlrpc 2.0 (01081ae)
- 4.0.0-dev.5: fix Node-RED 4.x editor select population (da70996)
- 4.0.0-dev.4: CI + OIDC release pipeline, changelog, badges (2cc0344)
- 4.0.0-dev.3: xo -> ESLint 9 flat config + Prettier (f528fcf)
- 4.0.0-dev.2: prune runtime dependencies (10 -> 4) (b487801)
- 4.0.0-dev.1: modernize test/dev tooling (8b1a0e2)
- 4.0.0-dev.0: roadmap, target Node-RED 5 / Node 24 (19d545b)
- add AGENTS.md, update TODO (024bbaa)