node-red-contrib-knx-ultimate 5.0.3 → 5.0.4
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 +4 -0
- package/nodes/knxUltimateIoTBridge.html +10 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
# CHANGELOG
|
|
8
8
|
|
|
9
|
+
**Version 5.0.4** - July 2026<br/>
|
|
10
|
+
|
|
11
|
+
- **IoT Bridge** node, **Covers & Thermostats** editor: fixed the group-address autocomplete, which suggested only DPT **1.x** addresses in every field. Each field now filters by the datapoint it expects: cover **Set/Status position** GAs list DPT **5.x** (5.001), and the thermostat **Current temperature** and **Setpoint set/status** GAs list DPT **9.x** (9.001). Up/Down, Stop and On/Off keep their 1.x filter.<br/>
|
|
12
|
+
|
|
9
13
|
**Version 5.0.3** - July 2026<br/>
|
|
10
14
|
|
|
11
15
|
- Added a link to the **KNX-Ultimate YouTube tutorials playlist** at the top of every node's configuration panel, so the video tutorials are one click away from any node.<br/>
|
|
@@ -402,10 +402,17 @@
|
|
|
402
402
|
const T = (k) => node._('knxUltimateIoTBridge.ha.' + k);
|
|
403
403
|
const coverFields = ['gaUpDown', 'gaStop', 'gaPosSet', 'gaPosState'];
|
|
404
404
|
const climateFields = ['gaCurrentTemp', 'gaSetpointSet', 'gaSetpointState', 'gaOnOff'];
|
|
405
|
+
// DPT main-type each field expects, used to filter the GA autocomplete so
|
|
406
|
+
// e.g. the position GAs suggest DPT 5.x and the temperature GAs suggest 9.x
|
|
407
|
+
// instead of everything defaulting to 1.x.
|
|
408
|
+
const gaDptFilter = {
|
|
409
|
+
gaUpDown: '1.', gaStop: '1.', gaPosSet: '5.', gaPosState: '5.',
|
|
410
|
+
gaCurrentTemp: '9.', gaSetpointSet: '9.', gaSetpointState: '9.', gaOnOff: '1.'
|
|
411
|
+
};
|
|
405
412
|
|
|
406
413
|
// Group-address autocomplete, identical to the mapping GA field (and the
|
|
407
414
|
// knxUltimate node): suggests GAs from the gateway's ETS CSV.
|
|
408
|
-
function attachGaAutocomplete(input) {
|
|
415
|
+
function attachGaAutocomplete(input, dptFilter) {
|
|
409
416
|
try {
|
|
410
417
|
if (oNodeServer && oNodeServer.id && typeof KNX_enableSecureFormatting === 'function') {
|
|
411
418
|
KNX_enableSecureFormatting(input, oNodeServer.id);
|
|
@@ -419,7 +426,7 @@
|
|
|
419
426
|
$.getJSON('knxUltimatecsv?nodeID=' + sid, (data) => {
|
|
420
427
|
response($.map(data || [], (value) => {
|
|
421
428
|
const search = (value.ga + ' (' + value.devicename + ') DPT' + value.dpt);
|
|
422
|
-
if (htmlUtilsfullCSVSearch(search, request.term + ' 1.')) {
|
|
429
|
+
if (htmlUtilsfullCSVSearch(search, request.term + ' ' + (dptFilter || '1.'))) {
|
|
423
430
|
return {
|
|
424
431
|
label: value.ga + ' # ' + value.devicename + ' # ' + value.dpt,
|
|
425
432
|
value: value.ga
|
|
@@ -440,7 +447,7 @@
|
|
|
440
447
|
$('<label/>').css({ width: '160px' }).text(T('ce_' + key)).appendTo(row);
|
|
441
448
|
const input = $('<input/>', { type: 'text', class: 'ce-' + key })
|
|
442
449
|
.attr('placeholder', '1/2/3').css({ width: '130px' }).val(value || '').appendTo(row);
|
|
443
|
-
attachGaAutocomplete(input);
|
|
450
|
+
attachGaAutocomplete(input, gaDptFilter[key]);
|
|
444
451
|
return input;
|
|
445
452
|
}
|
|
446
453
|
function numRow(parent, key, value) {
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"engines": {
|
|
4
4
|
"node": ">=20.18.1"
|
|
5
5
|
},
|
|
6
|
-
"version": "5.0.
|
|
6
|
+
"version": "5.0.4",
|
|
7
7
|
"description": "Control your KNX and KNX Secure intallation via Node-Red! A bunch of KNX nodes, with integrated Philips HUE control, ETS group address importer, KNX AI for diagnosticsand KNX routing between interfaces. Easy to use and highly configurable.",
|
|
8
8
|
"files": [
|
|
9
9
|
"nodes/",
|