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, and KNX routing between interfaces. Easy to use and highly configurable.
89 lines (76 loc) • 5.2 kB
HTML
<script type="text/markdown" data-help-name="knxUltimateAI">
Este nodo escucha **todos los telegramas KNX** del gateway KNX Ultimate seleccionado, genera estadísticas de tráfico, detecta anomalías y puede consultar opcionalmente un LLM.
## Salidas
1. **Resumen/Estadísticas** (`msg.payload` JSON)
2. **Anomalías** (`msg.payload` JSON)
3. **Asistente IA** (`msg.payload` texto, con `msg.summary`)
## Comandos (entrada)
Envía `msg.topic`:
- `summary` (o vacío): emite el resumen inmediatamente
- `reset`: limpia historial y contadores internos
- `ask`: envía una pregunta al LLM configurado
Para `ask`, envía la pregunta en `msg.prompt` (recomendado) o `msg.payload` (string).
## Campos de configuración
Aquí tienes todos los campos tal como se muestran en el editor de KNX AI.
### General
- **Gateway**: gateway/config node KNX Ultimate usado como fuente de telegramas.
- **Name**: nombre del nodo y título del dashboard.
- **Topic**: topic base usado en las salidas del nodo.
- Botón **Open KNX AI Web**: abre el dashboard web (`/knxUltimateAI/sidebar/page`).
### Capture
- **Capture GroupValue_Write**: captura telegramas Write.
- **Capture GroupValue_Response**: captura telegramas Response.
- **Capture GroupValue_Read**: captura telegramas Read.
### Analysis
- **Analysis window (seconds)**: ventana principal para resumen/rate.
- **History window (seconds)**: ventana de retención del historial interno.
- **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.
- **Retencion del archivo en disco (dias)**: numero de dias que se conservan los archivos antes de borrarse automaticamente.
- **Max stored events**: número máximo de telegramas en memoria.
- **Auto emit summary (seconds, 0=off)**: intervalo periódico de resumen.
- **Top list size**: cantidad de group addresses/fuentes en el top.
- **Detect simple patterns (A -> B)**: habilita detección de transiciones/patrones.
- **Pattern max lag (ms)**: diferencia temporal máxima para correlación.
- **Pattern min occurrences**: ocurrencias mínimas antes de reportar patrón.
### Anomalies
- **Rate window (seconds)**: ventana deslizante para controles de rate.
- **Max overall telegrams/sec (0=off)**: umbral en el bus global.
- **Max telegrams/sec per GA (0=off)**: umbral por group address.
- **Flap window (seconds)**: ventana para detectar flapping/cambios rápidos.
- **Max changes per GA in window (0=off)**: cambios máximos permitidos en ventana.
### Asistente IA
- **Enable LLM assistant**: habilita funciones Ask/chat.
- **Provider**: backend LLM (OpenAI-compatible u Ollama).
- **Endpoint URL**: URL endpoint chat/completions.
- **API key**: clave API (no requerida con Ollama local).
- **Model**: ID/nombre de modelo.
- **System prompt**: instrucción global para análisis KNX (Advanced).
- 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.
- **Include raw payload hex**: incluye payload hex raw en el prompt.
- **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.
- **Include documentation snippets (help/README/examples)**: incluye contexto de documentación.
- **Docs language**: idioma preferido de snippets documentación.
- Botón **Refresh**: consulta el provider y carga modelos disponibles.
### Advanced
- **Analysis window (seconds)**: ventana principal para resumen/rate.
- **Max stored events**: número máximo de telegramas en memoria.
- **Top list size**: cantidad de group addresses/fuentes en el top.
- **Pattern max lag (ms)**: diferencia temporal máxima para correlación.
- **Pattern min occurrences**: ocurrencias mínimas antes de reportar patrón.
- **Rate window (seconds)**: ventana deslizante para controles de rate.
- **Max overall telegrams/sec (0=off)**: umbral en el bus global.
- **Max telegrams/sec per GA (0=off)**: umbral por group address.
- **Flap window (seconds)**: ventana para detectar flapping/cambios rápidos.
- **Max changes per GA in window (0=off)**: cambios máximos permitidos en ventana.
### Configuración rápida de Ollama (local)
- Selecciona **Provider = Ollama**.
- Endpoint por defecto: `http://localhost:11434/api/chat`.
- Si no hay modelos locales:
- **1) Download model**: abre la página **Model library**.
- **2) Install it**: descarga e instala el modelo localmente (p. ej. `llama3.1`).
- Durante refresh/instalación, KNX AI también intenta iniciar automáticamente el servidor Ollama.
- Si la instalación falla con error de conexión, verifica que Ollama esté ejecutándose (app de escritorio o `ollama serve`).
- Si Node-RED se ejecuta en Docker, usa `host.docker.internal` en lugar de `localhost` en el endpoint.
## Nota de seguridad
Si el LLM está habilitado, el contexto de tráfico KNX puede enviarse al endpoint configurado. Para privacidad on-premise, usa proveedores locales.
</script>