node-red-contrib-knx-ultimate 4.3.5 → 4.3.7
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 +13 -0
- package/nodes/knxUltimate-config.js +45 -10
- package/nodes/knxUltimate.html +71 -35
- package/nodes/knxUltimateAI.html +87 -106
- package/nodes/knxUltimateAI.js +345 -23
- package/nodes/locales/de/knxUltimateAI.html +18 -11
- package/nodes/locales/de/knxUltimateAI.json +9 -12
- package/nodes/locales/en/knxUltimateAI.html +18 -11
- package/nodes/locales/en/knxUltimateAI.json +9 -12
- package/nodes/locales/es/knxUltimateAI.html +18 -11
- package/nodes/locales/es/knxUltimateAI.json +9 -12
- package/nodes/locales/fr/knxUltimateAI.html +18 -11
- package/nodes/locales/fr/knxUltimateAI.json +9 -12
- package/nodes/locales/it/knxUltimateAI.html +18 -11
- package/nodes/locales/it/knxUltimateAI.json +9 -12
- package/nodes/locales/zh-CN/knxUltimateAI.html +18 -11
- package/nodes/locales/zh-CN/knxUltimateAI.json +9 -12
- package/package.json +1 -1
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
"title": "KNX AI (Traffic Analyzer)",
|
|
4
4
|
"sections": {
|
|
5
5
|
"capture": "Capture",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
6
|
+
"storage": "Storage & Summary",
|
|
7
|
+
"detection": "Detection & Alerts",
|
|
8
|
+
"llmConnection": "AI Assistant Connection",
|
|
9
|
+
"llmContext": "AI Assistant Context",
|
|
10
|
+
"advanced": "Advanced Tuning"
|
|
9
11
|
},
|
|
10
12
|
"properties": {
|
|
11
13
|
"server": "Gateway",
|
|
@@ -16,6 +18,8 @@
|
|
|
16
18
|
"notifyreadrequest": "Capture GroupValue_Read",
|
|
17
19
|
"analysisWindowSec": "Analysis window (seconds)",
|
|
18
20
|
"historyWindowSec": "History window (seconds)",
|
|
21
|
+
"historyStoreToDisk": "Also archive captured telegrams to disk",
|
|
22
|
+
"historyStoreRetentionDays": "Disk archive retention (days)",
|
|
19
23
|
"maxEvents": "Max stored events",
|
|
20
24
|
"emitIntervalSec": "Auto emit summary (seconds, 0=off)",
|
|
21
25
|
"topN": "Top list size",
|
|
@@ -33,17 +37,10 @@
|
|
|
33
37
|
"llmApiKey": "API key",
|
|
34
38
|
"llmModel": "Model",
|
|
35
39
|
"llmSystemPrompt": "System prompt",
|
|
36
|
-
"llmTemperature": "Temperature",
|
|
37
|
-
"llmMaxTokens": "Max tokens",
|
|
38
|
-
"llmTimeoutMs": "Timeout (ms)",
|
|
39
|
-
"llmMaxEventsInPrompt": "Recent events included",
|
|
40
40
|
"llmIncludeRaw": "Include raw payload hex",
|
|
41
|
-
"llmIncludeFlowContext": "Include Node-RED
|
|
42
|
-
"llmMaxFlowNodesInPrompt": "Max flow nodes included",
|
|
41
|
+
"llmIncludeFlowContext": "Include Node-RED project inventory",
|
|
43
42
|
"llmIncludeDocsSnippets": "Include documentation snippets (help/README/examples)",
|
|
44
|
-
"llmDocsLanguage": "Docs language"
|
|
45
|
-
"llmDocsMaxSnippets": "Max docs snippets",
|
|
46
|
-
"llmDocsMaxChars": "Max docs chars"
|
|
43
|
+
"llmDocsLanguage": "Docs language"
|
|
47
44
|
},
|
|
48
45
|
"outputs": {
|
|
49
46
|
"summary": "Summary/Stats",
|
|
@@ -31,6 +31,8 @@ Aquí tienes todos los campos tal como se muestran en el editor de KNX AI.
|
|
|
31
31
|
### Analysis
|
|
32
32
|
- **Analysis window (seconds)**: ventana principal para resumen/rate.
|
|
33
33
|
- **History window (seconds)**: ventana de retención del historial interno.
|
|
34
|
+
- **Archivar tambien en disco los telegramas capturados**: guarda los telegramas tambien en `knxultimatestorage/knxai/history/<node-id>/YYYY-MM-DD.jsonl`, ademas de la RAM.
|
|
35
|
+
- **Retencion del archivo en disco (dias)**: numero de dias que se conservan los archivos antes de borrarse automaticamente.
|
|
34
36
|
- **Max stored events**: número máximo de telegramas en memoria.
|
|
35
37
|
- **Auto emit summary (seconds, 0=off)**: intervalo periódico de resumen.
|
|
36
38
|
- **Top list size**: cantidad de group addresses/fuentes en el top.
|
|
@@ -45,27 +47,32 @@ Aquí tienes todos los campos tal como se muestran en el editor de KNX AI.
|
|
|
45
47
|
- **Flap window (seconds)**: ventana para detectar flapping/cambios rápidos.
|
|
46
48
|
- **Max changes per GA in window (0=off)**: cambios máximos permitidos en ventana.
|
|
47
49
|
|
|
48
|
-
###
|
|
49
|
-
- La pestaña **LLM Assistant** ahora aparece primero en el editor para facilitar la configuración.
|
|
50
|
+
### Asistente IA
|
|
50
51
|
- **Enable LLM assistant**: habilita funciones Ask/chat.
|
|
51
52
|
- **Provider**: backend LLM (OpenAI-compatible u Ollama).
|
|
52
53
|
- **Endpoint URL**: URL endpoint chat/completions.
|
|
53
54
|
- **API key**: clave API (no requerida con Ollama local).
|
|
54
55
|
- **Model**: ID/nombre de modelo.
|
|
55
|
-
- **System prompt**: instrucción global para análisis KNX.
|
|
56
|
-
- **
|
|
57
|
-
- **Max tokens**: máximo de tokens de completado.
|
|
58
|
-
- **Timeout (ms)**: timeout HTTP de peticiones LLM.
|
|
59
|
-
- **Recent events included**: máximo de eventos recientes en el prompt.
|
|
56
|
+
- **System prompt**: instrucción global para análisis KNX (Advanced).
|
|
57
|
+
- 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.
|
|
60
58
|
- **Include raw payload hex**: incluye payload hex raw en el prompt.
|
|
61
|
-
- **
|
|
62
|
-
- **Max flow nodes included**: límite de nodos flow incluidos.
|
|
59
|
+
- **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.
|
|
63
60
|
- **Include documentation snippets (help/README/examples)**: incluye contexto de documentación.
|
|
64
61
|
- **Docs language**: idioma preferido de snippets documentación.
|
|
65
|
-
- **Max docs snippets**: máximo de snippets de documentación.
|
|
66
|
-
- **Max docs chars**: máximo total de caracteres de documentación.
|
|
67
62
|
- Botón **Refresh**: consulta el provider y carga modelos disponibles.
|
|
68
63
|
|
|
64
|
+
### Advanced
|
|
65
|
+
- **Analysis window (seconds)**: ventana principal para resumen/rate.
|
|
66
|
+
- **Max stored events**: número máximo de telegramas en memoria.
|
|
67
|
+
- **Top list size**: cantidad de group addresses/fuentes en el top.
|
|
68
|
+
- **Pattern max lag (ms)**: diferencia temporal máxima para correlación.
|
|
69
|
+
- **Pattern min occurrences**: ocurrencias mínimas antes de reportar patrón.
|
|
70
|
+
- **Rate window (seconds)**: ventana deslizante para controles de rate.
|
|
71
|
+
- **Max overall telegrams/sec (0=off)**: umbral en el bus global.
|
|
72
|
+
- **Max telegrams/sec per GA (0=off)**: umbral por group address.
|
|
73
|
+
- **Flap window (seconds)**: ventana para detectar flapping/cambios rápidos.
|
|
74
|
+
- **Max changes per GA in window (0=off)**: cambios máximos permitidos en ventana.
|
|
75
|
+
|
|
69
76
|
### Configuración rápida de Ollama (local)
|
|
70
77
|
- Selecciona **Provider = Ollama**.
|
|
71
78
|
- Endpoint por defecto: `http://localhost:11434/api/chat`.
|
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
"title": "KNX AI (Traffic Analyzer)",
|
|
4
4
|
"sections": {
|
|
5
5
|
"capture": "Capture",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
6
|
+
"storage": "Historial y Resumen",
|
|
7
|
+
"detection": "Deteccion y Alertas",
|
|
8
|
+
"llmConnection": "Conexion del Asistente IA",
|
|
9
|
+
"llmContext": "Contexto del Asistente IA",
|
|
10
|
+
"advanced": "Ajustes Avanzados"
|
|
9
11
|
},
|
|
10
12
|
"properties": {
|
|
11
13
|
"server": "Gateway",
|
|
@@ -16,6 +18,8 @@
|
|
|
16
18
|
"notifyreadrequest": "Capture GroupValue_Read",
|
|
17
19
|
"analysisWindowSec": "Analysis window (seconds)",
|
|
18
20
|
"historyWindowSec": "History window (seconds)",
|
|
21
|
+
"historyStoreToDisk": "Archivar tambien en disco los telegramas capturados",
|
|
22
|
+
"historyStoreRetentionDays": "Retencion del archivo en disco (dias)",
|
|
19
23
|
"maxEvents": "Max stored events",
|
|
20
24
|
"emitIntervalSec": "Auto emit summary (seconds, 0=off)",
|
|
21
25
|
"topN": "Top list size",
|
|
@@ -33,17 +37,10 @@
|
|
|
33
37
|
"llmApiKey": "API key",
|
|
34
38
|
"llmModel": "Model",
|
|
35
39
|
"llmSystemPrompt": "System prompt",
|
|
36
|
-
"llmTemperature": "Temperature",
|
|
37
|
-
"llmMaxTokens": "Max tokens",
|
|
38
|
-
"llmTimeoutMs": "Timeout (ms)",
|
|
39
|
-
"llmMaxEventsInPrompt": "Recent events included",
|
|
40
40
|
"llmIncludeRaw": "Include raw payload hex",
|
|
41
|
-
"llmIncludeFlowContext": "
|
|
42
|
-
"llmMaxFlowNodesInPrompt": "Max flow nodes included",
|
|
41
|
+
"llmIncludeFlowContext": "Incluir inventario del proyecto Node-RED",
|
|
43
42
|
"llmIncludeDocsSnippets": "Include documentation snippets (help/README/examples)",
|
|
44
|
-
"llmDocsLanguage": "Docs language"
|
|
45
|
-
"llmDocsMaxSnippets": "Max docs snippets",
|
|
46
|
-
"llmDocsMaxChars": "Max docs chars"
|
|
43
|
+
"llmDocsLanguage": "Docs language"
|
|
47
44
|
},
|
|
48
45
|
"outputs": {
|
|
49
46
|
"summary": "Resumen/Estadísticas",
|
|
@@ -31,6 +31,8 @@ Voici tous les champs tels qu'affichés dans l'éditeur KNX AI.
|
|
|
31
31
|
### Analysis
|
|
32
32
|
- **Analysis window (seconds)** : fenêtre principale pour résumé/débits.
|
|
33
33
|
- **History window (seconds)** : fenêtre de rétention de l'historique interne.
|
|
34
|
+
- **Archiver aussi sur disque les telegrammes captures** : stocke aussi les télégrammes dans `knxultimatestorage/knxai/history/<node-id>/YYYY-MM-DD.jsonl`, en plus de la RAM.
|
|
35
|
+
- **Retention de l'archive disque (jours)** : nombre de jours conservés sur disque avant suppression automatique des anciens fichiers.
|
|
34
36
|
- **Max stored events** : nombre maximal de télégrammes en mémoire.
|
|
35
37
|
- **Auto emit summary (seconds, 0=off)** : intervalle périodique d'émission du résumé.
|
|
36
38
|
- **Top list size** : nombre de group addresses/sources dans le top.
|
|
@@ -45,27 +47,32 @@ Voici tous les champs tels qu'affichés dans l'éditeur KNX AI.
|
|
|
45
47
|
- **Flap window (seconds)** : fenêtre de détection flapping/changements rapides.
|
|
46
48
|
- **Max changes per GA in window (0=off)** : nombre max de changements autorisés.
|
|
47
49
|
|
|
48
|
-
###
|
|
49
|
-
- L'onglet **LLM Assistant** est maintenant affiché en premier dans l'éditeur.
|
|
50
|
+
### Assistant IA
|
|
50
51
|
- **Enable LLM assistant** : active les fonctions Ask/chat.
|
|
51
52
|
- **Provider** : backend LLM (OpenAI-compatible ou Ollama).
|
|
52
53
|
- **Endpoint URL** : URL endpoint chat/completions.
|
|
53
54
|
- **API key** : clé API (non requise avec Ollama local).
|
|
54
55
|
- **Model** : ID/nom du modèle.
|
|
55
|
-
- **System prompt** : instruction système globale pour l'analyse KNX.
|
|
56
|
-
- **
|
|
57
|
-
- **Max tokens** : nombre maximal de tokens de complétion.
|
|
58
|
-
- **Timeout (ms)** : timeout HTTP des requêtes LLM.
|
|
59
|
-
- **Recent events included** : nombre max d'événements récents dans le prompt.
|
|
56
|
+
- **System prompt** : instruction système globale pour l'analyse KNX (Advanced).
|
|
57
|
+
- 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.
|
|
60
58
|
- **Include raw payload hex** : inclut le payload hex brut dans le prompt.
|
|
61
|
-
- **
|
|
62
|
-
- **Max flow nodes included** : limite de nœuds flow inclus.
|
|
59
|
+
- **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.
|
|
63
60
|
- **Include documentation snippets (help/README/examples)** : inclut le contexte documentation.
|
|
64
61
|
- **Docs language** : langue préférée des snippets documentation.
|
|
65
|
-
- **Max docs snippets** : nombre max de snippets documentation.
|
|
66
|
-
- **Max docs chars** : nombre total max de caractères documentation.
|
|
67
62
|
- Bouton **Refresh** : interroge le provider et charge les modèles disponibles.
|
|
68
63
|
|
|
64
|
+
### Advanced
|
|
65
|
+
- **Analysis window (seconds)** : fenêtre principale pour résumé/débits.
|
|
66
|
+
- **Max stored events** : nombre maximal de télégrammes en mémoire.
|
|
67
|
+
- **Top list size** : nombre de group addresses/sources dans le top.
|
|
68
|
+
- **Pattern max lag (ms)** : écart temporel max pour corrélation des patterns.
|
|
69
|
+
- **Pattern min occurrences** : occurrences minimales avant signalement.
|
|
70
|
+
- **Rate window (seconds)** : fenêtre glissante pour contrôles de débit.
|
|
71
|
+
- **Max overall telegrams/sec (0=off)** : seuil sur le bus global.
|
|
72
|
+
- **Max telegrams/sec per GA (0=off)** : seuil par group address.
|
|
73
|
+
- **Flap window (seconds)** : fenêtre de détection flapping/changements rapides.
|
|
74
|
+
- **Max changes per GA in window (0=off)** : nombre max de changements autorisés.
|
|
75
|
+
|
|
69
76
|
### Démarrage rapide Ollama (local)
|
|
70
77
|
- Choisir **Provider = Ollama**.
|
|
71
78
|
- Endpoint par défaut : `http://localhost:11434/api/chat`.
|
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
"title": "KNX AI (Traffic Analyzer)",
|
|
4
4
|
"sections": {
|
|
5
5
|
"capture": "Capture",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
6
|
+
"storage": "Historique et Resume",
|
|
7
|
+
"detection": "Detection et Alertes",
|
|
8
|
+
"llmConnection": "Connexion Assistant IA",
|
|
9
|
+
"llmContext": "Contexte Assistant IA",
|
|
10
|
+
"advanced": "Reglages Avances"
|
|
9
11
|
},
|
|
10
12
|
"properties": {
|
|
11
13
|
"server": "Gateway",
|
|
@@ -16,6 +18,8 @@
|
|
|
16
18
|
"notifyreadrequest": "Capture GroupValue_Read",
|
|
17
19
|
"analysisWindowSec": "Analysis window (seconds)",
|
|
18
20
|
"historyWindowSec": "History window (seconds)",
|
|
21
|
+
"historyStoreToDisk": "Archiver aussi sur disque les telegrammes captures",
|
|
22
|
+
"historyStoreRetentionDays": "Retention de l'archive disque (jours)",
|
|
19
23
|
"maxEvents": "Max stored events",
|
|
20
24
|
"emitIntervalSec": "Auto emit summary (seconds, 0=off)",
|
|
21
25
|
"topN": "Top list size",
|
|
@@ -33,17 +37,10 @@
|
|
|
33
37
|
"llmApiKey": "API key",
|
|
34
38
|
"llmModel": "Model",
|
|
35
39
|
"llmSystemPrompt": "System prompt",
|
|
36
|
-
"llmTemperature": "Temperature",
|
|
37
|
-
"llmMaxTokens": "Max tokens",
|
|
38
|
-
"llmTimeoutMs": "Timeout (ms)",
|
|
39
|
-
"llmMaxEventsInPrompt": "Recent events included",
|
|
40
40
|
"llmIncludeRaw": "Include raw payload hex",
|
|
41
|
-
"llmIncludeFlowContext": "
|
|
42
|
-
"llmMaxFlowNodesInPrompt": "Max flow nodes included",
|
|
41
|
+
"llmIncludeFlowContext": "Inclure l'inventaire du projet Node-RED",
|
|
43
42
|
"llmIncludeDocsSnippets": "Include documentation snippets (help/README/examples)",
|
|
44
|
-
"llmDocsLanguage": "Docs language"
|
|
45
|
-
"llmDocsMaxSnippets": "Max docs snippets",
|
|
46
|
-
"llmDocsMaxChars": "Max docs chars"
|
|
43
|
+
"llmDocsLanguage": "Docs language"
|
|
47
44
|
},
|
|
48
45
|
"outputs": {
|
|
49
46
|
"summary": "Résumé/Stats",
|
|
@@ -31,6 +31,8 @@ Di seguito sono elencati tutti i campi presenti nell'editor del nodo KNX AI.
|
|
|
31
31
|
### Analisi
|
|
32
32
|
- **Finestra analisi (secondi)**: finestra principale per summary/rate.
|
|
33
33
|
- **Finestra storico (secondi)**: finestra di retention dello storico interno telegrammi.
|
|
34
|
+
- **Archivia anche i telegrammi catturati su disco**: salva i telegrammi anche in `knxultimatestorage/knxai/history/<node-id>/YYYY-MM-DD.jsonl`, oltre che in RAM.
|
|
35
|
+
- **Retention archivio su disco (giorni)**: numero di giorni mantenuti su disco prima della cancellazione automatica dei file piu' vecchi.
|
|
34
36
|
- **Eventi massimi in memoria**: numero massimo di telegrammi mantenuti in RAM.
|
|
35
37
|
- **Invia summary automatico (secondi, 0=off)**: intervallo di emissione summary periodica.
|
|
36
38
|
- **Dimensione lista Top**: numero di group address/sorgenti nella classifica summary.
|
|
@@ -45,27 +47,32 @@ Di seguito sono elencati tutti i campi presenti nell'editor del nodo KNX AI.
|
|
|
45
47
|
- **Finestra flap (secondi)**: finestra temporale per rilevare flapping/cambi rapidi.
|
|
46
48
|
- **Max cambi per GA nella finestra (0=off)**: massimo numero di cambi consentiti.
|
|
47
49
|
|
|
48
|
-
### Assistente
|
|
49
|
-
- Il tab **Assistente LLM** è mostrato per primo nell'editor, per semplificare la configurazione.
|
|
50
|
+
### Assistente AI
|
|
50
51
|
- **Abilita assistente LLM**: abilita funzioni Ask/chat.
|
|
51
52
|
- **Provider**: backend LLM (OpenAI-compatible o Ollama).
|
|
52
53
|
- **URL endpoint**: URL endpoint chat/completions.
|
|
53
54
|
- **API key**: chiave API (non necessaria con Ollama locale).
|
|
54
55
|
- **Modello**: ID/nome modello.
|
|
55
|
-
- **Prompt di sistema**: istruzione globale del comportamento analisi KNX.
|
|
56
|
-
- **
|
|
57
|
-
- **Token massimi**: massimo numero di token di completamento.
|
|
58
|
-
- **Timeout (ms)**: timeout HTTP richieste LLM.
|
|
59
|
-
- **Eventi recenti inclusi**: massimo eventi recenti passati al prompt.
|
|
56
|
+
- **Prompt di sistema**: istruzione globale del comportamento analisi KNX (Advanced).
|
|
57
|
+
- 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.
|
|
60
58
|
- **Includi payload raw in hex**: include payload raw esadecimale nel prompt.
|
|
61
|
-
- **Includi inventario
|
|
62
|
-
- **Max nodi del flow inclusi**: limite nodi inclusi dall'inventario flow.
|
|
59
|
+
- **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.
|
|
63
60
|
- **Includi estratti documentazione (help/README/esempi)**: include contesto docs.
|
|
64
61
|
- **Lingua documentazione**: lingua preferita per gli estratti docs.
|
|
65
|
-
- **Max estratti docs**: numero massimo di estratti docs.
|
|
66
|
-
- **Max caratteri docs**: massimo totale caratteri docs.
|
|
67
62
|
- Pulsante **Aggiorna**: interroga il provider e popola i modelli disponibili.
|
|
68
63
|
|
|
64
|
+
### Advanced
|
|
65
|
+
- **Finestra analisi (secondi)**: finestra principale per summary/rate.
|
|
66
|
+
- **Eventi massimi in memoria**: numero massimo di telegrammi mantenuti in RAM.
|
|
67
|
+
- **Dimensione lista Top**: numero di group address/sorgenti nella classifica summary.
|
|
68
|
+
- **Ritardo massimo pattern (ms)**: differenza temporale massima per correlare pattern.
|
|
69
|
+
- **Occorrenze minime pattern**: soglia minima prima di segnalare un pattern.
|
|
70
|
+
- **Finestra rate (secondi)**: finestra scorrevole per i controlli di rate.
|
|
71
|
+
- **Max telegrammi/sec totale (0=off)**: soglia telegrammi/s sull'intero BUS.
|
|
72
|
+
- **Max telegrammi/sec per GA (0=off)**: soglia telegrammi/s per singolo group address.
|
|
73
|
+
- **Finestra flap (secondi)**: finestra temporale per rilevare flapping/cambi rapidi.
|
|
74
|
+
- **Max cambi per GA nella finestra (0=off)**: massimo numero di cambi consentiti.
|
|
75
|
+
|
|
69
76
|
### Setup rapido Ollama (locale)
|
|
70
77
|
- Seleziona **Provider = Ollama**.
|
|
71
78
|
- Endpoint predefinito: `http://localhost:11434/api/chat`.
|
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
"title": "KNX AI (Analisi Traffico)",
|
|
4
4
|
"sections": {
|
|
5
5
|
"capture": "Cattura",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
6
|
+
"storage": "Storico e Summary",
|
|
7
|
+
"detection": "Rilevamento e Avvisi",
|
|
8
|
+
"llmConnection": "Connessione Assistente AI",
|
|
9
|
+
"llmContext": "Contesto Assistente AI",
|
|
10
|
+
"advanced": "Tuning Avanzato"
|
|
9
11
|
},
|
|
10
12
|
"properties": {
|
|
11
13
|
"server": "Gateway",
|
|
@@ -16,6 +18,8 @@
|
|
|
16
18
|
"notifyreadrequest": "Cattura GroupValue_Read",
|
|
17
19
|
"analysisWindowSec": "Finestra analisi (secondi)",
|
|
18
20
|
"historyWindowSec": "Finestra storico (secondi)",
|
|
21
|
+
"historyStoreToDisk": "Archivia anche i telegrammi catturati su disco",
|
|
22
|
+
"historyStoreRetentionDays": "Retention archivio su disco (giorni)",
|
|
19
23
|
"maxEvents": "Eventi massimi in memoria",
|
|
20
24
|
"emitIntervalSec": "Invia summary automatico (secondi, 0=off)",
|
|
21
25
|
"topN": "Dimensione lista Top",
|
|
@@ -33,17 +37,10 @@
|
|
|
33
37
|
"llmApiKey": "API key",
|
|
34
38
|
"llmModel": "Modello",
|
|
35
39
|
"llmSystemPrompt": "Prompt di sistema",
|
|
36
|
-
"llmTemperature": "Temperatura",
|
|
37
|
-
"llmMaxTokens": "Token massimi",
|
|
38
|
-
"llmTimeoutMs": "Timeout (ms)",
|
|
39
|
-
"llmMaxEventsInPrompt": "Eventi recenti inclusi",
|
|
40
40
|
"llmIncludeRaw": "Includi payload raw in hex",
|
|
41
|
-
"llmIncludeFlowContext": "Includi inventario
|
|
42
|
-
"llmMaxFlowNodesInPrompt": "Max nodi del flow inclusi",
|
|
41
|
+
"llmIncludeFlowContext": "Includi inventario del progetto Node-RED",
|
|
43
42
|
"llmIncludeDocsSnippets": "Includi estratti documentazione (help/README/esempi)",
|
|
44
|
-
"llmDocsLanguage": "Lingua documentazione"
|
|
45
|
-
"llmDocsMaxSnippets": "Max estratti docs",
|
|
46
|
-
"llmDocsMaxChars": "Max caratteri docs"
|
|
43
|
+
"llmDocsLanguage": "Lingua documentazione"
|
|
47
44
|
},
|
|
48
45
|
"outputs": {
|
|
49
46
|
"summary": "Summary/Statistiche",
|
|
@@ -31,6 +31,8 @@
|
|
|
31
31
|
### Analysis
|
|
32
32
|
- **Analysis window (seconds)**:摘要/速率统计主窗口。
|
|
33
33
|
- **History window (seconds)**:内部历史保留窗口。
|
|
34
|
+
- **同时将捕获的报文归档到磁盘**:除了 RAM,还会把报文保存到 `knxultimatestorage/knxai/history/<node-id>/YYYY-MM-DD.jsonl`。
|
|
35
|
+
- **磁盘归档保留天数**:归档文件在磁盘上保留的天数,超期后旧文件会自动删除。
|
|
34
36
|
- **Max stored events**:内存中保留的最大电报数量。
|
|
35
37
|
- **Auto emit summary (seconds, 0=off)**:周期性输出摘要间隔。
|
|
36
38
|
- **Top list size**:摘要中 top 组地址/来源数量。
|
|
@@ -45,27 +47,32 @@
|
|
|
45
47
|
- **Flap window (seconds)**:抖动/快速变化检测窗口。
|
|
46
48
|
- **Max changes per GA in window (0=off)**:窗口内允许的最大变化次数。
|
|
47
49
|
|
|
48
|
-
###
|
|
49
|
-
- **LLM Assistant** 标签页现在固定在编辑器最前面,便于快速配置。
|
|
50
|
+
### AI 助手
|
|
50
51
|
- **Enable LLM assistant**:启用 Ask/chat 功能。
|
|
51
52
|
- **Provider**:LLM 后端(OpenAI-compatible 或 Ollama)。
|
|
52
53
|
- **Endpoint URL**:chat/completions 接口 URL。
|
|
53
54
|
- **API key**:API Key(本地 Ollama 可不填)。
|
|
54
55
|
- **Model**:模型 ID/名称。
|
|
55
|
-
- **System prompt**:KNX
|
|
56
|
-
- **
|
|
57
|
-
- **Max tokens**:最大生成 token 数。
|
|
58
|
-
- **Timeout (ms)**:LLM 请求 HTTP 超时。
|
|
59
|
-
- **Recent events included**:提示词中包含的最近事件数量上限。
|
|
56
|
+
- **System prompt**:KNX 分析全局系统提示词(Advanced)。
|
|
57
|
+
- 如果启用了磁盘归档,**Ask** 默认会查询该归档:若问题里写了明确日期/时间范围就按其查询,否则默认查询最近 24 小时并补上当前 RAM 事件。
|
|
60
58
|
- **Include raw payload hex**:在提示词中包含原始十六进制 payload。
|
|
61
|
-
-
|
|
62
|
-
- **Max flow nodes included**:flow 清单中最多包含的节点数。
|
|
59
|
+
- **包含 Node-RED 项目清单**:在提示词中加入整个 Node-RED 项目的节点清单,不仅包含 KNX 节点,也包含 function/change/inject/template 等在内且带有 KNX 逻辑或组地址的有用节点。
|
|
63
60
|
- **Include documentation snippets (help/README/examples)**:在提示词中包含文档片段。
|
|
64
61
|
- **Docs language**:文档片段优先语言。
|
|
65
|
-
- **Max docs snippets**:文档片段最大条数。
|
|
66
|
-
- **Max docs chars**:文档片段最大总字符数。
|
|
67
62
|
- **Refresh** 按钮:请求 provider 并加载可用模型 ID。
|
|
68
63
|
|
|
64
|
+
### Advanced
|
|
65
|
+
- **Analysis window (seconds)**:摘要/速率统计主窗口。
|
|
66
|
+
- **Max stored events**:内存中保留的最大电报数量。
|
|
67
|
+
- **Top list size**:摘要中 top 组地址/来源数量。
|
|
68
|
+
- **Pattern max lag (ms)**:模式关联允许的最大时间差。
|
|
69
|
+
- **Pattern min occurrences**:报告模式前的最小出现次数。
|
|
70
|
+
- **Rate window (seconds)**:异常速率检查滑动窗口。
|
|
71
|
+
- **Max overall telegrams/sec (0=off)**:全总线 telegram/s 阈值。
|
|
72
|
+
- **Max telegrams/sec per GA (0=off)**:单组地址 telegram/s 阈值。
|
|
73
|
+
- **Flap window (seconds)**:抖动/快速变化检测窗口。
|
|
74
|
+
- **Max changes per GA in window (0=off)**:窗口内允许的最大变化次数。
|
|
75
|
+
|
|
69
76
|
### Ollama 快速配置(本地)
|
|
70
77
|
- 选择 **Provider = Ollama**。
|
|
71
78
|
- 默认 endpoint:`http://localhost:11434/api/chat`。
|
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
"title": "KNX AI (Traffic Analyzer)",
|
|
4
4
|
"sections": {
|
|
5
5
|
"capture": "Capture",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
6
|
+
"storage": "历史与摘要",
|
|
7
|
+
"detection": "检测与告警",
|
|
8
|
+
"llmConnection": "AI 助手连接",
|
|
9
|
+
"llmContext": "AI 助手上下文",
|
|
10
|
+
"advanced": "高级调优"
|
|
9
11
|
},
|
|
10
12
|
"properties": {
|
|
11
13
|
"server": "Gateway",
|
|
@@ -16,6 +18,8 @@
|
|
|
16
18
|
"notifyreadrequest": "Capture GroupValue_Read",
|
|
17
19
|
"analysisWindowSec": "Analysis window (seconds)",
|
|
18
20
|
"historyWindowSec": "History window (seconds)",
|
|
21
|
+
"historyStoreToDisk": "同时将捕获的报文归档到磁盘",
|
|
22
|
+
"historyStoreRetentionDays": "磁盘归档保留天数",
|
|
19
23
|
"maxEvents": "Max stored events",
|
|
20
24
|
"emitIntervalSec": "Auto emit summary (seconds, 0=off)",
|
|
21
25
|
"topN": "Top list size",
|
|
@@ -33,17 +37,10 @@
|
|
|
33
37
|
"llmApiKey": "API key",
|
|
34
38
|
"llmModel": "Model",
|
|
35
39
|
"llmSystemPrompt": "System prompt",
|
|
36
|
-
"llmTemperature": "Temperature",
|
|
37
|
-
"llmMaxTokens": "Max tokens",
|
|
38
|
-
"llmTimeoutMs": "Timeout (ms)",
|
|
39
|
-
"llmMaxEventsInPrompt": "Recent events included",
|
|
40
40
|
"llmIncludeRaw": "Include raw payload hex",
|
|
41
|
-
"llmIncludeFlowContext": "
|
|
42
|
-
"llmMaxFlowNodesInPrompt": "Max flow nodes included",
|
|
41
|
+
"llmIncludeFlowContext": "包含 Node-RED 项目清单",
|
|
43
42
|
"llmIncludeDocsSnippets": "Include documentation snippets (help/README/examples)",
|
|
44
|
-
"llmDocsLanguage": "Docs language"
|
|
45
|
-
"llmDocsMaxSnippets": "Max docs snippets",
|
|
46
|
-
"llmDocsMaxChars": "Max docs chars"
|
|
43
|
+
"llmDocsLanguage": "Docs language"
|
|
47
44
|
},
|
|
48
45
|
"outputs": {
|
|
49
46
|
"summary": "摘要/统计",
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"engines": {
|
|
4
4
|
"node": ">=20.18.1"
|
|
5
5
|
},
|
|
6
|
-
"version": "4.3.
|
|
6
|
+
"version": "4.3.7",
|
|
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, and KNX routing between interfaces. Easy to use and highly configurable.",
|
|
8
8
|
"files": [
|
|
9
9
|
"nodes/",
|