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.

68 lines (47 loc) 2.07 kB
<script type="text/markdown" data-help-name="knxUltimateGlobalContext"> # KNX 全局变量 该节点将从总线收到的组地址映射到全局上下文变量,\ 并允许通过该变量向 KNX 总线写入。 ## 概览 - 将 Global Context 节点加入流程并命名;该名称作为全局变量的基础名。 - 读取使用后缀 `_READ`(如 `MyVar_READ`)。 - 写入使用后缀 `_WRITE`(如 `MyVar_WRITE`)。 - 可在配置中将变量暴露为只读或读/写。 - 出于安全考虑,请修改默认名称。 注意:写入执行后,`<Name>_WRITE` 会被自动清空,避免反复写入。 ## 设置 | 属性 | 说明 | |--|--| | 网关 | KNX 网关。| | 变量名 (不能有空格,只能用小写字母) | 全局变量基础名。会创建 `<Name>_READ`(读取)与 `<Name>_WRITE`(写入)。为安全起见不要使用默认名。| | 作为全局变量公开 | 选择是否以及如何暴露全局变量。若不需写入,建议设置为只读。| | 总线写入间隔时间 | 轮询 `<Name>_WRITE` 并向总线写入的时间间隔。| ## 变量中的 msg 对象 ```javascript { address: "0/0/1", dpt: "1.001", payload: true, devicename: "Dinning Room->Table Light" } ``` ## 快速用法 ### 读取变量 ```javascript const list = global.get("KNXContextBanana_READ") || []; node.send({ payload: list }); const ga = list.find(a => a.address === "0/0/10"); if (ga && ga.payload === true) return { payload: "FOUND AND TRUE" }; if (ga && ga.payload === false) return { payload: "FOUND AND FALSE" }; ``` ### 通过变量写入总线 ```javascript const toSend = []; toSend.push({ address: "0/0/10", dpt: "1.001", payload: msg.payload }); // 如果已导入 ETS,可省略 dpt,由系统据 payload 推断 toSend.push({ address: "0/0/11", payload: msg.payload }); global.set("KNXContextBanana_WRITE", toSend); ``` ## 完整示例 <a href="https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/SampleGlobalContextNode" target="_blank"><i class="fa fa-info-circle"></i> 查看示例</a> </script>