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.
32 lines (25 loc) • 1.92 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é, construit des statistiques, détecte des anomalies simples et peut (optionnellement) interroger un LLM pour produire une analyse lisible.
## Ce qu’il fait
- Conserve un historique glissant des télégrammes KNX (déjà décodés par KNX Ultimate) en RAM.
- Émet des **résumés de trafic** périodiquement ou à la demande (Top GA, types d’événement, débit).
- Émet des **événements d’anomalie** (débit bus trop élevé, spam sur GA, « flapping »).
- Optionnel : interroge un LLM via la commande `ask`.
## Sorties
1. **Résumé/Statistiques** (`msg.payload` est du JSON)
2. **Anomalies** (`msg.payload` est un JSON décrivant l’anomalie)
3. **Assistant IA** (`msg.payload` est du texte ; inclut `msg.summary`)
## Commandes (entrée)
Envoyez un message avec `msg.topic` :
- `summary` (ou vide) : émet un résumé immédiatement
- `reset` : efface l’historique et les compteurs
- `ask` : questionne le LLM avec le résumé + le trafic récent
Pour `ask`, mettez la question dans `msg.prompt` (recommandé) ou dans `msg.payload` (chaîne).
## Contexte LLM (meilleures réponses)
Avec la commande `ask`, le nœud peut envoyer du contexte supplémentaire au LLM :
- **Inventaire des flows** : liste des nœuds KNX Ultimate présents dans vos flows Node-RED (aide à relier les télégrammes à la logique).
- **Extraits de documentation** : extraits pertinents depuis l’aide/README/exemples (et `docs/wiki` si disponible).
## Notes
- Si vous activez le LLM, des informations du bus seront envoyées à l’endpoint configuré. Utilisez un provider local si vous voulez rester on‑premise.
- Pour OpenAI, collez **uniquement** la clé API (commence par `sk-`). Ne collez pas `Bearer ...` ni l’en-tête complet `Authorization: ...`.
</script>