node-red-contrib-knx-ultimate 6.3.0 → 6.3.1
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 +5 -0
- package/nodes/hue-config.js +3 -9
- package/nodes/knxUltimate-config.js +2 -2
- package/nodes/knxUltimateAI.html +2 -2
- package/nodes/matter-config.js +3 -9
- package/nodes/matterbridge-config.js +3 -9
- package/nodes/plugins/knxUltimateAI-vue/assets/app.js +4 -3
- package/nodes/plugins/knxUltimateAI-vue/assets/chunk-index.es.js +5 -5
- package/nodes/plugins/knxUltimateAI-vue/assets/chunk-jspdf.es.min.js +58 -57
- package/nodes/plugins/knxUltimateAI-vue/assets/chunk-purify.es.js +3 -3
- package/nodes/plugins/knxUltimateViewer-vue/assets/app.js +2 -1
- package/nodes/utils/sysLogger.js +65 -15
- package/package.json +14 -12
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,11 @@
|
|
|
6
6
|
|
|
7
7
|
# CHANGELOG
|
|
8
8
|
|
|
9
|
+
**Version 6.3.1** - August 2026<br/>
|
|
10
|
+
|
|
11
|
+
- Updated dependencies, including the security-fixed jsPDF release.<br/>
|
|
12
|
+
- Replaced `node-color-log` with Winston, shared with the KNXUltimate engine.<br/>
|
|
13
|
+
|
|
9
14
|
**Version 6.3.0** - August 2026<br/>
|
|
10
15
|
|
|
11
16
|
- **HUE Controller**: unified device-first workflow for all supported Hue API v2 resources, with automatic type detection and legacy-node migration.<br/>
|
package/nodes/hue-config.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
/* eslint-disable no-inner-declarations */
|
|
6
6
|
/* eslint-disable max-len */
|
|
7
7
|
const cloneDeep = require('lodash/cloneDeep')
|
|
8
|
+
const LoggerClass = require('./utils/sysLogger')
|
|
8
9
|
const {
|
|
9
10
|
HUE_CONTROLLER_RESOURCE_TYPES,
|
|
10
11
|
buildHueControllerResourceCatalog
|
|
@@ -12,14 +13,6 @@ const {
|
|
|
12
13
|
// const classHUE = require("./utils/hueEngine").classHUE;
|
|
13
14
|
const hueColorConverter = require('./utils/colorManipulators/hueColorConverter')
|
|
14
15
|
|
|
15
|
-
// 10/09/2024 Setup the color logger
|
|
16
|
-
loggerSetup = (options) => {
|
|
17
|
-
const clog = require('node-color-log').createNamedLogger(options.setPrefix)
|
|
18
|
-
clog.setLevel(options.loglevel)
|
|
19
|
-
clog.setDate(() => (new Date()).toLocaleString())
|
|
20
|
-
return clog
|
|
21
|
-
}
|
|
22
|
-
|
|
23
16
|
module.exports = (RED) => {
|
|
24
17
|
function hueConfig (config) {
|
|
25
18
|
RED.nodes.createNode(this, config)
|
|
@@ -33,7 +26,7 @@ module.exports = (RED) => {
|
|
|
33
26
|
node.pendingHueResourceReload = null
|
|
34
27
|
node.activeHueIdentifySessions = new Map()
|
|
35
28
|
try {
|
|
36
|
-
node.sysLogger =
|
|
29
|
+
node.sysLogger = new LoggerClass({ loglevel: node.loglevel, setPrefix: 'hue-config.js' })
|
|
37
30
|
} catch (error) { console.log(error.stack) }
|
|
38
31
|
node.name = config.name === undefined || config.name === '' ? node.host : config.name
|
|
39
32
|
|
|
@@ -798,6 +791,7 @@ module.exports = (RED) => {
|
|
|
798
791
|
|
|
799
792
|
node.on('close', (done) => {
|
|
800
793
|
try {
|
|
794
|
+
node.sysLogger?.destroy()
|
|
801
795
|
node.sysLogger = null
|
|
802
796
|
node.nodeClients = []
|
|
803
797
|
node.closeConnection()
|
|
@@ -2755,8 +2755,8 @@ module.exports = (RED) => {
|
|
|
2755
2755
|
} catch (error) { /* empty */ }
|
|
2756
2756
|
node.nodeClients = [] // 05/04/2022 Nullify
|
|
2757
2757
|
try {
|
|
2758
|
-
|
|
2759
|
-
|
|
2758
|
+
node.sysLogger?.destroy()
|
|
2759
|
+
node.sysLogger = null
|
|
2760
2760
|
} catch (error) { /* empty */ }
|
|
2761
2761
|
done()
|
|
2762
2762
|
})
|
package/nodes/knxUltimateAI.html
CHANGED
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
|
|
116
116
|
<script type="text/javascript">
|
|
117
117
|
RED.nodes.registerType('knxUltimateAI', {
|
|
118
|
-
category: "KNX Ultimate",
|
|
118
|
+
category: "KNX Ultimate AI",
|
|
119
119
|
color: '#FF9800',
|
|
120
120
|
defaults: {
|
|
121
121
|
server: { type: "knxUltimate-config", required: true },
|
|
@@ -875,4 +875,4 @@
|
|
|
875
875
|
</div>
|
|
876
876
|
</div>
|
|
877
877
|
</div>
|
|
878
|
-
</script>
|
|
878
|
+
</script>
|
package/nodes/matter-config.js
CHANGED
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
/* eslint-disable max-len */
|
|
2
2
|
const path = require('path')
|
|
3
|
+
const LoggerClass = require('./utils/sysLogger')
|
|
3
4
|
const { exportMatterStorage, importMatterStorage } = require('./utils/matterStorageBackup')
|
|
4
5
|
const matterPackageVersion = require('@matter/main').version
|
|
5
6
|
const { Specification } = require('@matter/model')
|
|
6
7
|
|
|
7
|
-
// 10/09/2024 Setup the color logger
|
|
8
|
-
const loggerSetup = (options) => {
|
|
9
|
-
const clog = require('node-color-log').createNamedLogger(options.setPrefix)
|
|
10
|
-
clog.setLevel(options.loglevel)
|
|
11
|
-
clog.setDate(() => (new Date()).toLocaleString())
|
|
12
|
-
return clog
|
|
13
|
-
}
|
|
14
|
-
|
|
15
8
|
module.exports = (RED) => {
|
|
16
9
|
function matterConfig (config) {
|
|
17
10
|
RED.nodes.createNode(this, config)
|
|
@@ -30,7 +23,7 @@ module.exports = (RED) => {
|
|
|
30
23
|
message: 'Waiting for commissioning to start.'
|
|
31
24
|
}
|
|
32
25
|
try {
|
|
33
|
-
node.sysLogger =
|
|
26
|
+
node.sysLogger = new LoggerClass({ loglevel: node.loglevel, setPrefix: 'matter-config.js' })
|
|
34
27
|
} catch (error) { console.log(error.stack) }
|
|
35
28
|
node.name = config.name === undefined || config.name === '' ? 'Matter Controller' : config.name
|
|
36
29
|
node.fabricLabel = config.fabricLabel === undefined || config.fabricLabel === '' ? 'KNX-Ultimate' : config.fabricLabel
|
|
@@ -378,6 +371,7 @@ module.exports = (RED) => {
|
|
|
378
371
|
try {
|
|
379
372
|
if (node.matterManager !== null) await node.matterManager.close()
|
|
380
373
|
node.matterManager = null
|
|
374
|
+
node.sysLogger?.destroy()
|
|
381
375
|
node.sysLogger = null
|
|
382
376
|
done()
|
|
383
377
|
} catch (error) {
|
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
/* eslint-disable max-len */
|
|
2
2
|
const path = require('path')
|
|
3
|
+
const LoggerClass = require('./utils/sysLogger')
|
|
3
4
|
const { exportMatterStorage, importMatterStorage } = require('./utils/matterStorageBackup')
|
|
4
5
|
const matterPackageVersion = require('@matter/main').version
|
|
5
6
|
const { Specification } = require('@matter/model')
|
|
6
7
|
|
|
7
|
-
// 10/09/2024 Setup the color logger
|
|
8
|
-
const loggerSetup = (options) => {
|
|
9
|
-
const clog = require('node-color-log').createNamedLogger(options.setPrefix)
|
|
10
|
-
clog.setLevel(options.loglevel)
|
|
11
|
-
clog.setDate(() => (new Date()).toLocaleString())
|
|
12
|
-
return clog
|
|
13
|
-
}
|
|
14
|
-
|
|
15
8
|
// The running Matter servers, keyed by config node id. Kept OUTSIDE the node lifecycle:
|
|
16
9
|
// a re-deploy must NOT restart the Matter server, otherwise the paired controllers
|
|
17
10
|
// resume their session without re-reading the structure and never see device changes.
|
|
@@ -26,7 +19,7 @@ module.exports = (RED) => {
|
|
|
26
19
|
node.loglevel = config.loglevel !== undefined ? config.loglevel : 'error'
|
|
27
20
|
node.sysLogger = null
|
|
28
21
|
try {
|
|
29
|
-
node.sysLogger =
|
|
22
|
+
node.sysLogger = new LoggerClass({ loglevel: node.loglevel, setPrefix: 'matterbridge-config.js' })
|
|
30
23
|
} catch (error) { console.log(error.stack) }
|
|
31
24
|
|
|
32
25
|
node.name = config.name === undefined || config.name === '' ? 'Matter Bridge' : config.name
|
|
@@ -258,6 +251,7 @@ module.exports = (RED) => {
|
|
|
258
251
|
} catch (error) { /* empty */ }
|
|
259
252
|
node.matterBridge = null
|
|
260
253
|
node.deviceClients.clear()
|
|
254
|
+
node.sysLogger?.destroy()
|
|
261
255
|
node.sysLogger = null
|
|
262
256
|
done()
|
|
263
257
|
})()
|