UNPKG

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
<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>