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
HTML
<script type="text/markdown" data-help-name="knxUltimateGlobalContext">
该节点将从总线收到的组地址映射到全局上下文变量,\
并允许通过该变量向 KNX 总线写入。
- 将 Global Context 节点加入流程并命名;该名称作为全局变量的基础名。
- 读取使用后缀 `_READ`(如 `MyVar_READ`)。
- 写入使用后缀 `_WRITE`(如 `MyVar_WRITE`)。
- 可在配置中将变量暴露为只读或读/写。
- 出于安全考虑,请修改默认名称。
注意:写入执行后,`<Name>_WRITE` 会被自动清空,避免反复写入。
| 属性 | 说明 |
|--|--|
| 网关 | KNX 网关。|
| 变量名 (不能有空格,只能用小写字母) | 全局变量基础名。会创建 `<Name>_READ`(读取)与 `<Name>_WRITE`(写入)。为安全起见不要使用默认名。|
| 作为全局变量公开 | 选择是否以及如何暴露全局变量。若不需写入,建议设置为只读。|
| 总线写入间隔时间 | 轮询 `<Name>_WRITE` 并向总线写入的时间间隔。|
```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>