node-red-contrib-ccu 4.1.0 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +125 -0
- package/HANDOFF.md +67 -16
- package/README.md +42 -0
- package/ROADMAP.md +129 -47
- package/examples/home-assistant.json +127 -0
- package/nodes/ccu-alexa.html +3 -1
- package/nodes/ccu-connection.html +26 -0
- package/nodes/ccu-connection.js +124 -13
- package/nodes/ccu-display.js +29 -13
- package/nodes/ccu-get-value.html +3 -1
- package/nodes/ccu-homeassistant.html +334 -0
- package/nodes/ccu-homeassistant.js +272 -0
- package/nodes/ccu-mqtt.html +21 -4
- package/nodes/ccu-mqtt.js +188 -105
- package/nodes/ccu-rpc-event.html +6 -0
- package/nodes/ccu-rpc-event.js +31 -12
- package/nodes/ccu-set-value.html +38 -0
- package/nodes/ccu-set-value.js +59 -235
- package/nodes/ccu-signal.html +55 -1
- package/nodes/ccu-signal.js +52 -9
- package/nodes/ccu-switch.html +17 -4
- package/nodes/ccu-switch.js +28 -4
- package/nodes/ccu-sysvar.html +40 -1
- package/nodes/ccu-sysvar.js +78 -8
- package/nodes/ccu-value.html +27 -1
- package/nodes/ccu-value.js +69 -19
- package/nodes/lib/cast.js +59 -14
- package/nodes/lib/channelfilter.js +136 -0
- package/nodes/lib/dynconfig.js +81 -0
- package/nodes/lib/hadiscovery.js +846 -0
- package/nodes/lib/haroles.js +193 -0
- package/nodes/lib/localccu.js +81 -0
- package/nodes/lib/message.js +6 -2
- package/nodes/lib/valuestatus.js +145 -0
- package/nodes/locales/de/ccu-display.html +17 -0
- package/nodes/locales/de/ccu-rpc-event.json +1 -0
- package/nodes/locales/de/ccu-sysvar.json +3 -2
- package/nodes/locales/de/ccu-value.json +2 -1
- package/nodes/locales/en-US/ccu-display.html +17 -0
- package/nodes/locales/en-US/ccu-rpc-event.json +3 -2
- package/nodes/locales/en-US/ccu-switch.html +12 -0
- package/nodes/locales/en-US/ccu-sysvar.json +3 -2
- package/nodes/locales/en-US/ccu-value.json +2 -1
- package/package.json +2 -1
- package/patch-certainonly.py +51 -0
- package/roadmap-archive/B-16.md +31 -0
- package/roadmap-archive/B-2.md +69 -0
- package/roadmap-archive/B-3.md +57 -0
- package/roadmap-archive/B-4.md +44 -0
- package/roadmap-archive/B-5.md +57 -0
- package/roadmap-archive/README.md +11 -0
package/ROADMAP.md
CHANGED
|
@@ -25,9 +25,17 @@ Decisions (D-n) stay here as the record of why things are the way they
|
|
|
25
25
|
are; answered open questions are rewritten in place
|
|
26
26
|
(`**answered <date>** — …`).
|
|
27
27
|
|
|
28
|
-
Status 2026-09-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
Status 2026-09-04: **4.0.0 (2026-09-02) and 4.1.0 (2026-09-04) are
|
|
29
|
+
released** (npm latest, OIDC provenance, GitHub releases); 4.1.0 carries
|
|
30
|
+
the regenerated device descriptions and the LEVEL_2 fix; **4.2.0
|
|
31
|
+
(2026-09-04) = B-16**, the Home Assistant discovery node, lab-verified and
|
|
32
|
+
archived. B-2 moved to 4.3.0. The issue tracker was triaged a second time
|
|
33
|
+
on 2026-09-04 (§12): 36 issues remain open, every one of them annotated
|
|
34
|
+
with its roadmap item, and eight newly diagnosed defects were added to
|
|
35
|
+
§8.3. **4.3.0 (2026-09-04) = B-2 + B-3 + B-4 + B-5**, all four archived —
|
|
36
|
+
17 of those issues are fixed by it. Phases 1 and 2 are done and archived.
|
|
37
|
+
Next: Phase 3 (refactor & tests) and the rest of the Phase 4 backlog;
|
|
38
|
+
work continues on
|
|
31
39
|
master with CI (Node 22/24 × Node-RED 4/5) as the gate. Research basis:
|
|
32
40
|
the GitHub tracker/PRs/forks, homematic-forum.de, Node-RED release notes and
|
|
33
41
|
scorecard criteria, and the hm2mqtt.js 3.0 rewrite (same author), which
|
|
@@ -189,24 +197,24 @@ to 4.3.0**. B-3/B-5 ride along when ready; B-12/B-13 later. The four
|
|
|
189
197
|
needs-info issues (#111, #145, #146, #151) are closed as
|
|
190
198
|
unreproducible if the reporters have not responded by ~2026-12.
|
|
191
199
|
|
|
192
|
-
| ID | Item
|
|
193
|
-
| ---- |
|
|
194
|
-
| B-1 | Regenerate `paramsets.json` via a live-CCU XML-RPC fetch — **groundwork done 2026-09-02, full analysis in [docs/paramsets.md](docs/paramsets.md)**: the file is the runtime getParamsetDescription cache (grown 2018–2020 from contributed user dumps; firmware parsing is a dead end for HmIP — MIN/MAX come from compiled Java). **Tools done 2026-09-02** (`tools/paramsets-fetch.js` + modernized `paramsets-join.js`, smoke-tested against the live CCU; reporter dumps join with the same tool). **Lab dumps joined 2026-09-04** (CCU3 3.89.8 "Charly" with HmIPW-DRAP/DRI16/DRS8, OpenCCU 3.89.8 with HmIP-PDT/WRC2/RFUSB): +58 keys, 9 refreshed (HmIPW entries gained COMBINED_PARAMETER etc.), file now key-sorted (one-time reorder). **Production regen done 2026-09-04** (4.1.0-dev.7): fetched read-only from the author's CCU3 on 3.87.6 at 600 ms/call (~25 min, 962 keys) — +547 keys, 32 refreshed, 70 device type/firmware combos across BidCos-RF, BidCos-Wired, HmIP and the HmIP-HEATING 2.0.0 group; the "HmIP-only" assumption about that box was wrong. Rule for the production CCU: read-only, slow, and only client calls — its RPC callbacks reach nothing but the Node-RED test box. Remaining: collect reporter dumps (#177 BSL-V2, #144 WRCD, #159 CuxD — requested in the issues 2026-09-02). Data-only issues: [#112](https://github.com/rdmtc/node-red-contrib-ccu/issues/112) (likely CCU-side limit — live CCU still reports MAX=3, retest), [#117](https://github.com/rdmtc/node-red-contrib-ccu/issues/117) (entry exists, retest), [#159](https://github.com/rdmtc/node-red-contrib-ccu/issues/159) (needs CUxD user dump). The LEVEL_2/BSL/WRCD issues moved to B-14/B-15 (code, not data).
|
|
195
|
-
| B-2 |
|
|
196
|
-
| B-3 |
|
|
197
|
-
| B-4 |
|
|
198
|
-
| B-5 |
|
|
199
|
-
| B-6 | ✅ **done 2026-09-02** — delivered upstream as binrpc 4.1/4.2 (zero deps, frame reassembly); picked up here as `^4.2.0` in dev.4. Archived: [roadmap-archive/B-6.md](roadmap-archive/B-6.md)
|
|
200
|
-
| B-7 |
|
|
201
|
-
| B-8 | Global object: expose CCU metadata/values via a global context object (old todo item)
|
|
202
|
-
| B-9 | Value node: datapoint autocomplete / multiselect (rpc and rpc-event already have it)
|
|
203
|
-
| B-10 | Submit/display node polish (old todo items): submit autocomplete, limit list to 10 cmds, fix display LED, display beep, payload via msg
|
|
204
|
-
| B-11 | Re-init robustness after a CCU outage (found live in the 2026-09-02 smoke test): (a) `rpcCheckInit` returns without rescheduling itself when the interface has no devices in the metadata cache, so interfaces without paired devices (e.g. BidCos-RF on an HmIP-only CCU) never ping and never re-init — after a CCU reboot they stay dead until Node-RED is restarted; (b) a failed `rpcInit` (e.g. the shutting-down CCU answers XML-RPC with an HTML error page → "Unknown XML-RPC tag 'TITLE'") has no retry of its own, so combined with (a) one failed re-init is final; (c) the hardcoded 600 s HmIP-RF pingTimeout means up to 10 min of silent event loss after a CCU reboot — make it configurable together with B-5/#44. Fix shape: arm the watchdog regardless of metadata, retry failed inits with backoff.
|
|
205
|
-
| B-12 | Complete the [#27](https://github.com/rdmtc/node-red-contrib-ccu/issues/27) checklist: authentication and TLS for all interface connections (two of four items from 2019 still open; ptweety's TLS-warning reactivation in §9 is related groundwork)
|
|
206
|
-
| B-13 | Party/holiday mode support ([#161](https://github.com/rdmtc/node-red-contrib-ccu/issues/161), [#156](https://github.com/rdmtc/node-red-contrib-ccu/issues/156)): PARTY_TIME_START/END must be written atomically (putParamset/combined parameter); possibly a dedicated node
|
|
207
|
-
| B-14 | ✅ **done 2026-09-02** (dev.5) — LEVEL_2 writes remapped to COMBINED_PARAMETER (`L2=<pct>`) in setValue; fixes #136/#154/#175 pending hardware confirmation. Archived: [roadmap-archive/B-14.md](roadmap-archive/B-14.md)
|
|
208
|
-
| B-15 | New HmIP channel types in the signal/display nodes: BSL 2.x replaces DIMMER_VIRTUAL_RECEIVER with OPTICAL_SIGNAL_RECEIVER (LEVEL/COLOR/COLOR_BEHAVIOUR — without COLOR_BEHAVIOUR in the putParamset the LED stays dark, [#177](https://github.com/rdmtc/node-red-contrib-ccu/issues/177)); HmIP-WRCD ch3 is ACOUSTIC_DISPLAY_RECEIVER with DISPLAY_DATA_* datapoints ([#144](https://github.com/rdmtc/node-red-contrib-ccu/issues/144)). Paramset entries for both need reporter dumps. See docs/paramsets.md §4.
|
|
209
|
-
| B-16 |
|
|
200
|
+
| ID | Item | Source |
|
|
201
|
+
| ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
|
|
202
|
+
| B-1 | Regenerate `paramsets.json` via a live-CCU XML-RPC fetch — **groundwork done 2026-09-02, full analysis in [docs/paramsets.md](docs/paramsets.md)**: the file is the runtime getParamsetDescription cache (grown 2018–2020 from contributed user dumps; firmware parsing is a dead end for HmIP — MIN/MAX come from compiled Java). **Tools done 2026-09-02** (`tools/paramsets-fetch.js` + modernized `paramsets-join.js`, smoke-tested against the live CCU; reporter dumps join with the same tool). **Lab dumps joined 2026-09-04** (CCU3 3.89.8 "Charly" with HmIPW-DRAP/DRI16/DRS8, OpenCCU 3.89.8 with HmIP-PDT/WRC2/RFUSB): +58 keys, 9 refreshed (HmIPW entries gained COMBINED_PARAMETER etc.), file now key-sorted (one-time reorder). **Production regen done 2026-09-04** (4.1.0-dev.7): fetched read-only from the author's CCU3 on 3.87.6 at 600 ms/call (~25 min, 962 keys) — +547 keys, 32 refreshed, 70 device type/firmware combos across BidCos-RF, BidCos-Wired, HmIP and the HmIP-HEATING 2.0.0 group; the "HmIP-only" assumption about that box was wrong. Rule for the production CCU: read-only, slow, and only client calls — its RPC callbacks reach nothing but the Node-RED test box. Remaining: collect reporter dumps (#177 BSL-V2, #144 WRCD, #159 CuxD — requested in the issues 2026-09-02). Data-only issues: [#112](https://github.com/rdmtc/node-red-contrib-ccu/issues/112) (likely CCU-side limit — live CCU still reports MAX=3, retest), [#117](https://github.com/rdmtc/node-red-contrib-ccu/issues/117) (entry exists, retest), [#159](https://github.com/rdmtc/node-red-contrib-ccu/issues/159) (needs CUxD user dump). The LEVEL_2/BSL/WRCD issues moved to B-14/B-15 (code, not data). | tracker + forum |
|
|
203
|
+
| B-2 | ✅ **done 2026-09-04** (4.3.0) — one mechanism (`msg.config`) across value/set-value/switch/sysvar/signal/display; closes #172 #71 #103 #80 #56 #148 #185 #133 #158. Archived: [roadmap-archive/B-2.md](roadmap-archive/B-2.md) |
|
|
204
|
+
| B-3 | ✅ **done 2026-09-04** (4.3.0) — §8.2 findings fixed, VALUE_LIST enum names, `get` and `rpc` commands, metadata refresh; closes #115 #22 #167. Archived: [roadmap-archive/B-3.md](roadmap-archive/B-3.md) |
|
|
205
|
+
| B-4 | ✅ **done 2026-09-04** (4.3.0) — replaced by a `/proc/net/tcp` listener probe (`nodes/lib/localccu.js`); verified against firmware 3.89.8. Archived: [roadmap-archive/B-4.md](roadmap-archive/B-4.md) |
|
|
206
|
+
| B-5 | ✅ **done 2026-09-04** (4.3.0) — ping toggle, value+age status lines, uncertain filter, trailing sysvar re-poll, RSSI guard; closes #44 #54 #52 #96 #166 #183 #124. Archived: [roadmap-archive/B-5.md](roadmap-archive/B-5.md) |
|
|
207
|
+
| B-6 | ✅ **done 2026-09-02** — delivered upstream as binrpc 4.1/4.2 (zero deps, frame reassembly); picked up here as `^4.2.0` in dev.4. Archived: [roadmap-archive/B-6.md](roadmap-archive/B-6.md) | deferred → upstream |
|
|
208
|
+
| B-7 | ✅ **done 2026-09-04** — both passes complete (§12): 60 → 36 open, all annotated; 8 new defects recorded in §8.3 |
|
|
209
|
+
| B-8 | Global object: expose CCU metadata/values via a global context object (old todo item) | old TODO |
|
|
210
|
+
| B-9 | Value node: datapoint autocomplete / multiselect (rpc and rpc-event already have it) | old TODO |
|
|
211
|
+
| B-10 | Submit/display node polish (old todo items): submit autocomplete, limit list to 10 cmds, fix display LED, display beep, payload via msg | old TODO |
|
|
212
|
+
| B-11 | Re-init robustness after a CCU outage (found live in the 2026-09-02 smoke test): (a) `rpcCheckInit` returns without rescheduling itself when the interface has no devices in the metadata cache, so interfaces without paired devices (e.g. BidCos-RF on an HmIP-only CCU) never ping and never re-init — after a CCU reboot they stay dead until Node-RED is restarted; (b) a failed `rpcInit` (e.g. the shutting-down CCU answers XML-RPC with an HTML error page → "Unknown XML-RPC tag 'TITLE'") has no retry of its own, so combined with (a) one failed re-init is final; (c) the hardcoded 600 s HmIP-RF pingTimeout means up to 10 min of silent event loss after a CCU reboot — make it configurable together with B-5/#44. Fix shape: arm the watchdog regardless of metadata, retry failed inits with backoff. | smoke test |
|
|
213
|
+
| B-12 | Complete the [#27](https://github.com/rdmtc/node-red-contrib-ccu/issues/27) checklist: authentication and TLS for all interface connections (two of four items from 2019 still open; ptweety's TLS-warning reactivation in §9 is related groundwork) | tracker |
|
|
214
|
+
| B-13 | Party/holiday mode support ([#161](https://github.com/rdmtc/node-red-contrib-ccu/issues/161), [#156](https://github.com/rdmtc/node-red-contrib-ccu/issues/156)): PARTY_TIME_START/END must be written atomically (putParamset/combined parameter); possibly a dedicated node | tracker |
|
|
215
|
+
| B-14 | ✅ **done 2026-09-02** (dev.5) — LEVEL_2 writes remapped to COMBINED_PARAMETER (`L2=<pct>`) in setValue; fixes #136/#154/#175 pending hardware confirmation. Archived: [roadmap-archive/B-14.md](roadmap-archive/B-14.md) | B-1 research |
|
|
216
|
+
| B-15 | New HmIP channel types in the signal/display nodes: BSL 2.x replaces DIMMER_VIRTUAL_RECEIVER with OPTICAL_SIGNAL_RECEIVER (LEVEL/COLOR/COLOR_BEHAVIOUR — without COLOR_BEHAVIOUR in the putParamset the LED stays dark, [#177](https://github.com/rdmtc/node-red-contrib-ccu/issues/177)); HmIP-WRCD ch3 is ACOUSTIC_DISPLAY_RECEIVER with DISPLAY_DATA_* datapoints ([#144](https://github.com/rdmtc/node-red-contrib-ccu/issues/144)). Paramset entries for both need reporter dumps. See docs/paramsets.md §4. | B-1 research |
|
|
217
|
+
| B-16 | ✅ **done 2026-09-04** (4.2.0) — new `ccu-homeassistant` node: Home Assistant MQTT auto-discovery for checkbox-selected devices, companion to ccu-mqtt (reuses its topics/payload format); lab-verified against HA 2026.9 and she. Archived: [roadmap-archive/B-16.md](roadmap-archive/B-16.md) | user request |
|
|
210
218
|
|
|
211
219
|
## 8. Bug inventory (diagnosed, not yet fixed)
|
|
212
220
|
|
|
@@ -250,14 +258,16 @@ caught (the devDep pin to `^1.1.2` is why it never was).
|
|
|
250
258
|
|
|
251
259
|
### 8.2 Verified in the hm2mqtt 3.0 rewrite (free, confirmed findings)
|
|
252
260
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
`
|
|
258
|
-
-
|
|
261
|
+
**All three fixed in 4.3.0 (B-3) / 4.2.0.**
|
|
262
|
+
|
|
263
|
+
- ✅ `nodes/ccu-mqtt.js`: the writeable check `!(OPERATIONS) && 2` is
|
|
264
|
+
always false; `putParamset` casts with `description[filter.param]`
|
|
265
|
+
which is `undefined`, so values pass uncast. — 4.3.0
|
|
266
|
+
- ✅ Empty-name topic bug: devices without a rega name produce
|
|
267
|
+
`hm/status//STATE`-style topics. — 4.2.0
|
|
268
|
+
- ✅ `datapointEnum`/`valueEnum` in outgoing messages read
|
|
259
269
|
`description.ENUM`, which the interface processes never send — both
|
|
260
|
-
have always been `undefined`.
|
|
270
|
+
have always been `undefined`. The names are in `VALUE_LIST`. — 4.3.0
|
|
261
271
|
|
|
262
272
|
### 8.3 Misc
|
|
263
273
|
|
|
@@ -265,6 +275,57 @@ caught (the devDep pin to `^1.1.2` is why it never was).
|
|
|
265
275
|
and loose `!= undefined` — fix when taking the guard.
|
|
266
276
|
- Editor HTML ships `console.log` debug leftovers.
|
|
267
277
|
|
|
278
|
+
Found in the 2026-09-04 issue triage (all verified against 4.2.0):
|
|
279
|
+
|
|
280
|
+
- ✅ **RSSI conversion is unguarded** (#183, fixed 4.3.0): `getRegaValues()` does
|
|
281
|
+
`dp.value -= 256` for `RSSI_DEVICE`/`RSSI_PEER` unconditionally, so a
|
|
282
|
+
value that is already signed (or `0` for "never received") becomes
|
|
283
|
+
`-318` / `-256`. hm2mqtt's `values.js` has the guard this one lacks:
|
|
284
|
+
only subtract when `typeof value === 'number' && value > 127`. The
|
|
285
|
+
XML-RPC event path needs no conversion — ReGa only.
|
|
286
|
+
- ✅ **Immediate sysvar re-poll is dropped under concurrency** (#166, fixed 4.3.0):
|
|
287
|
+
`setVariable()` calls `regaPoll()` only `if (!this.regaPollPending)`,
|
|
288
|
+
and `regaPoll()` itself no-ops (`rega poll already pending`) while one
|
|
289
|
+
is in flight. Writing several variables at once therefore leaves all
|
|
290
|
+
but the first invisible until the next scheduled poll (30 s default).
|
|
291
|
+
Fix: trailing-edge debounce — set a flag and poll once more when the
|
|
292
|
+
running poll finishes. → B-5.
|
|
293
|
+
- ✅ **`ccu-switch` rule values have no `bool` type** (#51, fixed 4.3.0): the typedInput
|
|
294
|
+
offers `msg/flow/global/str/num/jsonata/env/prev` only, so `true` is
|
|
295
|
+
stored as a string and `true == "true"` is false — users are pushed
|
|
296
|
+
into 0/1. `RED.util.evaluateNodeProperty` already handles `bool`, so
|
|
297
|
+
the fix is the editor list. → §6.4.
|
|
298
|
+
- ✅ **Editor clears `${ENV}` placeholders** (#158, fixed 4.3.0): `autocompleteChannel()`
|
|
299
|
+
blanks Channel and Datapoint whenever the value is not a known channel
|
|
300
|
+
address, which wipes subflow-parameter placeholders on every dialog
|
|
301
|
+
open. Skip the clearing for `${...}` values. → §6.4.
|
|
302
|
+
- **Stale device metadata is never re-read** (#181, related #146; still
|
|
303
|
+
open — 4.3.0's refresh covers names/rooms/functions, not the device
|
|
304
|
+
table): the
|
|
305
|
+
connection answers the CCU's `listDevices` from its persisted cache
|
|
306
|
+
(`ccu_<host>.json`), so the daemon only sends `newDevices` for entries
|
|
307
|
+
the cache did not report. A channel that changes TYPE in place (HMW
|
|
308
|
+
I/O direction change) keeps its old datapoints forever. Workaround is
|
|
309
|
+
deleting the cache file; the fix is a "re-read device data" action on
|
|
310
|
+
the connection node. → B-5 or B-11.
|
|
311
|
+
- **Internal system variables are invisible** (#184, upstream): the
|
|
312
|
+
`variables.rega` script in `homematic-rega` iterates
|
|
313
|
+
`dom.GetObject(ID_SYSTEM_VARIABLES).EnumUsedIDs()`, which skips every
|
|
314
|
+
variable with `Internal() == true` — including the HmIP device-bound
|
|
315
|
+
ones (`svHmIPRainCounterToday_*`). Measured on a CCU3 3.89.8:
|
|
316
|
+
`EnumUsedIDs()` → 2, `EnumIDs()` → 4, the two extra being IDs 40/41,
|
|
317
|
+
which the script hard-codes for exactly this reason. Fix belongs in
|
|
318
|
+
homematic-rega (`EnumIDs()`, drop the special case); open question
|
|
319
|
+
whether internal variables ship by default or behind an option.
|
|
320
|
+
- ✅ **`ccu-mqtt` matches an `rpc` command it cannot execute** (#22, fixed 4.3.0): the
|
|
321
|
+
topic matcher includes `topicInputRpc`, but the class has no `rpc()`
|
|
322
|
+
method, so the match is silently dropped; `topicOutputRpc` is never
|
|
323
|
+
read. → B-3.
|
|
324
|
+
- ✅ **ReGa metadata is read once** (#167, fixed 4.3.0): `getRegaData()` (channels,
|
|
325
|
+
rooms, functions, groups) runs only in the connection constructor; the
|
|
326
|
+
poll refreshes variables and programs only. Rooms/functions added in
|
|
327
|
+
the WebUI stay invisible until redeploy. → B-3.
|
|
328
|
+
|
|
268
329
|
## 9. What to take from forks and PRs
|
|
269
330
|
|
|
270
331
|
- **PR [#162](https://github.com/rdmtc/node-red-contrib-ccu/pull/162)**
|
|
@@ -326,38 +387,48 @@ resolved/obsolete/wrong-repo), 4 got retest requests and stay open
|
|
|
326
387
|
roadmap item below.** Wrong annotations found during triage were
|
|
327
388
|
corrected in place (#178, #119, #148).
|
|
328
389
|
|
|
329
|
-
-
|
|
390
|
+
**Second pass 2026-09-04 (B-7 continued)**, covering the issues the
|
|
391
|
+
first pass had left without a comment plus #180…#186, transferred here
|
|
392
|
+
from rdmtc/RedMatic on 2026-09-04. 5 closed (#124 fixed in v3.2.1 and
|
|
393
|
+
never closed; #186 fixed by the xmlrpc 2.0 bump; #182 fixed by B-14;
|
|
394
|
+
#185 duplicate of #80; #158 answered — subflow parameters work via
|
|
395
|
+
`${ENV}` substitution), the rest commented with their roadmap item.
|
|
396
|
+
Eight defects were newly diagnosed against 4.2.0 in the process and are
|
|
397
|
+
recorded in §8.3 (#183, #166, #51, #158, #181, #184, #22, #167); #133
|
|
398
|
+
was confirmed rather than merely "to be retested".
|
|
399
|
+
|
|
400
|
+
- [#22](https://github.com/rdmtc/node-red-contrib-ccu/issues/22) MQTT Node: No GUI for node-input-topicInputRpc → B-3 (handler missing, not just the GUI — §8.3) — ✅ fixed in 4.3.0
|
|
330
401
|
- [#27](https://github.com/rdmtc/node-red-contrib-ccu/issues/27) Anpassungen an CCU Firmware >= 3.41 → B-12 (Auth/TLS halves still open)
|
|
331
|
-
- [#39](https://github.com/rdmtc/node-red-contrib-ccu/issues/39) topic handling vereinheitlichen
|
|
332
|
-
- [#44](https://github.com/rdmtc/node-red-contrib-ccu/issues/44) Configuration Option to deactivate Ping Checks → B-5
|
|
333
|
-
- [#51](https://github.com/rdmtc/node-red-contrib-ccu/issues/51) switch node casts boolean payloads to numbers
|
|
334
|
-
- [#52](https://github.com/rdmtc/node-red-contrib-ccu/issues/52) RPC Event: Zeitpunkt des letzten Events und ggf. letztes Topic
|
|
335
|
-
- [#54](https://github.com/rdmtc/node-red-contrib-ccu/issues/54) ccu-sysvar node: aktueller Status und ggf. Zeitpunkt von wann der Status stammt unter dem node → B-5
|
|
336
|
-
- [#56](https://github.com/rdmtc/node-red-contrib-ccu/issues/56) make property for sysvar-node configurable → B-2/B-5
|
|
402
|
+
- [#39](https://github.com/rdmtc/node-red-contrib-ccu/issues/39) topic handling vereinheitlichen → §6 (topic.js extracted; D-15 blocks changing the defaults)
|
|
403
|
+
- [#44](https://github.com/rdmtc/node-red-contrib-ccu/issues/44) Configuration Option to deactivate Ping Checks → B-5 — ✅ fixed in 4.3.0
|
|
404
|
+
- [#51](https://github.com/rdmtc/node-red-contrib-ccu/issues/51) switch node casts boolean payloads to numbers → §6.4 (no `bool` typedInput type — §8.3) — ✅ fixed in 4.3.0
|
|
405
|
+
- [#52](https://github.com/rdmtc/node-red-contrib-ccu/issues/52) RPC Event: Zeitpunkt des letzten Events und ggf. letztes Topic → B-5 — ✅ fixed in 4.3.0
|
|
406
|
+
- [#54](https://github.com/rdmtc/node-red-contrib-ccu/issues/54) ccu-sysvar node: aktueller Status und ggf. Zeitpunkt von wann der Status stammt unter dem node → B-5 — ✅ fixed in 4.3.0
|
|
407
|
+
- [#56](https://github.com/rdmtc/node-red-contrib-ccu/issues/56) make property for sysvar-node configurable → B-2/B-5 — ✅ fixed in 4.3.0
|
|
337
408
|
- [#58](https://github.com/rdmtc/node-red-contrib-ccu/issues/58) Hilfe Texte → §6.5
|
|
338
|
-
- [#71](https://github.com/rdmtc/node-red-contrib-ccu/issues/71) Set value node: allow to set filter properties with incoming msg → B-2
|
|
339
|
-
- [#80](https://github.com/rdmtc/node-red-contrib-ccu/issues/80) Signal Node: allow to overwrite settings via msg/context/env → B-2
|
|
409
|
+
- [#71](https://github.com/rdmtc/node-red-contrib-ccu/issues/71) Set value node: allow to set filter properties with incoming msg → B-2 — ✅ fixed in 4.3.0
|
|
410
|
+
- [#80](https://github.com/rdmtc/node-red-contrib-ccu/issues/80) Signal Node: allow to overwrite settings via msg/context/env → B-2 — ✅ fixed in 4.3.0
|
|
340
411
|
- [#81](https://github.com/rdmtc/node-red-contrib-ccu/issues/81) increase test coverage → §6.2
|
|
341
412
|
- [#87](https://github.com/rdmtc/node-red-contrib-ccu/issues/87) Changelog → D-11 — ✅ closed 2026-09-02
|
|
342
|
-
- [#96](https://github.com/rdmtc/node-red-contrib-ccu/issues/96) uncertain Flag das gesetzt wird wenn Rega Zeitstempel 1970-01-01 01:00:00 zurückgibt
|
|
343
|
-
- [#103](https://github.com/rdmtc/node-red-contrib-ccu/issues/103) switch node params via msg → B-2
|
|
413
|
+
- [#96](https://github.com/rdmtc/node-red-contrib-ccu/issues/96) uncertain Flag das gesetzt wird wenn Rega Zeitstempel 1970-01-01 01:00:00 zurückgibt → B-5 (flag done, filter option open) — ✅ fixed in 4.3.0
|
|
414
|
+
- [#103](https://github.com/rdmtc/node-red-contrib-ccu/issues/103) switch node params via msg → B-2 — ✅ fixed in 4.3.0
|
|
344
415
|
- [#105](https://github.com/rdmtc/node-red-contrib-ccu/issues/105) ccu-value Node: Weiterbenutzung des Input-msg-Objects, statt Neuinstaziierung — ✅ closed 2026-09-02
|
|
345
416
|
- [#106](https://github.com/rdmtc/node-red-contrib-ccu/issues/106) Statusänderung eines Kanals wird nicht übermittelt — ✅ closed 2026-09-02
|
|
346
417
|
- [#110](https://github.com/rdmtc/node-red-contrib-ccu/issues/110) Node-RED: v1.0.4 & CCU3-3.51.6 / Error: getaddrinfo ENOTFOUND — ✅ closed 2026-09-02
|
|
347
418
|
- [#111](https://github.com/rdmtc/node-red-contrib-ccu/issues/111) ON_TIME wird nicht initial befüllt
|
|
348
419
|
- [#112](https://github.com/rdmtc/node-red-contrib-ccu/issues/112) Nur drei Heizungsprofile verfügbar (# 4-6 stehen nicht zur Auswahl) → B-1 (stale MAX=3 in paramset)
|
|
349
420
|
- [#114](https://github.com/rdmtc/node-red-contrib-ccu/issues/114) Possible to use "localfilesystem" for Context Store — ✅ closed 2026-09-02
|
|
350
|
-
- [#115](https://github.com/rdmtc/node-red-contrib-ccu/issues/115) add get/update method to mqtt node
|
|
421
|
+
- [#115](https://github.com/rdmtc/node-red-contrib-ccu/issues/115) add get/update method to mqtt node → B-3 — ✅ fixed in 4.3.0
|
|
351
422
|
- [#116](https://github.com/rdmtc/node-red-contrib-ccu/issues/116) Google Home Anbindung: State von CCU wird nicht zurück an Google Home übermittelt — ✅ closed 2026-09-02
|
|
352
423
|
- [#117](https://github.com/rdmtc/node-red-contrib-ccu/issues/117) Einbinden HmIP-FCI6 → B-1
|
|
353
424
|
- [#119](https://github.com/rdmtc/node-red-contrib-ccu/issues/119) HmIP-BROLL wird nicht gefunden (resolved: port misconfiguration) — ✅ closed 2026-09-02
|
|
354
425
|
- [#121](https://github.com/rdmtc/node-red-contrib-ccu/issues/121) rpc-event STICKY_UNREACH — ✅ closed 2026-09-02
|
|
355
|
-
- [#124](https://github.com/rdmtc/node-red-contrib-ccu/issues/124) poll variable description
|
|
426
|
+
- [#124](https://github.com/rdmtc/node-red-contrib-ccu/issues/124) poll variable description — ✅ closed 2026-09-04 (fixed 2020-08-03 in 453f2b2, v3.2.1; never closed)
|
|
356
427
|
- [#126](https://github.com/rdmtc/node-red-contrib-ccu/issues/126) Context store property name dot replacement — ✅ closed 2026-09-02
|
|
357
428
|
- [#128](https://github.com/rdmtc/node-red-contrib-ccu/issues/128) CCU Switch node - wrong resize in settings dialog (fix in v3.4.2?) — ✅ closed 2026-09-02
|
|
358
429
|
- [#129](https://github.com/rdmtc/node-red-contrib-ccu/issues/129) ccu-get-value node: bei einer Werteliste wird nur der value zurückgegeben (fix in v3.4.2?) — ✅ closed 2026-09-02
|
|
359
430
|
- [#132](https://github.com/rdmtc/node-red-contrib-ccu/issues/132) Ports — ✅ closed 2026-09-02
|
|
360
|
-
- [#133](https://github.com/rdmtc/node-red-contrib-ccu/issues/133) ccu-set-value "remembers" previous events
|
|
431
|
+
- [#133](https://github.com/rdmtc/node-red-contrib-ccu/issues/133) ccu-set-value "remembers" previous events → B-2 (confirmed on 4.2.0: `setValues()` mutates `this.config`, so only the first msg configures the node) — ✅ fixed in 4.3.0
|
|
361
432
|
- [#136](https://github.com/rdmtc/node-red-contrib-ccu/issues/136) HmIP-FBL → B-1
|
|
362
433
|
- [#138](https://github.com/rdmtc/node-red-contrib-ccu/issues/138) Failed at the grpc@1.19.0 install script — ✅ closed 2026-09-02
|
|
363
434
|
- [#139](https://github.com/rdmtc/node-red-contrib-ccu/issues/139) CCU Node error message in the log (IoBroker) — ✅ closed 2026-09-02
|
|
@@ -366,23 +437,34 @@ corrected in place (#178, #119, #148).
|
|
|
366
437
|
- [#144](https://github.com/rdmtc/node-red-contrib-ccu/issues/144) Signal Node: Integration of HmIP-WRCD → B-1
|
|
367
438
|
- [#145](https://github.com/rdmtc/node-red-contrib-ccu/issues/145) CCU value Node CUX16 no Output
|
|
368
439
|
- [#146](https://github.com/rdmtc/node-red-contrib-ccu/issues/146) CCU different / changing Nodes with "unknown Datapoint"
|
|
369
|
-
- [#148](https://github.com/rdmtc/node-red-contrib-ccu/issues/148) Signal Node: HmIP-MP3P Dynamisches Setzen von SOUNDFILE_LIST → B-2
|
|
440
|
+
- [#148](https://github.com/rdmtc/node-red-contrib-ccu/issues/148) Signal Node: HmIP-MP3P Dynamisches Setzen von SOUNDFILE_LIST → B-2 — ✅ fixed in 4.3.0
|
|
370
441
|
- [#149](https://github.com/rdmtc/node-red-contrib-ccu/issues/149) XML-RPC fault mit falscher value? — ✅ closed 2026-09-02
|
|
371
442
|
- [#151](https://github.com/rdmtc/node-red-contrib-ccu/issues/151) FROLL: Cache geht nicht mit Geräten mit 2 Kanälen für Soll/Ist bei Handbedienung
|
|
372
443
|
- [#154](https://github.com/rdmtc/node-red-contrib-ccu/issues/154) HmIP-BBL datapoint LEVEL_2 cannot be set → B-1
|
|
373
444
|
- [#155](https://github.com/rdmtc/node-red-contrib-ccu/issues/155) Error: Local address XXX not available. Using YYY instead. — ✅ closed 2026-09-02
|
|
374
445
|
- [#156](https://github.com/rdmtc/node-red-contrib-ccu/issues/156) Set PARTY_TIME_START and PARTY_TIME_END not working → B-13
|
|
375
|
-
- [#158](https://github.com/rdmtc/node-red-contrib-ccu/issues/158) using in SubFlows
|
|
446
|
+
- [#158](https://github.com/rdmtc/node-red-contrib-ccu/issues/158) using in SubFlows — ✅ closed 2026-09-04 (works via `${ENV}`; editor clears the placeholder — §8.3)
|
|
376
447
|
- [#159](https://github.com/rdmtc/node-red-contrib-ccu/issues/159) Fehlender CuxD datapoint "DIR" → B-1
|
|
377
448
|
- [#160](https://github.com/rdmtc/node-red-contrib-ccu/issues/160) Node-RED Absturz bei Verbindungsverlust zur CCU → D-5 — ✅ closed 2026-09-02
|
|
378
449
|
- [#161](https://github.com/rdmtc/node-red-contrib-ccu/issues/161) Feature Request: Node "Party Mode" → B-13
|
|
379
450
|
- [#164](https://github.com/rdmtc/node-red-contrib-ccu/issues/164) Support CCU-Jack → D-14
|
|
380
|
-
- [#166](https://github.com/rdmtc/node-red-contrib-ccu/issues/166) Mehrere Variablen sofort schreiben und triggern
|
|
381
|
-
- [#167](https://github.com/rdmtc/node-red-contrib-ccu/issues/167) updated function values in ccu and functions in ccu-mqtt node
|
|
451
|
+
- [#166](https://github.com/rdmtc/node-red-contrib-ccu/issues/166) Mehrere Variablen sofort schreiben und triggern → B-5 (regaPoll drops the re-poll while one is pending — §8.3) — ✅ fixed in 4.3.0
|
|
452
|
+
- [#167](https://github.com/rdmtc/node-red-contrib-ccu/issues/167) updated function values in ccu and functions in ccu-mqtt node → B-3 (getRegaData runs once, in the constructor — §8.3) — ✅ fixed in 4.3.0
|
|
382
453
|
- [#169](https://github.com/rdmtc/node-red-contrib-ccu/issues/169) "Error: XML-RPC fault: Generic error (UNREACH)" — ✅ closed 2026-09-02
|
|
383
454
|
- [#170](https://github.com/rdmtc/node-red-contrib-ccu/issues/170) Auslesen System-Variable — ✅ closed 2026-09-02
|
|
384
|
-
- [#172](https://github.com/rdmtc/node-red-contrib-ccu/issues/172) Configure CCU-Value through message → B-2
|
|
455
|
+
- [#172](https://github.com/rdmtc/node-red-contrib-ccu/issues/172) Configure CCU-Value through message → B-2 — ✅ fixed in 4.3.0
|
|
385
456
|
- [#175](https://github.com/rdmtc/node-red-contrib-ccu/issues/175) HmIP-DRBLI4 Level_2 not working → B-1
|
|
386
457
|
- [#176](https://github.com/rdmtc/node-red-contrib-ccu/issues/176) Deprecated dependencies → D-4/D-6/D-7 — ✅ closed 2026-09-02
|
|
387
458
|
- [#177](https://github.com/rdmtc/node-red-contrib-ccu/issues/177) HmIP-BSL 2.0.2 & Signal Node: Color Behaviour missing → B-1
|
|
388
459
|
- [#178](https://github.com/rdmtc/node-red-contrib-ccu/issues/178) HmIP-SWDO visible in device list but HmIP-SWDO-PL-2 not (redmatic-homekit issue, wrong repo) — ✅ closed 2026-09-02
|
|
460
|
+
|
|
461
|
+
Transferred here from rdmtc/RedMatic on 2026-09-04 (all predate the
|
|
462
|
+
snapshot above):
|
|
463
|
+
|
|
464
|
+
- [#180](https://github.com/rdmtc/node-red-contrib-ccu/issues/180) ccu-get-value Node liefert immer nur "value" — runtime honours the property on 4.2.0, retest requested
|
|
465
|
+
- [#181](https://github.com/rdmtc/node-red-contrib-ccu/issues/181) Redmatic Datenpunkte HMW-IO-12-FM → stale `ccu_<host>.json` device cache (§8.3), workaround given, retest requested
|
|
466
|
+
- [#182](https://github.com/rdmtc/node-red-contrib-ccu/issues/182) HmIPW-DRBL4 combatibility — ✅ closed 2026-09-04 (fixed by B-14 in 4.1.0)
|
|
467
|
+
- [#183](https://github.com/rdmtc/node-red-contrib-ccu/issues/183) RSSI hat falschen Wert / TypeCast → fixed for the ReGa path in v3.4.2; conversion still unguarded (§8.3) — ✅ fixed in 4.3.0
|
|
468
|
+
- [#184](https://github.com/rdmtc/node-red-contrib-ccu/issues/184) Systemvariablen (versteckt) nicht auswählbar → upstream homematic-rega `EnumUsedIDs()` (§8.3)
|
|
469
|
+
- [#185](https://github.com/rdmtc/node-red-contrib-ccu/issues/185) Parameter der Node Display für HMIP-BSL als Eingang — ✅ closed 2026-09-04 (duplicate of #80 → B-2)
|
|
470
|
+
- [#186](https://github.com/rdmtc/node-red-contrib-ccu/issues/186) RedMatic startet nicht, wenn HM-LC-Sw2-FM Geräte vorhanden — ✅ closed 2026-09-04 (xmlbuilder `assertLegalChar` gone with homematic-xmlrpc 2.0, D-4)
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": "ccu-mqtt-example",
|
|
4
|
+
"type": "ccu-mqtt",
|
|
5
|
+
"name": "ccu ⇄ mqtt",
|
|
6
|
+
"ccuConfig": "ccu-conn-example",
|
|
7
|
+
"cache": true,
|
|
8
|
+
"topicOutputEvent": "hm/status/${channelName}/${datapoint}",
|
|
9
|
+
"topicInputSetValue": "hm/set/${channelNameOrAddress}/${datapoint}",
|
|
10
|
+
"topicOutputSysvar": "hm/status/${name}",
|
|
11
|
+
"topicInputSysvar": "hm/set/${name}",
|
|
12
|
+
"topicInputPutParam": "hm/paramset/${channelNameOrAddress}/${paramset}/${param}",
|
|
13
|
+
"topicInputPutParamset": "hm/paramset/${channelNameOrAddress}/${paramset}",
|
|
14
|
+
"topicInputRpc": "hm/rpc/${iface}/${method}/${command}/${callid}",
|
|
15
|
+
"topicOutputRpc": "hm/response/${callid}",
|
|
16
|
+
"topicCounters": "hm/status/counter/${iface}/${rxtx}",
|
|
17
|
+
"payloadOutput": "mqsh-extended",
|
|
18
|
+
"x": 380,
|
|
19
|
+
"y": 100,
|
|
20
|
+
"wires": [["mqtt-out-example"]]
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "mqtt-in-example",
|
|
24
|
+
"type": "mqtt in",
|
|
25
|
+
"name": "hm/set/#",
|
|
26
|
+
"topic": "hm/set/#",
|
|
27
|
+
"qos": "0",
|
|
28
|
+
"datatype": "auto-detect",
|
|
29
|
+
"broker": "mqtt-broker-example",
|
|
30
|
+
"nl": false,
|
|
31
|
+
"rap": true,
|
|
32
|
+
"rh": 0,
|
|
33
|
+
"inputs": 0,
|
|
34
|
+
"x": 160,
|
|
35
|
+
"y": 100,
|
|
36
|
+
"wires": [["ccu-mqtt-example"]]
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "mqtt-out-example",
|
|
40
|
+
"type": "mqtt out",
|
|
41
|
+
"name": "",
|
|
42
|
+
"topic": "",
|
|
43
|
+
"qos": "",
|
|
44
|
+
"retain": "",
|
|
45
|
+
"respTopic": "",
|
|
46
|
+
"contentType": "",
|
|
47
|
+
"userProps": "",
|
|
48
|
+
"correl": "",
|
|
49
|
+
"expiry": "",
|
|
50
|
+
"broker": "mqtt-broker-example",
|
|
51
|
+
"x": 640,
|
|
52
|
+
"y": 140,
|
|
53
|
+
"wires": []
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "ccu-ha-example",
|
|
57
|
+
"type": "ccu-homeassistant",
|
|
58
|
+
"name": "Home Assistant discovery",
|
|
59
|
+
"ccuConfig": "ccu-conn-example",
|
|
60
|
+
"mqttNode": "ccu-mqtt-example",
|
|
61
|
+
"prefix": "homeassistant",
|
|
62
|
+
"generic": true,
|
|
63
|
+
"devices": {},
|
|
64
|
+
"x": 400,
|
|
65
|
+
"y": 180,
|
|
66
|
+
"wires": [["mqtt-out-example"]]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": "inject-republish",
|
|
70
|
+
"type": "inject",
|
|
71
|
+
"name": "republish discovery",
|
|
72
|
+
"props": [{"p": "payload"}],
|
|
73
|
+
"repeat": "",
|
|
74
|
+
"crontab": "",
|
|
75
|
+
"once": false,
|
|
76
|
+
"onceDelay": 0.1,
|
|
77
|
+
"topic": "",
|
|
78
|
+
"payload": "",
|
|
79
|
+
"payloadType": "date",
|
|
80
|
+
"x": 170,
|
|
81
|
+
"y": 180,
|
|
82
|
+
"wires": [["ccu-ha-example"]]
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"id": "comment-ha",
|
|
86
|
+
"type": "comment",
|
|
87
|
+
"name": "Tick the devices to publish in the Home Assistant node's config dialog, then deploy",
|
|
88
|
+
"info": "",
|
|
89
|
+
"x": 330,
|
|
90
|
+
"y": 40,
|
|
91
|
+
"wires": []
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"id": "mqtt-broker-example",
|
|
95
|
+
"type": "mqtt-broker",
|
|
96
|
+
"name": "Broker",
|
|
97
|
+
"broker": "mqtt-broker-hostname-or-ip",
|
|
98
|
+
"port": "1883",
|
|
99
|
+
"clientid": "",
|
|
100
|
+
"autoConnect": true,
|
|
101
|
+
"usetls": false,
|
|
102
|
+
"protocolVersion": "4",
|
|
103
|
+
"keepalive": "60",
|
|
104
|
+
"cleansession": true,
|
|
105
|
+
"autoUnsubscribe": true
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "ccu-conn-example",
|
|
109
|
+
"type": "ccu-connection",
|
|
110
|
+
"name": "CCU",
|
|
111
|
+
"host": "ccu3-hostname-or-ip",
|
|
112
|
+
"regaEnabled": true,
|
|
113
|
+
"bcrfEnabled": true,
|
|
114
|
+
"iprfEnabled": true,
|
|
115
|
+
"virtEnabled": false,
|
|
116
|
+
"bcwiEnabled": false,
|
|
117
|
+
"cuxdEnabled": false,
|
|
118
|
+
"jackEnabled": false,
|
|
119
|
+
"regaPoll": true,
|
|
120
|
+
"regaInterval": "30",
|
|
121
|
+
"rpcPingTimeout": "60",
|
|
122
|
+
"rpcInitAddress": "",
|
|
123
|
+
"rpcServerHost": "",
|
|
124
|
+
"rpcBinPort": "2047",
|
|
125
|
+
"rpcXmlPort": "2048"
|
|
126
|
+
}
|
|
127
|
+
]
|
package/nodes/ccu-alexa.html
CHANGED
|
@@ -122,7 +122,9 @@
|
|
|
122
122
|
arr.sort((a, b) => a.localeCompare(b));
|
|
123
123
|
$nodeInputChannel.autocomplete('option', 'source', arr);
|
|
124
124
|
|
|
125
|
-
|
|
125
|
+
// ${ENV} placeholders are substituted by Node-RED before the node is
|
|
126
|
+
// constructed (subflow parameters, #158) - do not clear them
|
|
127
|
+
if (!/^\$\{[^}]+\}$/.test($nodeInputChannel.val()) && !data[$nodeInputChannel.val().split(' ')[0]]) {
|
|
126
128
|
$nodeInputChannel.val('');
|
|
127
129
|
}
|
|
128
130
|
}
|