node-red-contrib-knx-ultimate
Version:
Control your KNX and KNX Secure intallation via Node-Red! A bunch of KNX nodes, with integrated Philips HUE control, ETS group address importer, KNX AI for diagnosticsand KNX routing between interfaces. Easy to use and highly configurable.
89 lines (76 loc) • 5.23 kB
HTML
<script type="text/markdown" data-help-name="knxUltimateAI">
Dieser Node überwacht **alle KNX-Telegramme** des ausgewählten KNX-Ultimate-Gateways, erstellt Verkehrsstatistiken, erkennt Anomalien und kann optional ein LLM befragen.
## Ausgänge
1. **Zusammenfassung/Statistik** (`msg.payload` JSON)
2. **Anomalien** (`msg.payload` JSON)
3. **KI-Assistent** (`msg.payload` Text, mit `msg.summary`)
## Befehle (Eingang)
Sende `msg.topic`:
- `summary` (oder leer): Summary sofort senden
- `reset`: internen Verlauf/Zähler zurücksetzen
- `ask`: Frage an das konfigurierte LLM senden
Für `ask` die Frage in `msg.prompt` (empfohlen) oder `msg.payload` (String) übergeben.
## Konfigurationsfelder
Hier sind alle Felder aufgeführt, wie sie im KNX-AI-Editor sichtbar sind.
### Allgemein
- **Gateway**: KNX-Ultimate Gateway/Config-Node als Telegrammquelle.
- **Name**: Node-Name und Dashboard-Titel.
- **Topic**: Basis-Topic der Node-Ausgänge.
- Button **Open KNX AI Web**: Öffnet das Web-Dashboard (`/knxUltimateAI/sidebar/page`).
### Capture
- **Capture GroupValue_Write**: Erfasst Write-Telegramme.
- **Capture GroupValue_Response**: Erfasst Response-Telegramme.
- **Capture GroupValue_Read**: Erfasst Read-Telegramme.
### Analysis
- **Analysis window (seconds)**: Hauptfenster für Summary/Rate-Berechnung.
- **History window (seconds)**: Aufbewahrungsfenster der internen Telegramm-Historie.
- **Captured telegrams also on disk archivieren**: Speichert Telegramme zusätzlich zu RAM in `knxultimatestorage/knxai/history/<node-id>/YYYY-MM-DD.jsonl`.
- **Aufbewahrung des Festplattenarchivs (Tage)**: Anzahl Tage, die Archivdateien auf Platte behalten werden, bevor sie automatisch gelöscht werden.
- **Max stored events**: Maximale Anzahl Telegramme im Speicher.
- **Auto emit summary (seconds, 0=off)**: Periodisches Summary-Intervall.
- **Top list size**: Anzahl Top-Gruppenadressen/Quellen in der Summary.
- **Detect simple patterns (A -> B)**: Aktiviert Übergangs-/Pattern-Erkennung.
- **Pattern max lag (ms)**: Maximaler Zeitabstand für Pattern-Korrelation.
- **Pattern min occurrences**: Mindestanzahl, bevor ein Pattern gemeldet wird.
### Anomalies
- **Rate window (seconds)**: Gleitendes Zeitfenster für Rate-Prüfungen.
- **Max overall telegrams/sec (0=off)**: Schwellwert für gesamten Bus.
- **Max telegrams/sec per GA (0=off)**: Schwellwert pro Gruppenadresse.
- **Flap window (seconds)**: Zeitfenster für Flapping-/Wechselraten-Erkennung.
- **Max changes per GA in window (0=off)**: Maximal erlaubte Änderungen im Fenster.
### KI-Assistent
- **Enable LLM assistant**: Aktiviert Ask/Chat-Funktionen.
- **Provider**: LLM-Backend (OpenAI-compatible oder Ollama).
- **Endpoint URL**: URL des Chat/Completions-Endpunkts.
- **API key**: API-Schlüssel (für lokales Ollama nicht erforderlich).
- **Model**: Modell-ID/Name.
- **System prompt**: Globale Instruktion für KNX-Analyse (Advanced).
- 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.
- **Include raw payload hex**: Rohe Hex-Payload im Prompt einfügen.
- **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.
- **Include documentation snippets (help/README/examples)**: Doku-Kontext einfügen.
- **Docs language**: Bevorzugte Sprache der Doku-Snippets.
- Button **Refresh**: Provider abfragen und verfügbare Modelle laden.
### Advanced
- **Analysis window (seconds)**: Hauptfenster für Summary/Rate-Berechnung.
- **Max stored events**: Maximale Anzahl Telegramme im Speicher.
- **Top list size**: Anzahl Top-Gruppenadressen/Quellen in der Summary.
- **Pattern max lag (ms)**: Maximaler Zeitabstand für Pattern-Korrelation.
- **Pattern min occurrences**: Mindestanzahl, bevor ein Pattern gemeldet wird.
- **Rate window (seconds)**: Gleitendes Zeitfenster für Rate-Prüfungen.
- **Max overall telegrams/sec (0=off)**: Schwellwert für gesamten Bus.
- **Max telegrams/sec per GA (0=off)**: Schwellwert pro Gruppenadresse.
- **Flap window (seconds)**: Zeitfenster für Flapping-/Wechselraten-Erkennung.
- **Max changes per GA in window (0=off)**: Maximal erlaubte Änderungen im Fenster.
### Ollama Schnellstart (lokal)
- **Provider = Ollama** auswählen.
- Standard-Endpoint: `http://localhost:11434/api/chat`.
- Wenn keine lokalen Modelle gefunden werden:
- **1) Download model**: öffnet die Seite **Model library**.
- **2) Install it**: lädt und installiert das Modell lokal (z. B. `llama3.1`).
- Beim Refresh/Install versucht KNX AI zusätzlich, den Ollama-Server automatisch zu starten.
- Bei Installationsfehlern mit Verbindungsproblem prüfen, ob Ollama läuft (Desktop-App oder `ollama serve`).
- Wenn Node-RED in Docker läuft, im Endpoint `host.docker.internal` statt `localhost` verwenden.
## Sicherheitshinweis
Bei aktiviertem LLM kann KNX-Traffic-Kontext an den konfigurierten Endpoint gesendet werden. Für striktes On-Premise lokale Provider verwenden.
</script>