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.39 kB
HTML
<script type="text/markdown" data-help-name="knxUltimateAI">
Ce nœud écoute **tous les télégrammes KNX** du gateway KNX Ultimate sélectionné, produit des statistiques de trafic, détecte des anomalies et peut interroger un LLM de façon optionnelle.
## Sorties
1. **Résumé/Stats** (`msg.payload` JSON)
2. **Anomalies** (`msg.payload` JSON)
3. **Assistant IA** (`msg.payload` texte, avec `msg.summary`)
## Commandes (entrée)
Envoyez `msg.topic` :
- `summary` (ou vide) : envoie le résumé immédiatement
- `reset` : vide l'historique/compteurs internes
- `ask` : envoie une question au LLM configuré
Pour `ask`, mettez la question dans `msg.prompt` (recommandé) ou `msg.payload` (chaîne).
## Champs de configuration
Voici tous les champs tels qu'affichés dans l'éditeur KNX AI.
### Général
- **Gateway** : gateway/config node KNX Ultimate utilisé comme source des télégrammes.
- **Name** : nom du nœud et titre du dashboard.
- **Topic** : topic de base utilisé dans les sorties.
- Bouton **Open KNX AI Web** : ouvre le dashboard web (`/knxUltimateAI/sidebar/page`).
### Capture
- **Capture GroupValue_Write** : capture les télégrammes Write.
- **Capture GroupValue_Response** : capture les télégrammes Response.
- **Capture GroupValue_Read** : capture les télégrammes Read.
### Analysis
- **Analysis window (seconds)** : fenêtre principale pour résumé/débits.
- **History window (seconds)** : fenêtre de rétention de l'historique interne.
- **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.
- **Retention de l'archive disque (jours)** : nombre de jours conservés sur disque avant suppression automatique des anciens fichiers.
- **Max stored events** : nombre maximal de télégrammes en mémoire.
- **Auto emit summary (seconds, 0=off)** : intervalle périodique d'émission du résumé.
- **Top list size** : nombre de group addresses/sources dans le top.
- **Detect simple patterns (A -> B)** : active la détection de transitions/patterns.
- **Pattern max lag (ms)** : écart temporel max pour corrélation des patterns.
- **Pattern min occurrences** : occurrences minimales avant signalement.
### Anomalies
- **Rate window (seconds)** : fenêtre glissante pour contrôles de débit.
- **Max overall telegrams/sec (0=off)** : seuil sur le bus global.
- **Max telegrams/sec per GA (0=off)** : seuil par group address.
- **Flap window (seconds)** : fenêtre de détection flapping/changements rapides.
- **Max changes per GA in window (0=off)** : nombre max de changements autorisés.
### Assistant IA
- **Enable LLM assistant** : active les fonctions Ask/chat.
- **Provider** : backend LLM (OpenAI-compatible ou Ollama).
- **Endpoint URL** : URL endpoint chat/completions.
- **API key** : clé API (non requise avec Ollama local).
- **Model** : ID/nom du modèle.
- **System prompt** : instruction système globale pour l'analyse KNX (Advanced).
- 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.
- **Include raw payload hex** : inclut le payload hex brut dans le prompt.
- **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.
- **Include documentation snippets (help/README/examples)** : inclut le contexte documentation.
- **Docs language** : langue préférée des snippets documentation.
- Bouton **Refresh** : interroge le provider et charge les modèles disponibles.
### Advanced
- **Analysis window (seconds)** : fenêtre principale pour résumé/débits.
- **Max stored events** : nombre maximal de télégrammes en mémoire.
- **Top list size** : nombre de group addresses/sources dans le top.
- **Pattern max lag (ms)** : écart temporel max pour corrélation des patterns.
- **Pattern min occurrences** : occurrences minimales avant signalement.
- **Rate window (seconds)** : fenêtre glissante pour contrôles de débit.
- **Max overall telegrams/sec (0=off)** : seuil sur le bus global.
- **Max telegrams/sec per GA (0=off)** : seuil par group address.
- **Flap window (seconds)** : fenêtre de détection flapping/changements rapides.
- **Max changes per GA in window (0=off)** : nombre max de changements autorisés.
### Démarrage rapide Ollama (local)
- Choisir **Provider = Ollama**.
- Endpoint par défaut : `http://localhost:11434/api/chat`.
- Si aucun modèle local n'est trouvé :
- **1) Download model** : ouvre la page **Model library**.
- **2) Install it** : télécharge et installe le modèle localement (ex. `llama3.1`).
- Pendant refresh/install, KNX AI tente aussi de démarrer automatiquement le serveur Ollama.
- Si l'installation échoue avec une erreur de connexion, vérifier qu'Ollama est lancé (app desktop ou `ollama serve`).
- Si Node-RED tourne dans Docker, utiliser `host.docker.internal` au lieu de `localhost` dans l'endpoint.
## Note sécurité
Si le LLM est activé, le contexte trafic KNX peut être envoyé à l'endpoint configuré. Pour un usage strictement on-premise, utilisez un provider local.
</script>