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.
82 lines (70 loc) • 4.05 kB
HTML
<script type="text/markdown" data-help-name="knxUltimateAI">
此节点会监听所选 KNX Ultimate 网关上的**所有 KNX 电报**,生成流量统计、检测异常,并可选调用 LLM。
## 输出
1. **摘要/统计**(`msg.payload` 为 JSON)
2. **异常**(`msg.payload` 为 JSON)
3. **AI 助手**(`msg.payload` 为文本,包含 `msg.summary`)
## 命令(输入)
发送 `msg.topic`:
- `summary`(或空):立即输出摘要
- `reset`:清空内部历史与计数器
- `ask`:向已配置的 LLM 提问
`ask` 的问题建议放在 `msg.prompt`,也可放在 `msg.payload`(字符串)。
## 配置字段
以下是编辑器里用户可见的全部字段名称。
### 通用
- **Gateway**:作为电报来源的 KNX Ultimate 网关/配置节点。
- **Name**:节点名称与仪表板标题。
- **Topic**:节点输出使用的基础 topic。
- **Open KNX AI Web** 按钮:打开网页仪表板(`/knxUltimateAI/sidebar/page`)。
### Capture
- **Capture GroupValue_Write**:抓取 Write 电报。
- **Capture GroupValue_Response**:抓取 Response 电报。
- **Capture GroupValue_Read**:抓取 Read 电报。
### Analysis
- **Analysis window (seconds)**:摘要/速率统计主窗口。
- **History window (seconds)**:内部历史保留窗口。
- **Max stored events**:内存中保留的最大电报数量。
- **Auto emit summary (seconds, 0=off)**:周期性输出摘要间隔。
- **Top list size**:摘要中 top 组地址/来源数量。
- **Detect simple patterns (A -> B)**:启用组地址转移/模式检测。
- **Pattern max lag (ms)**:模式关联允许的最大时间差。
- **Pattern min occurrences**:报告模式前的最小出现次数。
### Anomalies
- **Rate window (seconds)**:异常速率检查滑动窗口。
- **Max overall telegrams/sec (0=off)**:全总线 telegram/s 阈值。
- **Max telegrams/sec per GA (0=off)**:单组地址 telegram/s 阈值。
- **Flap window (seconds)**:抖动/快速变化检测窗口。
- **Max changes per GA in window (0=off)**:窗口内允许的最大变化次数。
### LLM Assistant
- **LLM Assistant** 标签页现在固定在编辑器最前面,便于快速配置。
- **Enable LLM assistant**:启用 Ask/chat 功能。
- **Provider**:LLM 后端(OpenAI-compatible 或 Ollama)。
- **Endpoint URL**:chat/completions 接口 URL。
- **API key**:API Key(本地 Ollama 可不填)。
- **Model**:模型 ID/名称。
- **System prompt**:KNX 分析全局系统提示词。
- **Temperature**:采样温度。
- **Max tokens**:最大生成 token 数。
- **Timeout (ms)**:LLM 请求 HTTP 超时。
- **Recent events included**:提示词中包含的最近事件数量上限。
- **Include raw payload hex**:在提示词中包含原始十六进制 payload。
- **Include Node-RED KNX node inventory**:在提示词中包含 flow 清单。
- **Max flow nodes included**:flow 清单中最多包含的节点数。
- **Include documentation snippets (help/README/examples)**:在提示词中包含文档片段。
- **Docs language**:文档片段优先语言。
- **Max docs snippets**:文档片段最大条数。
- **Max docs chars**:文档片段最大总字符数。
- **Refresh** 按钮:请求 provider 并加载可用模型 ID。
### Ollama 快速配置(本地)
- 选择 **Provider = Ollama**。
- 默认 endpoint:`http://localhost:11434/api/chat`。
- 若未发现本地模型:
- **1) Download model**:打开 **Model library** 页面。
- **2) Install it**:在本机下载并安装模型(例如 `llama3.1`)。
- 在刷新/安装模型时,KNX AI 也会在可能情况下尝试自动启动 Ollama 服务。
- 若安装因连接错误失败,请确认 Ollama 已运行(桌面应用或 `ollama serve`)。
- 若 Node-RED 运行在 Docker 中,endpoint 请使用 `host.docker.internal` 替代 `localhost`。
## 安全说明
启用 LLM 后,KNX 流量上下文可能发送到所配置的 endpoint。若需严格本地化,请使用本地 provider。
</script>