node-red-contrib-knx-ultimate 6.3.16 → 6.3.18

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 CHANGED
@@ -6,6 +6,17 @@
6
6
 
7
7
  # CHANGELOG
8
8
 
9
+ **Version 6.3.18** - August 2026<br/>
10
+
11
+ - **KNX AI — focused configuration with fixed defaults**: aligned the hidden traffic-analysis defaults to a 600-second history, disk archival enabled for 10 days, automatic summaries disabled, a 120-second analysis window, 5,000 in-memory events and a Top-12 list. The Node-RED project inventory is now always included, while traffic analysis, chat input/output mappings and their obsolete editor controls remain hidden. Documentation language selection was removed because the AI now chooses the appropriate language. Proactive-home switches and advanced proactive settings were removed without legacy-value migration: user-managed AI Education is now the sole configuration surface for this behaviour. Editor help, examples and wiki documentation were updated in EN, IT, DE, FR, ES and zh-CN.<br/>
12
+ - **KNX AI — horizontal accordion and visible chat context**: rebuilt the editor accordion with the same horizontal-tab layout and visual behaviour as KNXUltimate. Automatically detected adapters now appear at the end, followed by a new context card that summarizes what chat can access, including generated context filenames and the absolute KNX telegram archive directories.<br/>
13
+ - **KNX AI — TTS Ultimate announcements**: added automatic discovery of `node-red-contrib-tts-ultimate` and a selector for the TTS Ultimate node to use across all flows. Chat responses can now dispatch spoken announcements through the selected TTS/Sonos path while preserving the existing adapter registry design.<br/>
14
+ - **KNX AI — local model providers and responsiveness**: promoted Ollama out of beta and added Bionic LM Studio. Model selection now discovers each local model's maximum context length and configures it when loaded; smaller context windows automatically receive reduced, relevance-selected prompts and bounded output budgets, with progressive context compaction on provider overflow errors. Local requests use a ten-minute minimum timeout, preserve detailed provider errors and retry supported OpenAI-compatible parameter variants. Chat users receive localized thinking feedback while inference is running, and the node status now reports only incoming requests and thinking state instead of KNX telegram traffic.<br/>
15
+
16
+ **Version 6.3.17** - August 2026<br/>
17
+
18
+ - **KNX AI — unified Assistant context for chat channels**: Telegram, RedBot and custom chat adapters now receive the same complete KNX analysis context as the web Assistant, including the full relevant traffic selection, summaries, areas, learned home memory, Node-RED flow context, Function-node source and documentation snippets enabled by the node configuration. The chat-specific ETS catalog, camera capabilities, persistent conversation context, command validation and confirmation safeguards remain layered on top.<br/>
19
+
9
20
  **Version 6.3.16** - August 2026<br/>
10
21
 
11
22
  - **KNX AI — automatically detected camera adapters**: installed camera suites can now register vendor-neutral camera catalogs, connectivity state, snapshots and smart events directly in the KNX AI chat runtime, without selectors or camera-node wiring. The “Conversations & home” editor section shows every detected adapter together with its registered controllers and cameras. `node-red-contrib-unifi-ultimate` is the first provider: users can request or visually analyze a current Protect snapshot and create persistent Telegram/RedBot notifications for motion, smart line crossings and intrusion/loiter zones. Generic smart-detection rules now correctly distinguish classified people, animals, vehicles, faces, license plates and packages from unclassified motion, and match classifications across Protect smart zones, lines and loiter zones. Chat snapshots no longer force full-HD; the provider chooses a supported quality and retries only transient failures at standard quality. An offline camera is identified explicitly before Chat AI proposes an unavailable snapshot. Camera rules share `knxai-chat-context.md` and survive Node-RED restarts; Telegram adapters emit snapshots as native photos. Existing `node-red-contrib-telegrambot` presets saved before image support are upgraded at runtime for snapshot replies, including explicit JPEG filename and MIME metadata. The same registry contract is ready for packages such as `hikvision-ultimate`.<br/>
@@ -199,33 +199,13 @@
199
199
  "server": "cfg_knx_ai_control",
200
200
  "name": "KNX AI with confirmation",
201
201
  "topic": "knx-ai",
202
- "notifyreadrequest": true,
203
- "notifyresponse": true,
204
- "notifywrite": true,
205
- "analysisWindowSec": "120",
206
- "historyWindowSec": "600",
207
- "historyStoreToDisk": false,
208
- "historyStoreRetentionDays": "10",
209
- "emitIntervalSec": "0",
210
- "topN": "10",
211
- "maxEvents": "50000",
212
- "rateWindowSec": "10",
213
- "maxTelegramPerSecOverall": "0",
214
- "maxTelegramPerSecPerGA": "0",
215
- "flapWindowSec": "30",
216
- "flapMaxChanges": "0",
217
- "enablePattern": true,
218
- "patternMaxLagMs": "1500",
219
- "patternMinCount": "8",
220
202
  "llmEnabled": true,
221
203
  "llmProvider": "openai_compat",
222
204
  "llmBaseUrl": "https://api.openai.com/v1/chat/completions",
223
205
  "llmModel": "gpt-5.4",
224
206
  "llmSystemPrompt": "Sei un assistente per un impianto KNX. Rispondi in italiano e proponi solo comandi necessari e coerenti con la richiesta.",
225
207
  "llmIncludeRaw": false,
226
- "llmIncludeFlowContext": true,
227
208
  "llmIncludeDocsSnippets": true,
228
- "llmDocsLanguage": "it",
229
209
  "llmAllowKnxCommands": true,
230
210
  "llmRequireCommandConfirmation": true,
231
211
  "x": 520,
@@ -137,22 +137,6 @@
137
137
  "server": "cfg_knx_ai_1",
138
138
  "name": "KNX AI",
139
139
  "topic": "knx-ai",
140
- "notifywrite": true,
141
- "notifyresponse": true,
142
- "notifyreadrequest": true,
143
- "analysisWindowSec": "60",
144
- "historyWindowSec": "300",
145
- "maxEvents": "5000",
146
- "emitIntervalSec": "0",
147
- "topN": "10",
148
- "enablePattern": true,
149
- "patternMaxLagMs": "1500",
150
- "patternMinCount": "8",
151
- "rateWindowSec": "10",
152
- "maxTelegramPerSecOverall": "0",
153
- "maxTelegramPerSecPerGA": "0",
154
- "flapWindowSec": "30",
155
- "flapMaxChanges": "0",
156
140
  "llmEnabled": false,
157
141
  "llmProvider": "openai_compat",
158
142
  "llmBaseUrl": "https://api.openai.com/v1/chat/completions",
@@ -236,4 +220,3 @@
236
220
  "autoReconnect": "yes"
237
221
  }
238
222
  ]
239
-
@@ -30,8 +30,8 @@
30
30
  "id": "comment_knx_ai_home_intelligence",
31
31
  "type": "comment",
32
32
  "z": "tab_knx_ai_telegram",
33
- "name": "3. Home intelligence: bounded memory + proactive cover notifications",
34
- "info": "This example enables proactive notifications after 120 minutes, outside 23:00-07:00. The most recent Telegram chat becomes the recipient. AI Education remains user-managed, and the Markdown memory file has a hard 256 KB limit. Proactive observations use output 3 only and never write to KNX.",
33
+ "name": "3. AI Education: bounded memory + proactive cover notifications",
34
+ "info": "AI Education requests proactive notifications after 120 minutes, outside 23:00-07:00, with a six-hour repeat interval. The most recent Telegram chat becomes the recipient. The Markdown memory file has a hard 5 MB limit. Proactive observations use output 3 only and never write to KNX.",
35
35
  "x": 520,
36
36
  "y": 120,
37
37
  "wires": []
@@ -76,45 +76,19 @@
76
76
  "server": "cfg_knx_ai_telegram",
77
77
  "name": "KNX AI + Telegram adapter",
78
78
  "topic": "knx-ai",
79
- "notifyreadrequest": true,
80
- "notifyresponse": true,
81
- "notifywrite": true,
82
- "analysisWindowSec": "120",
83
- "historyWindowSec": "600",
84
- "historyStoreToDisk": false,
85
- "historyStoreRetentionDays": "10",
86
- "emitIntervalSec": "0",
87
- "topN": "10",
88
- "maxEvents": "50000",
89
- "rateWindowSec": "10",
90
- "maxTelegramPerSecOverall": "0",
91
- "maxTelegramPerSecPerGA": "0",
92
- "flapWindowSec": "30",
93
- "flapMaxChanges": "0",
94
- "enablePattern": true,
95
- "patternMaxLagMs": "1500",
96
- "patternMinCount": "8",
97
79
  "llmEnabled": true,
98
80
  "llmProvider": "openai_compat",
99
81
  "llmBaseUrl": "https://api.openai.com/v1/chat/completions",
100
82
  "llmModel": "gpt-5.4",
101
83
  "llmSystemPrompt": "Sei un assistente per un impianto KNX. Rispondi nella lingua dell'utente.",
102
84
  "llmIncludeRaw": false,
103
- "llmIncludeFlowContext": true,
104
85
  "llmIncludeDocsSnippets": true,
105
- "llmDocsLanguage": "it",
106
86
  "llmAllowKnxCommands": true,
107
87
  "llmRequireCommandConfirmation": true,
108
88
  "chatAdapterPreset": "none",
109
89
  "chatInputCode": "",
110
90
  "chatOutputCode": "",
111
- "proactiveEnabled": true,
112
- "proactiveRecipient": "",
113
- "proactiveOpenMinutes": "120",
114
- "proactiveCooldownMinutes": "360",
115
- "proactiveQuietStart": "23:00",
116
- "proactiveQuietEnd": "07:00",
117
- "aiEducation": "Avvisami se una persiana, una finestra o una porta rimane aperta insolitamente a lungo. Non inviare notifiche durante le ore silenziose configurate.",
91
+ "aiEducation": "Avvisa la mia ultima chat se una persiana, una finestra o una porta rimane aperta per almeno 120 minuti. Non inviare notifiche tra le 23:00 e le 07:00 e non ripetere lo stesso avviso prima di 6 ore.",
118
92
  "x": 500,
119
93
  "y": 210,
120
94
  "wires": [