node-red-contrib-knx-ultimate 6.2.1 → 6.2.2
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 -4
- package/nodes/knxUltimateAI.html +207 -207
- package/nodes/knxUltimateAI.js +14 -14
- package/nodes/locales/de/knxUltimateAI.html +9 -31
- package/nodes/locales/en/knxUltimateAI.html +9 -30
- package/nodes/locales/es/knxUltimateAI.html +9 -31
- package/nodes/locales/fr/knxUltimateAI.html +9 -31
- package/nodes/locales/it/knxUltimateAI.html +9 -30
- package/nodes/locales/zh-CN/knxUltimateAI.html +9 -31
- package/package.json +2 -2
package/nodes/knxUltimateAI.js
CHANGED
|
@@ -4994,11 +4994,11 @@ module.exports = function (RED) {
|
|
|
4994
4994
|
node.outputtopic = node.topic
|
|
4995
4995
|
node.dpt = ''
|
|
4996
4996
|
|
|
4997
|
-
node.notifyreadrequest =
|
|
4997
|
+
node.notifyreadrequest = true
|
|
4998
4998
|
node.notifyreadrequestalsorespondtobus = 'false'
|
|
4999
4999
|
node.notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized = ''
|
|
5000
|
-
node.notifyresponse =
|
|
5001
|
-
node.notifywrite =
|
|
5000
|
+
node.notifyresponse = true
|
|
5001
|
+
node.notifywrite = true
|
|
5002
5002
|
node.initialread = false
|
|
5003
5003
|
node.listenallga = true
|
|
5004
5004
|
node.outputtype = 'write'
|
|
@@ -5013,16 +5013,16 @@ module.exports = function (RED) {
|
|
|
5013
5013
|
node.emitIntervalSec = Number(config.emitIntervalSec || 0)
|
|
5014
5014
|
node.topN = Number(config.topN || 10)
|
|
5015
5015
|
|
|
5016
|
-
node.rateWindowSec =
|
|
5017
|
-
node.maxTelegramPerSecOverall =
|
|
5018
|
-
node.maxTelegramPerSecPerGA =
|
|
5016
|
+
node.rateWindowSec = 10
|
|
5017
|
+
node.maxTelegramPerSecOverall = 0
|
|
5018
|
+
node.maxTelegramPerSecPerGA = 0
|
|
5019
5019
|
|
|
5020
|
-
node.flapWindowSec =
|
|
5021
|
-
node.flapMaxChanges =
|
|
5020
|
+
node.flapWindowSec = 30
|
|
5021
|
+
node.flapMaxChanges = 0
|
|
5022
5022
|
|
|
5023
|
-
node.enablePattern =
|
|
5024
|
-
node.patternMaxLagMs =
|
|
5025
|
-
node.patternMinCount =
|
|
5023
|
+
node.enablePattern = true
|
|
5024
|
+
node.patternMaxLagMs = 1500
|
|
5025
|
+
node.patternMinCount = 8
|
|
5026
5026
|
|
|
5027
5027
|
node.llmEnabled = config.llmEnabled !== undefined ? coerceBoolean(config.llmEnabled) : false
|
|
5028
5028
|
node.llmProvider = config.llmProvider || 'openai_compat'
|
|
@@ -5037,14 +5037,14 @@ module.exports = function (RED) {
|
|
|
5037
5037
|
// Prefer Node-RED credentials store, fallback to legacy config field (backward compatible)
|
|
5038
5038
|
node.llmApiKey = sanitizeApiKey((node.credentials && node.credentials.llmApiKey) ? node.credentials.llmApiKey : (config.llmApiKey || ''))
|
|
5039
5039
|
node.llmModel = config.llmModel || (node.llmProvider === 'anthropic' ? ANTHROPIC_DEFAULT_MODEL : 'gpt-4o-mini')
|
|
5040
|
-
node.llmSystemPrompt =
|
|
5040
|
+
node.llmSystemPrompt = 'You are a KNX building automation assistant. Analyze KNX bus traffic and provide actionable insights.'
|
|
5041
5041
|
node.llmTemperature = (config.llmTemperature === undefined || config.llmTemperature === '') ? 0.2 : Number(config.llmTemperature)
|
|
5042
5042
|
node.llmMaxTokens = (config.llmMaxTokens === undefined || config.llmMaxTokens === '') ? 50000 : Number(config.llmMaxTokens)
|
|
5043
5043
|
node.llmTimeoutMs = (config.llmTimeoutMs === undefined || config.llmTimeoutMs === '') ? 120000 : Number(config.llmTimeoutMs)
|
|
5044
5044
|
node.llmMaxEventsInPrompt = (config.llmMaxEventsInPrompt === undefined || config.llmMaxEventsInPrompt === '') ? 120 : Number(config.llmMaxEventsInPrompt)
|
|
5045
|
-
node.llmIncludeRaw =
|
|
5045
|
+
node.llmIncludeRaw = false
|
|
5046
5046
|
node.llmIncludeFlowContext = config.llmIncludeFlowContext !== undefined ? coerceBoolean(config.llmIncludeFlowContext) : true
|
|
5047
|
-
node.llmIncludeDocsSnippets =
|
|
5047
|
+
node.llmIncludeDocsSnippets = true
|
|
5048
5048
|
node.llmDocsLanguage = config.llmDocsLanguage ? String(config.llmDocsLanguage) : 'it'
|
|
5049
5049
|
node.llmDocsMaxSnippets = (config.llmDocsMaxSnippets === undefined || config.llmDocsMaxSnippets === '') ? 5 : Number(config.llmDocsMaxSnippets)
|
|
5050
5050
|
node.llmDocsMaxChars = (config.llmDocsMaxChars === undefined || config.llmDocsMaxChars === '') ? 60000 : Number(config.llmDocsMaxChars)
|
|
@@ -87,10 +87,7 @@ Hier sind alle Felder aufgeführt, wie sie im KNX-AI-Editor sichtbar sind.
|
|
|
87
87
|
- **Topic**: Basis-Topic der Node-Ausgänge.
|
|
88
88
|
- Button **Open KNX AI Web**: Öffnet das Web-Dashboard (`/knxUltimateAI/sidebar/page`).
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
- **Capture GroupValue_Write**: Erfasst Write-Telegramme.
|
|
92
|
-
- **Capture GroupValue_Response**: Erfasst Response-Telegramme.
|
|
93
|
-
- **Capture GroupValue_Read**: Erfasst Read-Telegramme.
|
|
90
|
+
KNX AI hört automatisch auf `GroupValue_Write`, `GroupValue_Response` und `GroupValue_Read`. Die Muster- und Anomalieanalyse wird immer mit den integrierten Standardwerten initialisiert; Busereignisse und Erkennung müssen daher nicht konfiguriert werden.
|
|
94
91
|
|
|
95
92
|
### Analysis
|
|
96
93
|
- **Analysis window (seconds)**: Hauptfenster für Summary/Rate-Berechnung.
|
|
@@ -100,16 +97,6 @@ Hier sind alle Felder aufgeführt, wie sie im KNX-AI-Editor sichtbar sind.
|
|
|
100
97
|
- **Max stored events**: Maximale Anzahl Telegramme im Speicher.
|
|
101
98
|
- **Auto emit summary (seconds, 0=off)**: Periodisches Summary-Intervall.
|
|
102
99
|
- **Top list size**: Anzahl Top-Gruppenadressen/Quellen in der Summary.
|
|
103
|
-
- **Detect simple patterns (A -> B)**: Aktiviert Übergangs-/Pattern-Erkennung.
|
|
104
|
-
- **Pattern max lag (ms)**: Maximaler Zeitabstand für Pattern-Korrelation.
|
|
105
|
-
- **Pattern min occurrences**: Mindestanzahl, bevor ein Pattern gemeldet wird.
|
|
106
|
-
|
|
107
|
-
### Anomalies
|
|
108
|
-
- **Rate window (seconds)**: Gleitendes Zeitfenster für Rate-Prüfungen.
|
|
109
|
-
- **Max overall telegrams/sec (0=off)**: Schwellwert für gesamten Bus.
|
|
110
|
-
- **Max telegrams/sec per GA (0=off)**: Schwellwert pro Gruppenadresse.
|
|
111
|
-
- **Flap window (seconds)**: Zeitfenster für Flapping-/Wechselraten-Erkennung.
|
|
112
|
-
- **Max changes per GA in window (0=off)**: Maximal erlaubte Änderungen im Fenster.
|
|
113
100
|
|
|
114
101
|
### KI-Assistent
|
|
115
102
|
- **Enable LLM assistant**: Aktiviert Ask/Chat-Funktionen.
|
|
@@ -118,37 +105,28 @@ Hier sind alle Felder aufgeführt, wie sie im KNX-AI-Editor sichtbar sind.
|
|
|
118
105
|
- **API key**: API-Schlüssel (für lokales Ollama nicht erforderlich).
|
|
119
106
|
- **Model**: Modell-ID/Name.
|
|
120
107
|
- **Chatmodell-Kompatibilität**: Das ausgewählte Modell muss den konfigurierten Chat-Completions-Endpunkt unterstützen. Ältere reine Completions-Modelle wie `gpt-3.5-turbo-instruct` werden beim Aktualisieren der Modellliste ausgeschlossen. Lehnt der Anbieter einen benutzerdefinierten Temperaturwert oder den Token-Limit-Parameter ab, wiederholt KNX AI die Anfrage und entfernt oder ersetzt nur das inkompatible Feld.
|
|
121
|
-
- **System prompt**: Globale Instruktion für KNX-Analyse (Advanced).
|
|
122
108
|
- **KI darf KNX-Zustände lesen und Aktoren steuern**: Aktiviert Ausgang 4 und ist standardmäßig aus. Exakte ETS-Katalogobjekte dürfen gelesen werden; Schreiboperationen werden ausschließlich für Objekte mit Rolle `command` akzeptiert. Unbekannte, DPT-falsche, ungültige oder überzählige Operationen sowie Schreiboperationen auf Status-/Neutralobjekte werden lokal abgewiesen.
|
|
123
109
|
- **Vor dem Senden von KNX-Befehlen bestätigen lassen**: Standardmäßig aktiv. Zeigt zuerst die validierten Änderungen und sendet nichts, bis dieselbe Chat-Sitzung bestätigt. Wenn Befehle auf Bestätigung warten, fügt die Antwort immer die genauen Anweisungen zum Bestätigen oder Abbrechen in der Sprache der aktuellen Anfrage hinzu. Vor der Ausgabe werden die Befehle erneut validiert.
|
|
124
|
-
- **Adapter-Vorlage**:
|
|
125
|
-
- **Eingangszuordnung (Chat → KNX AI)**: Synchrones JavaScript vor der Verarbeitung des Eingangsbefehls.
|
|
126
|
-
- **Ausgangszuordnung (KNX AI → Chat)**: Synchrones JavaScript ausschließlich für Nachrichten an Ausgang 3.
|
|
110
|
+
- **Adapter-Vorlage**: Standardmäßig ist **Kein Adapter** gewählt. Die JavaScript-Editoren bleiben verborgen, bis ein Adapter ausgewählt wird; danach werden die bearbeitbaren Ein- und Ausgangszuordnungen geladen und angezeigt.
|
|
111
|
+
- **Eingangszuordnung (Chat → KNX AI)**: Synchrones JavaScript vor der Verarbeitung des Eingangsbefehls im grünen JavaScript-Editor.
|
|
112
|
+
- **Ausgangszuordnung (KNX AI → Chat)**: Synchrones JavaScript ausschließlich für Nachrichten an Ausgang 3 im gelben JavaScript-Editor.
|
|
127
113
|
- **Proaktive Hausbenachrichtigungen aktivieren**: Optionaler Detektor für zuverlässig erkannte offene Rollladen-/Fenster-/Türzustände; er schreibt nie selbstständig auf KNX.
|
|
128
114
|
- **Hauptempfänger / Chat-ID**: Optionales Ziel für unaufgeforderte Chatnachrichten; andernfalls wird die letzte Ask-Sitzung gespeichert.
|
|
129
|
-
- **Nach offener Dauer benachrichtigen (Minuten)**: Schwelle, bevor eine proaktive Nachricht erwogen wird.
|
|
115
|
+
- **Nach offener Dauer benachrichtigen (Minuten)**: Schwelle, bevor eine proaktive Nachricht erwogen wird; standardmäßig 120 Minuten.
|
|
130
116
|
- **Ruhezeit Beginn / Ende**: Täglicher Zeitraum, in dem proaktive Nachrichten unterdrückt werden.
|
|
131
117
|
- **KI-Erziehung**: Verbindliche, ausschließlich vom Benutzer verwaltete Hinweise, die die KI lesen, aber nie ändern darf.
|
|
132
|
-
- **Wiederholungs-Cooldown (Minuten)**: Mindestintervall vor einer weiteren Meldung desselben Objekts.
|
|
118
|
+
- **Wiederholungs-Cooldown (Minuten)**: Mindestintervall vor einer weiteren Meldung desselben Objekts; standardmäßig 360 Minuten.
|
|
133
119
|
- **Maximale Hausgedächtnis-Datei (KB)**: Harte Grenze von 64 bis 1.024 KB; standardmäßig 256 KB.
|
|
134
120
|
- Wenn das Festplattenarchiv aktiv ist, nutzt **Ask** standardmäßig dieses Archiv: explizite Datumsangaben/Zeitbereiche werden beachtet, sonst durchsucht der Assistent die letzten 24 Stunden plus aktuelle RAM-Events.
|
|
135
|
-
- **Include raw payload hex**: Rohe Hex-Payload im Prompt einfügen.
|
|
136
121
|
- **Node-RED-Projektinventar einbeziehen**: Nimmt das gesamte Node-RED-Projektinventar in den Prompt auf, einschließlich KNX-Nodes und anderer hilfreicher Nodes wie function/change/inject/template, wenn sie KNX-Logik oder Gruppenadressen enthalten.
|
|
137
|
-
-
|
|
138
|
-
- **Docs language**: Bevorzugte Sprache der
|
|
139
|
-
- Button **Refresh**: Provider
|
|
122
|
+
- Relevante Auszüge aus Hilfe, README und Beispielen werden immer automatisch einbezogen.
|
|
123
|
+
- **Docs language**: Bevorzugte Sprache der automatisch einbezogenen Dokumentationsauszüge.
|
|
124
|
+
- Button **Refresh**: Fragt den Provider ab und lädt verfügbare Modelle. Währenddessen dreht sich das Symbol; ein erfolgreicher Abschluss bleibt absichtlich ohne Meldung.
|
|
140
125
|
|
|
141
126
|
### Advanced
|
|
142
127
|
- **Analysis window (seconds)**: Hauptfenster für Summary/Rate-Berechnung.
|
|
143
128
|
- **Max stored events**: Maximale Anzahl Telegramme im Speicher.
|
|
144
129
|
- **Top list size**: Anzahl Top-Gruppenadressen/Quellen in der Summary.
|
|
145
|
-
- **Pattern max lag (ms)**: Maximaler Zeitabstand für Pattern-Korrelation.
|
|
146
|
-
- **Pattern min occurrences**: Mindestanzahl, bevor ein Pattern gemeldet wird.
|
|
147
|
-
- **Rate window (seconds)**: Gleitendes Zeitfenster für Rate-Prüfungen.
|
|
148
|
-
- **Max overall telegrams/sec (0=off)**: Schwellwert für gesamten Bus.
|
|
149
|
-
- **Max telegrams/sec per GA (0=off)**: Schwellwert pro Gruppenadresse.
|
|
150
|
-
- **Flap window (seconds)**: Zeitfenster für Flapping-/Wechselraten-Erkennung.
|
|
151
|
-
- **Max changes per GA in window (0=off)**: Maximal erlaubte Änderungen im Fenster.
|
|
152
130
|
|
|
153
131
|
### Ollama Schnellstart (lokal)
|
|
154
132
|
- **Provider = Ollama** auswählen.
|
|
@@ -92,9 +92,7 @@ All fields exposed in the KNX AI editor are listed below.
|
|
|
92
92
|
- **Open KNX AI Web** button: Opens the full KNX AI web dashboard (`/knxUltimateAI/sidebar/page`).
|
|
93
93
|
|
|
94
94
|
### Capture
|
|
95
|
-
|
|
96
|
-
- **Capture GroupValue_Response**: Capture response telegrams.
|
|
97
|
-
- **Capture GroupValue_Read**: Capture read telegrams.
|
|
95
|
+
KNX AI automatically listens to `GroupValue_Write`, `GroupValue_Response`, and `GroupValue_Read` telegrams. Pattern and anomaly analysis is always initialized with the built-in defaults, so no bus-event or detection setup is required.
|
|
98
96
|
|
|
99
97
|
### Analysis
|
|
100
98
|
- **Analysis window (seconds)**: Main analysis window used for summaries/rates.
|
|
@@ -104,16 +102,6 @@ All fields exposed in the KNX AI editor are listed below.
|
|
|
104
102
|
- **Max stored events**: Maximum number of telegrams kept in memory.
|
|
105
103
|
- **Auto emit summary (seconds, 0=off)**: Periodic summary output interval.
|
|
106
104
|
- **Top list size**: Number of top group addresses/sources in summary.
|
|
107
|
-
- **Detect simple patterns (A -> B)**: Enable transition/pattern detection.
|
|
108
|
-
- **Pattern max lag (ms)**: Max time gap for pattern transition matching.
|
|
109
|
-
- **Pattern min occurrences**: Minimum occurrences before a pattern is reported.
|
|
110
|
-
|
|
111
|
-
### Anomalies
|
|
112
|
-
- **Rate window (seconds)**: Sliding time window for anomaly rate checks.
|
|
113
|
-
- **Max overall telegrams/sec (0=off)**: Overall bus rate threshold.
|
|
114
|
-
- **Max telegrams/sec per GA (0=off)**: Per-group-address rate threshold.
|
|
115
|
-
- **Flap window (seconds)**: Time window for flapping/change-rate detection.
|
|
116
|
-
- **Max changes per GA in window (0=off)**: Max allowed changes in flap window.
|
|
117
105
|
|
|
118
106
|
### AI Assistant
|
|
119
107
|
- **Enable LLM assistant**: Enable Ask/chat assistant features.
|
|
@@ -122,37 +110,28 @@ All fields exposed in the KNX AI editor are listed below.
|
|
|
122
110
|
- **API key**: API key (not required for local Ollama).
|
|
123
111
|
- **Model**: Model ID/name.
|
|
124
112
|
- **Chat model compatibility**: The selected model must support the configured Chat Completions endpoint. Legacy completion-only models such as `gpt-3.5-turbo-instruct` are excluded when the model list is refreshed. If the provider rejects a custom temperature or token-limit parameter, KNX AI retries after removing or replacing only that incompatible field.
|
|
125
|
-
- **System prompt**: Global instruction for KNX analysis behavior (Advanced).
|
|
126
113
|
- **Allow AI to read KNX states and control actuators**: Enables output 4 and is off by default. Exact ETS catalog objects may be read; writes are accepted only for objects classified as `command`. Unknown, DPT-mismatched, invalid, or excessive operations and writes to status/neutral objects are rejected locally.
|
|
127
114
|
- **Ask for confirmation before sending KNX commands**: Enabled by default. Shows the validated changes first and emits no KNX command until the same chat session confirms them. Whenever commands are awaiting confirmation, the response always appends the exact confirmation/cancellation instructions in the language of the current request. Commands are validated again immediately before output.
|
|
128
|
-
- **Adapter preset**:
|
|
129
|
-
- **Input mapping (chat → KNX AI)**: Synchronous JavaScript applied before input command processing.
|
|
130
|
-
- **Output mapping (KNX AI → chat)**: Synchronous JavaScript applied only to messages on output 3.
|
|
115
|
+
- **Adapter preset**: Defaults to **No adapter**. The JavaScript mapping editors remain hidden until an adapter is selected; selecting a preset loads and reveals its editable input/output mapping pair.
|
|
116
|
+
- **Input mapping (chat → KNX AI)**: Synchronous JavaScript applied before input command processing. It uses the green JavaScript editor.
|
|
117
|
+
- **Output mapping (KNX AI → chat)**: Synchronous JavaScript applied only to messages on output 3. It uses the yellow JavaScript editor.
|
|
131
118
|
- **Enable proactive home notifications**: Opt-in detector for reliably recognized open cover/window/door states; it never writes autonomously to KNX.
|
|
132
119
|
- **Primary recipient / chat ID**: Optional destination for unsolicited chat messages; otherwise the most recent Ask session is remembered.
|
|
133
|
-
- **Notify after open (minutes)**: Open-duration threshold before a proactive notification can be considered.
|
|
120
|
+
- **Notify after open (minutes)**: Open-duration threshold before a proactive notification can be considered; 120 minutes by default.
|
|
134
121
|
- **Quiet hours start / end**: Daily interval in which proactive messages are suppressed.
|
|
135
122
|
- **AI Education**: User-only, authoritative guidance read by the AI and never modified by it.
|
|
136
|
-
- **Repeat cooldown (minutes)**: Minimum interval before the same object may notify again.
|
|
123
|
+
- **Repeat cooldown (minutes)**: Minimum interval before the same object may notify again; 360 minutes by default.
|
|
137
124
|
- **Maximum home-memory file (KB)**: Hard size limit from 64 to 1,024 KB; 256 KB by default.
|
|
138
125
|
- If disk archive is enabled, **Ask** uses the archive by default: explicit dates/ranges are honored, otherwise the assistant searches the last 24 hours plus current RAM events.
|
|
139
|
-
- **Include raw payload hex**: Include raw telegram hex in prompt.
|
|
140
126
|
- **Include Node-RED project inventory**: Include the whole Node-RED project inventory in the prompt, including KNX nodes and other useful nodes such as function/change/inject/template when they contain KNX-related logic or group addresses.
|
|
141
|
-
-
|
|
142
|
-
- **Docs language**: Preferred language for
|
|
143
|
-
- **Refresh** button:
|
|
127
|
+
- Relevant help, README, and example snippets are always included automatically.
|
|
128
|
+
- **Docs language**: Preferred language for the automatically included documentation snippets.
|
|
129
|
+
- **Refresh** button: Queries the provider and loads available model IDs. Its icon spins while loading; successful completion is intentionally silent.
|
|
144
130
|
|
|
145
131
|
### Advanced
|
|
146
132
|
- **Analysis window (seconds)**: Main analysis window used for summaries/rates.
|
|
147
133
|
- **Max stored events**: Maximum number of telegrams kept in memory.
|
|
148
134
|
- **Top list size**: Number of top group addresses/sources in summary.
|
|
149
|
-
- **Pattern max lag (ms)**: Max time gap for pattern transition matching.
|
|
150
|
-
- **Pattern min occurrences**: Minimum occurrences before a pattern is reported.
|
|
151
|
-
- **Rate window (seconds)**: Sliding time window for anomaly rate checks.
|
|
152
|
-
- **Max overall telegrams/sec (0=off)**: Overall bus rate threshold.
|
|
153
|
-
- **Max telegrams/sec per GA (0=off)**: Per-group-address rate threshold.
|
|
154
|
-
- **Flap window (seconds)**: Time window for flapping/change-rate detection.
|
|
155
|
-
- **Max changes per GA in window (0=off)**: Max allowed changes in flap window.
|
|
156
135
|
|
|
157
136
|
### Ollama quick setup (local)
|
|
158
137
|
- Choose **Provider = Ollama**.
|
|
@@ -87,10 +87,7 @@ Aquí tienes todos los campos tal como se muestran en el editor de KNX AI.
|
|
|
87
87
|
- **Topic**: topic base usado en las salidas del nodo.
|
|
88
88
|
- Botón **Open KNX AI Web**: abre el dashboard web (`/knxUltimateAI/sidebar/page`).
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
- **Capture GroupValue_Write**: captura telegramas Write.
|
|
92
|
-
- **Capture GroupValue_Response**: captura telegramas Response.
|
|
93
|
-
- **Capture GroupValue_Read**: captura telegramas Read.
|
|
90
|
+
KNX AI escucha automáticamente los telegramas `GroupValue_Write`, `GroupValue_Response` y `GroupValue_Read`. El análisis de patrones y anomalías siempre se inicializa con los valores predeterminados internos, por lo que no es necesario configurar los eventos del bus ni la detección.
|
|
94
91
|
|
|
95
92
|
### Analysis
|
|
96
93
|
- **Analysis window (seconds)**: ventana principal para resumen/rate.
|
|
@@ -100,16 +97,6 @@ Aquí tienes todos los campos tal como se muestran en el editor de KNX AI.
|
|
|
100
97
|
- **Max stored events**: número máximo de telegramas en memoria.
|
|
101
98
|
- **Auto emit summary (seconds, 0=off)**: intervalo periódico de resumen.
|
|
102
99
|
- **Top list size**: cantidad de group addresses/fuentes en el top.
|
|
103
|
-
- **Detect simple patterns (A -> B)**: habilita detección de transiciones/patrones.
|
|
104
|
-
- **Pattern max lag (ms)**: diferencia temporal máxima para correlación.
|
|
105
|
-
- **Pattern min occurrences**: ocurrencias mínimas antes de reportar patrón.
|
|
106
|
-
|
|
107
|
-
### Anomalies
|
|
108
|
-
- **Rate window (seconds)**: ventana deslizante para controles de rate.
|
|
109
|
-
- **Max overall telegrams/sec (0=off)**: umbral en el bus global.
|
|
110
|
-
- **Max telegrams/sec per GA (0=off)**: umbral por group address.
|
|
111
|
-
- **Flap window (seconds)**: ventana para detectar flapping/cambios rápidos.
|
|
112
|
-
- **Max changes per GA in window (0=off)**: cambios máximos permitidos en ventana.
|
|
113
100
|
|
|
114
101
|
### Asistente IA
|
|
115
102
|
- **Enable LLM assistant**: habilita funciones Ask/chat.
|
|
@@ -118,37 +105,28 @@ Aquí tienes todos los campos tal como se muestran en el editor de KNX AI.
|
|
|
118
105
|
- **API key**: clave API (no requerida con Ollama local).
|
|
119
106
|
- **Model**: ID/nombre de modelo.
|
|
120
107
|
- **Compatibilidad del modelo de chat**: el modelo seleccionado debe admitir el endpoint Chat Completions configurado. Los modelos antiguos disponibles solo mediante completions, como `gpt-3.5-turbo-instruct`, se excluyen al actualizar la lista. Si el proveedor rechaza un valor personalizado de temperatura o el parámetro de límite de tokens, KNX AI vuelve a intentarlo eliminando o sustituyendo únicamente el campo incompatible.
|
|
121
|
-
- **System prompt**: instrucción global para análisis KNX (Advanced).
|
|
122
108
|
- **Permitir que la IA lea estados KNX y controle actuadores**: habilita la salida 4 y está desactivado por defecto. Los objetos exactos del catálogo ETS se pueden leer; solo se aceptan escrituras hacia objetos clasificados como `command`. Las operaciones desconocidas, con DPT distinto, inválidas o excesivas, y las escrituras hacia objetos de estado o neutrales, se rechazan localmente.
|
|
123
109
|
- **Pedir confirmación antes de enviar comandos KNX**: activado por defecto. Muestra primero los cambios validados y no emite comandos hasta que la misma sesión de chat los confirme. Cuando hay comandos pendientes, la respuesta añade siempre las instrucciones exactas para confirmar o cancelar en el idioma de la solicitud actual. Los comandos se validan de nuevo justo antes de la salida.
|
|
124
|
-
- **Preajuste del adaptador**:
|
|
125
|
-
- **Mapeo de entrada (chat → KNX AI)**: JavaScript síncrono aplicado antes de procesar el comando de entrada.
|
|
126
|
-
- **Mapeo de salida (KNX AI → chat)**: JavaScript síncrono aplicado solo a los mensajes de la salida 3.
|
|
110
|
+
- **Preajuste del adaptador**: usa **Sin adaptador** por defecto. Los editores JavaScript permanecen ocultos hasta seleccionar un adaptador; entonces se cargan y muestran los mapeos editables de entrada y salida.
|
|
111
|
+
- **Mapeo de entrada (chat → KNX AI)**: JavaScript síncrono aplicado antes de procesar el comando de entrada en el editor JavaScript verde.
|
|
112
|
+
- **Mapeo de salida (KNX AI → chat)**: JavaScript síncrono aplicado solo a los mensajes de la salida 3 en el editor JavaScript amarillo.
|
|
127
113
|
- **Activar notificaciones proactivas del hogar**: detector opcional de estados abiertos de persiana/ventana/puerta reconocidos de forma fiable; nunca escribe de manera autónoma en KNX.
|
|
128
114
|
- **Destinatario principal / ID de chat**: destino opcional de mensajes espontáneos; de lo contrario se recuerda la última sesión Ask.
|
|
129
|
-
- **Avisar después de abierta (minutos)**: umbral de duración antes de considerar una notificación proactiva.
|
|
115
|
+
- **Avisar después de abierta (minutos)**: umbral de duración antes de considerar una notificación proactiva; 120 minutos por defecto.
|
|
130
116
|
- **Inicio / fin de horas silenciosas**: intervalo diario en el que se suprimen los mensajes proactivos.
|
|
131
117
|
- **Educación de la IA**: instrucciones vinculantes gestionadas solo por el usuario, leídas por la IA y nunca modificadas.
|
|
132
|
-
- **Tiempo de espera de repetición (minutos)**: intervalo mínimo antes de que el mismo objeto pueda volver a avisar.
|
|
118
|
+
- **Tiempo de espera de repetición (minutos)**: intervalo mínimo antes de que el mismo objeto pueda volver a avisar; 360 minutos por defecto.
|
|
133
119
|
- **Archivo máximo de memoria del hogar (KB)**: límite estricto de 64 a 1.024 KB; 256 KB por defecto.
|
|
134
120
|
- Si el archivo en disco esta activo, **Ask** lo usa por defecto: respeta fechas/rangos explicitos y, si no los indicas, busca en las ultimas 24 horas mas los eventos actuales en RAM.
|
|
135
|
-
- **Include raw payload hex**: incluye payload hex raw en el prompt.
|
|
136
121
|
- **Incluir inventario del proyecto Node-RED**: incluye en el prompt el inventario de todo el proyecto Node-RED, con nodos KNX y otros nodos utiles como function/change/inject/template cuando contienen logica KNX o direcciones de grupo.
|
|
137
|
-
-
|
|
138
|
-
- **Docs language**: idioma preferido de
|
|
139
|
-
- Botón **Refresh**: consulta el provider y carga modelos disponibles.
|
|
122
|
+
- Los fragmentos pertinentes de la ayuda, README y ejemplos se incluyen siempre de forma automática.
|
|
123
|
+
- **Docs language**: idioma preferido para los fragmentos de documentación incluidos automáticamente.
|
|
124
|
+
- Botón **Refresh**: consulta el provider y carga los modelos disponibles. El icono gira durante la carga; una finalización correcta no muestra ningún mensaje.
|
|
140
125
|
|
|
141
126
|
### Advanced
|
|
142
127
|
- **Analysis window (seconds)**: ventana principal para resumen/rate.
|
|
143
128
|
- **Max stored events**: número máximo de telegramas en memoria.
|
|
144
129
|
- **Top list size**: cantidad de group addresses/fuentes en el top.
|
|
145
|
-
- **Pattern max lag (ms)**: diferencia temporal máxima para correlación.
|
|
146
|
-
- **Pattern min occurrences**: ocurrencias mínimas antes de reportar patrón.
|
|
147
|
-
- **Rate window (seconds)**: ventana deslizante para controles de rate.
|
|
148
|
-
- **Max overall telegrams/sec (0=off)**: umbral en el bus global.
|
|
149
|
-
- **Max telegrams/sec per GA (0=off)**: umbral por group address.
|
|
150
|
-
- **Flap window (seconds)**: ventana para detectar flapping/cambios rápidos.
|
|
151
|
-
- **Max changes per GA in window (0=off)**: cambios máximos permitidos en ventana.
|
|
152
130
|
|
|
153
131
|
### Configuración rápida de Ollama (local)
|
|
154
132
|
- Selecciona **Provider = Ollama**.
|
|
@@ -87,10 +87,7 @@ Voici tous les champs tels qu'affichés dans l'éditeur KNX AI.
|
|
|
87
87
|
- **Topic** : topic de base utilisé dans les sorties.
|
|
88
88
|
- Bouton **Open KNX AI Web** : ouvre le dashboard web (`/knxUltimateAI/sidebar/page`).
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
- **Capture GroupValue_Write** : capture les télégrammes Write.
|
|
92
|
-
- **Capture GroupValue_Response** : capture les télégrammes Response.
|
|
93
|
-
- **Capture GroupValue_Read** : capture les télégrammes Read.
|
|
90
|
+
KNX AI écoute automatiquement les télégrammes `GroupValue_Write`, `GroupValue_Response` et `GroupValue_Read`. L'analyse des motifs et anomalies est toujours initialisée avec les valeurs intégrées par défaut ; aucune configuration des événements du bus ou de la détection n'est nécessaire.
|
|
94
91
|
|
|
95
92
|
### Analysis
|
|
96
93
|
- **Analysis window (seconds)** : fenêtre principale pour résumé/débits.
|
|
@@ -100,16 +97,6 @@ Voici tous les champs tels qu'affichés dans l'éditeur KNX AI.
|
|
|
100
97
|
- **Max stored events** : nombre maximal de télégrammes en mémoire.
|
|
101
98
|
- **Auto emit summary (seconds, 0=off)** : intervalle périodique d'émission du résumé.
|
|
102
99
|
- **Top list size** : nombre de group addresses/sources dans le top.
|
|
103
|
-
- **Detect simple patterns (A -> B)** : active la détection de transitions/patterns.
|
|
104
|
-
- **Pattern max lag (ms)** : écart temporel max pour corrélation des patterns.
|
|
105
|
-
- **Pattern min occurrences** : occurrences minimales avant signalement.
|
|
106
|
-
|
|
107
|
-
### Anomalies
|
|
108
|
-
- **Rate window (seconds)** : fenêtre glissante pour contrôles de débit.
|
|
109
|
-
- **Max overall telegrams/sec (0=off)** : seuil sur le bus global.
|
|
110
|
-
- **Max telegrams/sec per GA (0=off)** : seuil par group address.
|
|
111
|
-
- **Flap window (seconds)** : fenêtre de détection flapping/changements rapides.
|
|
112
|
-
- **Max changes per GA in window (0=off)** : nombre max de changements autorisés.
|
|
113
100
|
|
|
114
101
|
### Assistant IA
|
|
115
102
|
- **Enable LLM assistant** : active les fonctions Ask/chat.
|
|
@@ -118,37 +105,28 @@ Voici tous les champs tels qu'affichés dans l'éditeur KNX AI.
|
|
|
118
105
|
- **API key** : clé API (non requise avec Ollama local).
|
|
119
106
|
- **Model** : ID/nom du modèle.
|
|
120
107
|
- **Compatibilité du modèle de chat** : le modèle sélectionné doit prendre en charge l'endpoint Chat Completions configuré. Les anciens modèles réservés aux completions, comme `gpt-3.5-turbo-instruct`, sont exclus lors de l'actualisation de la liste. Si le fournisseur refuse une valeur de température personnalisée ou le paramètre de limite de tokens, KNX AI réessaie en supprimant ou remplaçant uniquement le champ incompatible.
|
|
121
|
-
- **System prompt** : instruction système globale pour l'analyse KNX (Advanced).
|
|
122
108
|
- **Autoriser l’IA à lire les états KNX et commander les actionneurs** : active la sortie 4 et reste désactivé par défaut. Les objets exacts du catalogue ETS peuvent être lus ; seules les écritures vers des objets classés `command` sont acceptées. Les opérations inconnues, avec DPT discordant, invalides ou trop nombreuses, ainsi que les écritures vers des objets d'état ou neutres, sont rejetées localement.
|
|
123
109
|
- **Demander confirmation avant d’envoyer les commandes KNX** : activé par défaut. Affiche d'abord les modifications validées et n'émet aucune commande tant que la même session de chat ne les confirme pas. Lorsque des commandes attendent une confirmation, la réponse ajoute toujours les instructions exactes de confirmation ou d'annulation dans la langue de la demande courante. Les commandes sont à nouveau validées juste avant la sortie.
|
|
124
|
-
- **Préréglage d’adaptateur** :
|
|
125
|
-
- **Mappage d’entrée (chat → KNX AI)** : JavaScript synchrone exécuté avant le traitement de la commande d’entrée.
|
|
126
|
-
- **Mappage de sortie (KNX AI → chat)** : JavaScript synchrone appliqué uniquement aux messages de la sortie 3.
|
|
110
|
+
- **Préréglage d’adaptateur** : utilise **Aucun adaptateur** par défaut. Les éditeurs JavaScript restent masqués jusqu’à la sélection d’un adaptateur, puis les mappages entrée/sortie modifiables sont chargés et affichés.
|
|
111
|
+
- **Mappage d’entrée (chat → KNX AI)** : JavaScript synchrone exécuté avant le traitement de la commande d’entrée dans l’éditeur JavaScript vert.
|
|
112
|
+
- **Mappage de sortie (KNX AI → chat)** : JavaScript synchrone appliqué uniquement aux messages de la sortie 3 dans l’éditeur JavaScript jaune.
|
|
127
113
|
- **Activer les notifications domestiques proactives** : détecteur optionnel des états ouverts de volet/fenêtre/porte reconnus de façon fiable ; il n'écrit jamais de manière autonome sur KNX.
|
|
128
114
|
- **Destinataire principal / ID de chat** : destination facultative des messages spontanés ; sinon la dernière session Ask est mémorisée.
|
|
129
|
-
- **Notifier après ouverture (minutes)** : seuil de durée avant d'envisager une notification proactive.
|
|
115
|
+
- **Notifier après ouverture (minutes)** : seuil de durée avant d'envisager une notification proactive ; 120 minutes par défaut.
|
|
130
116
|
- **Début / fin des heures silencieuses** : intervalle quotidien pendant lequel les messages proactifs sont supprimés.
|
|
131
117
|
- **Éducation de l’IA** : consignes autoritaires gérées uniquement par l'utilisateur, lues par l'IA et jamais modifiées.
|
|
132
|
-
- **Délai de répétition (minutes)** : intervalle minimal avant qu'un même objet puisse notifier à nouveau.
|
|
118
|
+
- **Délai de répétition (minutes)** : intervalle minimal avant qu'un même objet puisse notifier à nouveau ; 360 minutes par défaut.
|
|
133
119
|
- **Taille maximale du fichier mémoire domestique (KB)** : limite stricte de 64 à 1 024 KB ; 256 KB par défaut.
|
|
134
120
|
- Si l'archive disque est active, **Ask** l'utilise par défaut : les dates/plages explicites sont respectées, sinon l'assistant cherche sur les dernières 24 heures plus les événements RAM courants.
|
|
135
|
-
- **Include raw payload hex** : inclut le payload hex brut dans le prompt.
|
|
136
121
|
- **Inclure l'inventaire du projet Node-RED** : inclut dans le prompt l'inventaire de tout le projet Node-RED, avec les nœuds KNX et d'autres nœuds utiles comme function/change/inject/template lorsqu'ils contiennent de la logique KNX ou des adresses de groupe.
|
|
137
|
-
-
|
|
138
|
-
- **Docs language** : langue préférée des
|
|
139
|
-
- Bouton **Refresh** : interroge le provider et charge les modèles disponibles.
|
|
122
|
+
- Les extraits pertinents de l’aide, du README et des exemples sont toujours inclus automatiquement.
|
|
123
|
+
- **Docs language** : langue préférée des extraits de documentation inclus automatiquement.
|
|
124
|
+
- Bouton **Refresh** : interroge le provider et charge les modèles disponibles. Son icône tourne pendant le chargement ; une réussite ne produit volontairement aucun message.
|
|
140
125
|
|
|
141
126
|
### Advanced
|
|
142
127
|
- **Analysis window (seconds)** : fenêtre principale pour résumé/débits.
|
|
143
128
|
- **Max stored events** : nombre maximal de télégrammes en mémoire.
|
|
144
129
|
- **Top list size** : nombre de group addresses/sources dans le top.
|
|
145
|
-
- **Pattern max lag (ms)** : écart temporel max pour corrélation des patterns.
|
|
146
|
-
- **Pattern min occurrences** : occurrences minimales avant signalement.
|
|
147
|
-
- **Rate window (seconds)** : fenêtre glissante pour contrôles de débit.
|
|
148
|
-
- **Max overall telegrams/sec (0=off)** : seuil sur le bus global.
|
|
149
|
-
- **Max telegrams/sec per GA (0=off)** : seuil par group address.
|
|
150
|
-
- **Flap window (seconds)** : fenêtre de détection flapping/changements rapides.
|
|
151
|
-
- **Max changes per GA in window (0=off)** : nombre max de changements autorisés.
|
|
152
130
|
|
|
153
131
|
### Démarrage rapide Ollama (local)
|
|
154
132
|
- Choisir **Provider = Ollama**.
|
|
@@ -92,9 +92,7 @@ Di seguito sono elencati tutti i campi presenti nell'editor del nodo KNX AI.
|
|
|
92
92
|
- Pulsante **Open KNX AI Web**: apre la dashboard web completa (`/knxUltimateAI/sidebar/page`).
|
|
93
93
|
|
|
94
94
|
### Cattura
|
|
95
|
-
|
|
96
|
-
- **Cattura GroupValue_Response**: cattura telegrammi di risposta.
|
|
97
|
-
- **Cattura GroupValue_Read**: cattura telegrammi di lettura.
|
|
95
|
+
KNX AI ascolta automaticamente i telegrammi `GroupValue_Write`, `GroupValue_Response` e `GroupValue_Read`. L'analisi di pattern e anomalie viene sempre inizializzata con i valori predefiniti interni, quindi non occorre configurare i tipi di telegramma o il rilevamento.
|
|
98
96
|
|
|
99
97
|
### Analisi
|
|
100
98
|
- **Finestra analisi (secondi)**: finestra principale per summary/rate.
|
|
@@ -104,16 +102,6 @@ Di seguito sono elencati tutti i campi presenti nell'editor del nodo KNX AI.
|
|
|
104
102
|
- **Eventi massimi in memoria**: numero massimo di telegrammi mantenuti in RAM.
|
|
105
103
|
- **Invia summary automatico (secondi, 0=off)**: intervallo di emissione summary periodica.
|
|
106
104
|
- **Dimensione lista Top**: numero di group address/sorgenti nella classifica summary.
|
|
107
|
-
- **Rileva pattern semplici (A -> B)**: abilita rilevamento transizioni/pattern.
|
|
108
|
-
- **Ritardo massimo pattern (ms)**: differenza temporale massima per correlare pattern.
|
|
109
|
-
- **Occorrenze minime pattern**: soglia minima prima di segnalare un pattern.
|
|
110
|
-
|
|
111
|
-
### Anomalie
|
|
112
|
-
- **Finestra rate (secondi)**: finestra scorrevole per i controlli di rate.
|
|
113
|
-
- **Max telegrammi/sec totale (0=off)**: soglia telegrammi/s sull'intero BUS.
|
|
114
|
-
- **Max telegrammi/sec per GA (0=off)**: soglia telegrammi/s per singolo group address.
|
|
115
|
-
- **Finestra flap (secondi)**: finestra temporale per rilevare flapping/cambi rapidi.
|
|
116
|
-
- **Max cambi per GA nella finestra (0=off)**: massimo numero di cambi consentiti.
|
|
117
105
|
|
|
118
106
|
### Assistente AI
|
|
119
107
|
- **Abilita assistente LLM**: abilita funzioni Ask/chat.
|
|
@@ -122,37 +110,28 @@ Di seguito sono elencati tutti i campi presenti nell'editor del nodo KNX AI.
|
|
|
122
110
|
- **API key**: chiave API (non necessaria con Ollama locale).
|
|
123
111
|
- **Modello**: ID/nome modello.
|
|
124
112
|
- **Compatibilità modello chat**: il modello selezionato deve supportare l'endpoint Chat Completions configurato. I modelli legacy disponibili solo tramite completions, come `gpt-3.5-turbo-instruct`, vengono esclusi quando si aggiorna la lista. Se il provider rifiuta un valore personalizzato di temperature o il parametro del limite token, KNX AI riprova rimuovendo o sostituendo soltanto il campo incompatibile.
|
|
125
|
-
- **Prompt di sistema**: istruzione globale del comportamento analisi KNX (Advanced).
|
|
126
113
|
- **Consenti all'AI di leggere stati KNX e comandare attuatori**: abilita l'uscita 4 ed è disattivato per default. Gli oggetti esatti del catalogo ETS possono essere letti; le scritture sono accettate solo per gli oggetti classificati come `command`. Operazioni sconosciute, con DPT discordante, non valide o eccessive e scritture verso oggetti di stato/neutrali vengono rifiutate localmente.
|
|
127
114
|
- **Chiedi conferma prima di inviare comandi KNX**: attivo per default. Mostra prima le modifiche validate e non emette comandi KNX finché la stessa sessione chat non le conferma. Quando ci sono comandi in attesa, la risposta aggiunge sempre le istruzioni esatte per confermare o annullare nella lingua della richiesta corrente. I comandi vengono validati nuovamente subito prima dell'uscita.
|
|
128
|
-
- **Preset adattatore**:
|
|
129
|
-
- **Mappatura ingresso (chat → KNX AI)**: JavaScript sincrono applicato prima dell'elaborazione del comando in ingresso.
|
|
130
|
-
- **Mappatura uscita (KNX AI → chat)**: JavaScript sincrono applicato solo ai messaggi dell'uscita 3.
|
|
115
|
+
- **Preset adattatore**: parte da **Nessun adattatore**. Gli editor JavaScript restano nascosti finché non viene selezionato un adattatore; la selezione carica e mostra la coppia di mappature ingresso/uscita modificabile.
|
|
116
|
+
- **Mappatura ingresso (chat → KNX AI)**: JavaScript sincrono applicato prima dell'elaborazione del comando in ingresso. Usa l'editor JavaScript verde.
|
|
117
|
+
- **Mappatura uscita (KNX AI → chat)**: JavaScript sincrono applicato solo ai messaggi dell'uscita 3. Usa l'editor JavaScript giallo.
|
|
131
118
|
- **Abilita notifiche domestiche proattive**: rilevatore opzionale per stati aperti affidabili di persiane/finestre/porte; non scrive mai autonomamente su KNX.
|
|
132
119
|
- **Destinatario principale / chat ID**: destinazione opzionale dei messaggi spontanei; altrimenti viene ricordata l'ultima sessione Ask.
|
|
133
|
-
- **Avvisa dopo apertura (minuti)**: soglia di durata dell'apertura prima di valutare una notifica proattiva.
|
|
120
|
+
- **Avvisa dopo apertura (minuti)**: soglia di durata dell'apertura prima di valutare una notifica proattiva; 120 minuti per default.
|
|
134
121
|
- **Inizio / fine ore silenziose**: intervallo giornaliero in cui i messaggi proattivi sono sospesi.
|
|
135
122
|
- **Educazione AI**: istruzioni autorevoli gestite soltanto dall'utente, lette dall'AI e mai modificate.
|
|
136
|
-
- **Cooldown ripetizione (minuti)**: intervallo minimo prima che lo stesso oggetto possa generare un altro avviso.
|
|
123
|
+
- **Cooldown ripetizione (minuti)**: intervallo minimo prima che lo stesso oggetto possa generare un altro avviso; 360 minuti per default.
|
|
137
124
|
- **Dimensione massima memoria domestica (KB)**: limite rigido da 64 a 1.024 KB; 256 KB per default.
|
|
138
125
|
- Se l'archivio su disco e' attivo, **Ask** lo usa di default: rispetta date/intervalli espliciti e, se non presenti, cerca nelle ultime 24 ore piu' gli eventi correnti in RAM.
|
|
139
|
-
- **Includi payload raw in hex**: include payload raw esadecimale nel prompt.
|
|
140
126
|
- **Includi inventario del progetto Node-RED**: include nel prompt l'inventario dell'intero progetto Node-RED, compresi nodi KNX e altri nodi utili come function/change/inject/template quando contengono logica KNX o group address.
|
|
141
|
-
-
|
|
142
|
-
- **Lingua documentazione**: lingua preferita per gli estratti
|
|
143
|
-
- Pulsante **Aggiorna**: interroga il provider e popola i modelli disponibili.
|
|
127
|
+
- Gli estratti pertinenti di help, README ed esempi vengono sempre inclusi automaticamente.
|
|
128
|
+
- **Lingua documentazione**: lingua preferita per gli estratti documentali inclusi automaticamente.
|
|
129
|
+
- Pulsante **Aggiorna**: interroga il provider e popola i modelli disponibili. Durante il caricamento l'icona ruota; il completamento corretto non mostra messaggi.
|
|
144
130
|
|
|
145
131
|
### Advanced
|
|
146
132
|
- **Finestra analisi (secondi)**: finestra principale per summary/rate.
|
|
147
133
|
- **Eventi massimi in memoria**: numero massimo di telegrammi mantenuti in RAM.
|
|
148
134
|
- **Dimensione lista Top**: numero di group address/sorgenti nella classifica summary.
|
|
149
|
-
- **Ritardo massimo pattern (ms)**: differenza temporale massima per correlare pattern.
|
|
150
|
-
- **Occorrenze minime pattern**: soglia minima prima di segnalare un pattern.
|
|
151
|
-
- **Finestra rate (secondi)**: finestra scorrevole per i controlli di rate.
|
|
152
|
-
- **Max telegrammi/sec totale (0=off)**: soglia telegrammi/s sull'intero BUS.
|
|
153
|
-
- **Max telegrammi/sec per GA (0=off)**: soglia telegrammi/s per singolo group address.
|
|
154
|
-
- **Finestra flap (secondi)**: finestra temporale per rilevare flapping/cambi rapidi.
|
|
155
|
-
- **Max cambi per GA nella finestra (0=off)**: massimo numero di cambi consentiti.
|
|
156
135
|
|
|
157
136
|
### Setup rapido Ollama (locale)
|
|
158
137
|
- Seleziona **Provider = Ollama**.
|
|
@@ -87,10 +87,7 @@
|
|
|
87
87
|
- **Topic**:节点输出使用的基础 topic。
|
|
88
88
|
- **Open KNX AI Web** 按钮:打开网页仪表板(`/knxUltimateAI/sidebar/page`)。
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
- **Capture GroupValue_Write**:抓取 Write 电报。
|
|
92
|
-
- **Capture GroupValue_Response**:抓取 Response 电报。
|
|
93
|
-
- **Capture GroupValue_Read**:抓取 Read 电报。
|
|
90
|
+
KNX AI 会自动监听 `GroupValue_Write`、`GroupValue_Response` 和 `GroupValue_Read` 报文。模式和异常分析始终使用内置默认值初始化,无需配置总线事件或检测参数。
|
|
94
91
|
|
|
95
92
|
### Analysis
|
|
96
93
|
- **Analysis window (seconds)**:摘要/速率统计主窗口。
|
|
@@ -100,16 +97,6 @@
|
|
|
100
97
|
- **Max stored events**:内存中保留的最大电报数量。
|
|
101
98
|
- **Auto emit summary (seconds, 0=off)**:周期性输出摘要间隔。
|
|
102
99
|
- **Top list size**:摘要中 top 组地址/来源数量。
|
|
103
|
-
- **Detect simple patterns (A -> B)**:启用组地址转移/模式检测。
|
|
104
|
-
- **Pattern max lag (ms)**:模式关联允许的最大时间差。
|
|
105
|
-
- **Pattern min occurrences**:报告模式前的最小出现次数。
|
|
106
|
-
|
|
107
|
-
### Anomalies
|
|
108
|
-
- **Rate window (seconds)**:异常速率检查滑动窗口。
|
|
109
|
-
- **Max overall telegrams/sec (0=off)**:全总线 telegram/s 阈值。
|
|
110
|
-
- **Max telegrams/sec per GA (0=off)**:单组地址 telegram/s 阈值。
|
|
111
|
-
- **Flap window (seconds)**:抖动/快速变化检测窗口。
|
|
112
|
-
- **Max changes per GA in window (0=off)**:窗口内允许的最大变化次数。
|
|
113
100
|
|
|
114
101
|
### AI 助手
|
|
115
102
|
- **Enable LLM assistant**:启用 Ask/chat 功能。
|
|
@@ -118,37 +105,28 @@
|
|
|
118
105
|
- **API key**:API Key(本地 Ollama 可不填)。
|
|
119
106
|
- **Model**:模型 ID/名称。
|
|
120
107
|
- **聊天模型兼容性**:所选模型必须支持已配置的 Chat Completions 端点。刷新模型列表时,会排除仅支持旧版 completions 的模型,例如 `gpt-3.5-turbo-instruct`。如果提供商拒绝自定义 temperature 值或令牌限制参数,KNX AI 会仅移除或替换不兼容字段后重试。
|
|
121
|
-
- **System prompt**:KNX 分析全局系统提示词(Advanced)。
|
|
122
108
|
- **允许 AI 读取 KNX 状态并控制执行器**:启用输出 4,默认关闭。可以读取 ETS 目录中的精确对象;仅接受写入明确标记为 `command` 的对象。未知、DPT 不匹配、无效或数量过多的操作,以及向状态或中性对象的写入,都会在本地被拒绝。
|
|
123
109
|
- **发送 KNX 命令前请求确认**:默认启用。先显示已验证的修改,在同一聊天会话确认前不会发送任何 KNX 命令。有命令等待确认时,回复始终会使用当前请求的语言附加准确的确认或取消说明。命令会在输出前再次验证。
|
|
124
|
-
-
|
|
125
|
-
- **输入映射(聊天 → KNX AI)**:在处理输入命令前运行的同步 JavaScript
|
|
126
|
-
- **输出映射(KNX AI → 聊天)**:仅应用于输出 3 消息的同步 JavaScript
|
|
110
|
+
- **适配器预设**:默认为**无适配器**。选择适配器前会隐藏 JavaScript 编辑器;选择后会加载并显示可编辑的输入和输出映射。
|
|
111
|
+
- **输入映射(聊天 → KNX AI)**:在处理输入命令前运行的同步 JavaScript,使用绿色 JavaScript 编辑器。
|
|
112
|
+
- **输出映射(KNX AI → 聊天)**:仅应用于输出 3 消息的同步 JavaScript,使用黄色 JavaScript 编辑器。
|
|
127
113
|
- **启用主动家庭通知**:可选检测器,仅处理可靠识别的卷帘、窗户和门开启状态;绝不会自主写入 KNX。
|
|
128
114
|
- **主要接收者 / 聊天 ID**:主动消息的可选目标;未填写时记住最近一次 Ask 会话。
|
|
129
|
-
-
|
|
115
|
+
- **开启多久后通知(分钟)**:考虑发送主动通知前的开启时长阈值;默认 120 分钟。
|
|
130
116
|
- **静默时间开始 / 结束**:每天禁止主动消息的时间段。
|
|
131
117
|
- **AI 教育**:仅由用户管理的权威指导,AI 可以读取但永远不能修改。
|
|
132
|
-
-
|
|
118
|
+
- **重复冷却时间(分钟)**:同一对象再次通知前的最短间隔;默认 360 分钟。
|
|
133
119
|
- **家庭记忆文件上限(KB)**:64 到 1,024 KB 的硬限制;默认 256 KB。
|
|
134
120
|
- 如果启用了磁盘归档,**Ask** 默认会查询该归档:若问题里写了明确日期/时间范围就按其查询,否则默认查询最近 24 小时并补上当前 RAM 事件。
|
|
135
|
-
- **Include raw payload hex**:在提示词中包含原始十六进制 payload。
|
|
136
121
|
- **包含 Node-RED 项目清单**:在提示词中加入整个 Node-RED 项目的节点清单,不仅包含 KNX 节点,也包含 function/change/inject/template 等在内且带有 KNX 逻辑或组地址的有用节点。
|
|
137
|
-
-
|
|
138
|
-
- **Docs language
|
|
139
|
-
- **Refresh** 按钮:请求 provider 并加载可用模型 ID
|
|
122
|
+
- 相关的帮助、README 和示例片段始终会自动包含。
|
|
123
|
+
- **Docs language**:自动包含的文档片段所使用的首选语言。
|
|
124
|
+
- **Refresh** 按钮:请求 provider 并加载可用模型 ID。加载期间图标会旋转;成功完成时不会显示额外消息。
|
|
140
125
|
|
|
141
126
|
### Advanced
|
|
142
127
|
- **Analysis window (seconds)**:摘要/速率统计主窗口。
|
|
143
128
|
- **Max stored events**:内存中保留的最大电报数量。
|
|
144
129
|
- **Top list size**:摘要中 top 组地址/来源数量。
|
|
145
|
-
- **Pattern max lag (ms)**:模式关联允许的最大时间差。
|
|
146
|
-
- **Pattern min occurrences**:报告模式前的最小出现次数。
|
|
147
|
-
- **Rate window (seconds)**:异常速率检查滑动窗口。
|
|
148
|
-
- **Max overall telegrams/sec (0=off)**:全总线 telegram/s 阈值。
|
|
149
|
-
- **Max telegrams/sec per GA (0=off)**:单组地址 telegram/s 阈值。
|
|
150
|
-
- **Flap window (seconds)**:抖动/快速变化检测窗口。
|
|
151
|
-
- **Max changes per GA in window (0=off)**:窗口内允许的最大变化次数。
|
|
152
130
|
|
|
153
131
|
### Ollama 快速配置(本地)
|
|
154
132
|
- 选择 **Provider = Ollama**。
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"engines": {
|
|
4
4
|
"node": ">=20.18.1"
|
|
5
5
|
},
|
|
6
|
-
"version": "6.2.
|
|
6
|
+
"version": "6.2.2",
|
|
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, 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
|
"dns-sync": "0.2.1",
|
|
22
22
|
"google-translate-tts": "^0.3.0",
|
|
23
23
|
"js-yaml": "4.2.0",
|
|
24
|
-
"knxultimate": "6.0.
|
|
24
|
+
"knxultimate": "6.0.2",
|
|
25
25
|
"lodash": "4.18.1",
|
|
26
26
|
"mqtt": "^5.15.1",
|
|
27
27
|
"node-color-log": "12.0.1",
|