node-red-contrib-knx-ultimate 6.3.32 → 6.4.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 +9 -0
- package/nodes/knxUltimateAI.html +20 -6
- package/nodes/knxUltimateAI.js +1450 -120
- package/nodes/knxUltimateAIHomeAssistant.html +38 -0
- package/nodes/knxUltimateAIHomeAssistant.js +152 -0
- package/nodes/locales/de/knxUltimateAI.json +5 -2
- package/nodes/locales/en/knxUltimateAI.html +11 -3
- package/nodes/locales/en/knxUltimateAI.json +5 -2
- package/nodes/locales/es/knxUltimateAI.json +5 -2
- package/nodes/locales/fr/knxUltimateAI.json +5 -2
- package/nodes/locales/it/knxUltimateAI.html +11 -3
- package/nodes/locales/it/knxUltimateAI.json +5 -2
- package/nodes/locales/zh-CN/knxUltimateAI.json +5 -2
- package/nodes/plugins/knxUltimate-cerebrum-runtime-plugin.js +79 -0
- package/nodes/plugins/knxUltimateAI-vue/assets/app.css +1 -1
- package/nodes/plugins/knxUltimateAI-vue/assets/app.js +13 -4
- package/nodes/utils/knxAiCamera.js +4 -4
- package/nodes/utils/knxAiCerebrum.js +406 -0
- package/nodes/utils/knxAiHomeMemory.js +541 -7
- package/nodes/utils/knxAiSemanticContext.js +5 -5
- package/package.json +5 -3
- package/resources/KNXAIChatAdapterMappings.js +31 -5
- package/resources/hueControllerProfiles.js +7614 -7622
|
@@ -574,11 +574,11 @@ const packKnxAiSemanticContext = ({ catalog, byteBudget, detailReferences } = {}
|
|
|
574
574
|
const overflowDeclaration = complete
|
|
575
575
|
? ''
|
|
576
576
|
: pickOverflowDeclaration({
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
577
|
+
byteBudget: Math.max(0, maxBytes - buffer.usedBytes() - 1),
|
|
578
|
+
manifestBytes: packedManifestBytes,
|
|
579
|
+
recordCount: records.length,
|
|
580
|
+
includedCount
|
|
581
|
+
})
|
|
582
582
|
if (overflowDeclaration) buffer.appendAtomic(overflowDeclaration)
|
|
583
583
|
return {
|
|
584
584
|
lines: buffer.lines,
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"engines": {
|
|
4
4
|
"node": ">=20.18.1"
|
|
5
5
|
},
|
|
6
|
-
"version": "6.
|
|
6
|
+
"version": "6.4.1",
|
|
7
7
|
"description": "KNX Ultimate is the most advanced KNX integration for Node-RED, providing secure KNX/IP communication, routing, ETS project import, Philips Hue, Matter Controller and Matter Bridge (control matter device via KNX and expose KNX GA via Matter), MQTT and Modbus adapters, diagnostics with AI, virtual devices, and powerful automation nodes. Build professional, reliable, and scalable smart home and building automation projects with minimal effort.",
|
|
8
8
|
"files": [
|
|
9
9
|
"nodes/",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@project-chip/matter.js": "^0.17.9",
|
|
22
22
|
"google-translate-tts": "^0.3.0",
|
|
23
23
|
"js-yaml": "4.3.1",
|
|
24
|
-
"knxultimate": "6.0.
|
|
24
|
+
"knxultimate": "6.0.3",
|
|
25
25
|
"lodash": "4.18.1",
|
|
26
26
|
"mqtt": "^5.15.2",
|
|
27
27
|
"ping": "0.4.4",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"version": ">=3.1.1",
|
|
33
33
|
"plugins": {
|
|
34
34
|
"commonFunctions": "/nodes/commonFunctions.js",
|
|
35
|
+
"knxUltimateCerebrumRuntime": "/nodes/plugins/knxUltimate-cerebrum-runtime-plugin.js",
|
|
35
36
|
"knxUltimateFlowBubbles": "/nodes/plugins/knxUltimate-flow-bubbles-plugin.html"
|
|
36
37
|
},
|
|
37
38
|
"nodes": {
|
|
@@ -46,6 +47,7 @@
|
|
|
46
47
|
"knxUltimateAlerter": "/nodes/knxUltimateAlerter.js",
|
|
47
48
|
"knxUltimateViewer": "/nodes/knxUltimateViewer.js",
|
|
48
49
|
"knxUltimateAI": "/nodes/knxUltimateAI.js",
|
|
50
|
+
"knxUltimateAIHomeAssistant": "/nodes/knxUltimateAIHomeAssistant.js",
|
|
49
51
|
"knxUltimateMultiRouting": "/nodes/knxUltimateMultiRouting.js",
|
|
50
52
|
"knxUltimateRouterFilter": "/nodes/knxUltimateRouterFilter.js",
|
|
51
53
|
"knxUltimateAutoResponder": "/nodes/knxUltimateAutoResponder.js",
|
|
@@ -150,4 +152,4 @@
|
|
|
150
152
|
"vite": "^7.3.6",
|
|
151
153
|
"vue": "^3.5.41"
|
|
152
154
|
}
|
|
153
|
-
}
|
|
155
|
+
}
|
|
@@ -290,12 +290,38 @@ if (sourcePayload.userId !== undefined && msg.originalMessage.userId === undefin
|
|
|
290
290
|
msg.originalMessage.userId = sourcePayload.userId;
|
|
291
291
|
}
|
|
292
292
|
if (typeof msg.chat !== 'function') {
|
|
293
|
+
const contextValues = {
|
|
294
|
+
chatId: chatId,
|
|
295
|
+
userId: sourcePayload.userId,
|
|
296
|
+
transport: sourcePayload.transport || 'telegram'
|
|
297
|
+
};
|
|
298
|
+
const syntheticContext = {
|
|
299
|
+
get: function () {
|
|
300
|
+
const keys = Array.prototype.slice.call(arguments);
|
|
301
|
+
if (keys.length === 0) return Object.assign({}, contextValues);
|
|
302
|
+
if (keys.length === 1) return contextValues[keys[0]];
|
|
303
|
+
return keys.reduce(function (result, key) {
|
|
304
|
+
result[key] = contextValues[key];
|
|
305
|
+
return result;
|
|
306
|
+
}, {});
|
|
307
|
+
},
|
|
308
|
+
set: function (key, value) {
|
|
309
|
+
if (key && typeof key === 'object') Object.assign(contextValues, key);
|
|
310
|
+
else if (key !== undefined) contextValues[key] = value;
|
|
311
|
+
return syntheticContext;
|
|
312
|
+
},
|
|
313
|
+
remove: function () {
|
|
314
|
+
Array.prototype.slice.call(arguments).forEach(function (key) { delete contextValues[key]; });
|
|
315
|
+
return syntheticContext;
|
|
316
|
+
},
|
|
317
|
+
clear: function () {
|
|
318
|
+
Object.keys(contextValues).forEach(function (key) { delete contextValues[key]; });
|
|
319
|
+
return syntheticContext;
|
|
320
|
+
},
|
|
321
|
+
all: function () { return Object.assign({}, contextValues); }
|
|
322
|
+
};
|
|
293
323
|
msg.chat = function () {
|
|
294
|
-
return
|
|
295
|
-
get: function () { return {}; },
|
|
296
|
-
set: function () { return undefined; },
|
|
297
|
-
remove: function () { return undefined; }
|
|
298
|
-
};
|
|
324
|
+
return syntheticContext;
|
|
299
325
|
};
|
|
300
326
|
}
|
|
301
327
|
if (typeof msg.get !== 'function') {
|