node-red-contrib-knx-ultimate 5.0.0 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/nodes/knxUltimate-config.html +1 -3
- package/nodes/knxUltimateIoTBridge.html +373 -15
- package/nodes/knxUltimateIoTBridge.js +178 -11
- package/nodes/lib/knx-home-assistant.js +171 -0
- package/nodes/lib/mqtt-bridge.js +596 -0
- package/nodes/locales/de/knxUltimateIoTBridge.html +25 -1
- package/nodes/locales/de/knxUltimateIoTBridge.json +55 -3
- package/nodes/locales/en/knxUltimate-config.json +8 -8
- package/nodes/locales/en/knxUltimateIoTBridge.html +26 -2
- package/nodes/locales/en/knxUltimateIoTBridge.json +55 -3
- package/nodes/locales/es/knxUltimateIoTBridge.html +25 -1
- package/nodes/locales/es/knxUltimateIoTBridge.json +55 -3
- package/nodes/locales/fr/knxUltimateIoTBridge.html +25 -1
- package/nodes/locales/fr/knxUltimateIoTBridge.json +55 -3
- package/nodes/locales/it/knxUltimate-config.json +14 -14
- package/nodes/locales/it/knxUltimateIoTBridge.html +25 -1
- package/nodes/locales/it/knxUltimateIoTBridge.json +55 -3
- package/nodes/locales/zh-CN/knxUltimateIoTBridge.html +25 -1
- package/nodes/locales/zh-CN/knxUltimateIoTBridge.json +55 -3
- package/package.json +3 -2
|
@@ -1,13 +1,63 @@
|
|
|
1
1
|
{
|
|
2
2
|
"knxUltimateIoTBridge": {
|
|
3
|
-
"title": "
|
|
4
|
-
"paletteLabel": "IoT
|
|
3
|
+
"title": "MQTT Home Assistant - IoT",
|
|
4
|
+
"paletteLabel": "MQTT Home Assistant - IoT",
|
|
5
5
|
"node-input-server": "Gateway KNX",
|
|
6
6
|
"node-input-name": "Nome",
|
|
7
7
|
"node-input-outputtopic": "Topic predefinito per gli output",
|
|
8
8
|
"node-input-emitOnChangeOnly": "Invia KNX→IoT solo quando il valore cambia",
|
|
9
9
|
"node-input-readOnDeploy": "Esegui la lettura dei valori KNX al deploy",
|
|
10
10
|
"node-input-acceptFlowInput": "Accetta input dal flow (IoT → KNX)",
|
|
11
|
+
"node-input-nodeMode": "Modalità",
|
|
12
|
+
"mode": {
|
|
13
|
+
"iot": "Bridge IoT (messaggi MQTT/REST/Modbus)",
|
|
14
|
+
"homeassistant": "MQTT / Home Assistant (nativo)"
|
|
15
|
+
},
|
|
16
|
+
"ha": {
|
|
17
|
+
"intro": "Bridge MQTT nativo con discovery di Home Assistant. Ogni indirizzo di gruppo importato nel gateway KNX (lista ETS) viene esposto automaticamente come entità Home Assistant (switch, sensor, binary_sensor, number, text), più le tapparelle e i termostati che definisci qui sotto.",
|
|
18
|
+
"broker_url": "URL del broker",
|
|
19
|
+
"username": "Nome utente",
|
|
20
|
+
"password": "Password",
|
|
21
|
+
"optional": "(facoltativo)",
|
|
22
|
+
"base_topic": "Topic di base",
|
|
23
|
+
"discovery": "Pubblica discovery Home Assistant",
|
|
24
|
+
"discovery_prefix": "Prefisso discovery",
|
|
25
|
+
"hint": "Richiede un broker MQTT raggiungibile sia da Node-RED che da Home Assistant, con l'integrazione MQTT attiva in HA. Le entità compaiono sotto un dispositivo con il nome di questo nodo. I valori dal bus KNX vengono pubblicati su MQTT e i datapoint scrivibili accettano comandi da Home Assistant.",
|
|
26
|
+
"exposed_gas": "Indirizzi di gruppo da esporre",
|
|
27
|
+
"exposed_gas_hint": "Spunta gli indirizzi di gruppo che vuoi pubblicare su Home Assistant. Per impostazione predefinita sono tutti selezionati. Gli indirizzi usati da una tapparella/termostato qui sotto vengono gestiti lì e non serve spuntarli qui.",
|
|
28
|
+
"filter_placeholder": "Filtra per indirizzo o nome…",
|
|
29
|
+
"select_all": "Seleziona tutti",
|
|
30
|
+
"select_none": "Deseleziona tutti",
|
|
31
|
+
"exposed_count": "selezionati",
|
|
32
|
+
"read_only": "Sola lettura",
|
|
33
|
+
"read_only_bulk": "Sola lettura per gli indirizzi mostrati:",
|
|
34
|
+
"read_only_all": "Imposta sola lettura",
|
|
35
|
+
"read_only_none": "Togli sola lettura",
|
|
36
|
+
"bus_mode": "Connessione al bus KNX",
|
|
37
|
+
"bus_standalone": "Stand-alone (tramite il gateway)",
|
|
38
|
+
"bus_flow": "Messaggi di flow (PIN ingresso/uscita)",
|
|
39
|
+
"bus_flow_hint": "Collega un nodo KNXUltimate in modalità Universale al PIN di ingresso (KNX → MQTT) e un altro al PIN di uscita (MQTT → KNX).",
|
|
40
|
+
"no_gateway": "Seleziona prima un gateway KNX.",
|
|
41
|
+
"no_ga": "Nessun indirizzo di gruppo trovato. Importa la lista ETS nel gateway KNX.",
|
|
42
|
+
"csv_error": "Impossibile caricare la lista degli indirizzi di gruppo dal gateway.",
|
|
43
|
+
"custom_entities": "Tapparelle e Termostati",
|
|
44
|
+
"custom_entities_hint": "Tapparelle e termostati raggruppano più indirizzi di gruppo in un'unica entità Home Assistant, quindi non possono essere creati automaticamente dal DPT. Aggiungili qui. I datapoint vengono presi dalla lista ETS importata se disponibili, altrimenti dai default KNX (1.008 su/giù, 1.007 stop, 5.001 posizione, 9.001 temperatura, 1.001 on/off). Per uno stato affidabile, questi GA dovrebbero essere presenti nell'import ETS.",
|
|
45
|
+
"ce_type_cover": "Tapparella",
|
|
46
|
+
"ce_type_climate": "Termostato",
|
|
47
|
+
"ce_name": "Nome entità",
|
|
48
|
+
"ce_gaUpDown": "GA su/giù (1.008)",
|
|
49
|
+
"ce_gaStop": "GA stop (1.007)",
|
|
50
|
+
"ce_gaPosSet": "GA imposta posizione (5.001)",
|
|
51
|
+
"ce_gaPosState": "GA stato posizione (5.001)",
|
|
52
|
+
"ce_invertPosition": "Inverti posizione (KNX 0% = aperto)",
|
|
53
|
+
"ce_gaCurrentTemp": "GA temp attuale (9.001)",
|
|
54
|
+
"ce_gaSetpointSet": "GA imposta setpoint (9.001)",
|
|
55
|
+
"ce_gaSetpointState": "GA stato setpoint (9.001)",
|
|
56
|
+
"ce_gaOnOff": "GA On/Off (1.001)",
|
|
57
|
+
"ce_minTemp": "Temperatura min",
|
|
58
|
+
"ce_maxTemp": "Temperatura max",
|
|
59
|
+
"ce_tempStep": "Step temperatura"
|
|
60
|
+
},
|
|
11
61
|
"section_mappings": "Mappature bridge",
|
|
12
62
|
"mapping": {
|
|
13
63
|
"enabled": "Abilita",
|
|
@@ -71,7 +121,9 @@
|
|
|
71
121
|
},
|
|
72
122
|
"labels": {
|
|
73
123
|
"outputKnxToIoT": "Flusso KNX → IoT",
|
|
74
|
-
"outputIoTToKnx": "Ack IoT → KNX"
|
|
124
|
+
"outputIoTToKnx": "Ack IoT → KNX",
|
|
125
|
+
"inputKnxBus": "Ingresso bus KNX (da un nodo Universale)",
|
|
126
|
+
"outputKnxWrite": "Uscita scrittura KNX (verso un nodo Universale)"
|
|
75
127
|
}
|
|
76
128
|
}
|
|
77
129
|
}
|
|
@@ -1,8 +1,32 @@
|
|
|
1
1
|
<script type="text/markdown" data-help-name="knxUltimateIoTBridge">
|
|
2
|
-
#
|
|
2
|
+
# MQTT Home Assistant - IoT
|
|
3
3
|
|
|
4
4
|
在 KNX 组地址与 IoT 通道(MQTT 主题、REST 接口、Modbus 寄存器)之间创建双向桥接。每条映射都可以对数值进行缩放、格式化载荷,并向后续节点暴露元数据。
|
|
5
5
|
|
|
6
|
+
> **两种模式。** 使用节点顶部的**模式**选择器:
|
|
7
|
+
> - **IoT 桥接**(默认)— 下文描述的经典行为(映射列表,MQTT/REST/Modbus 输出消息)。
|
|
8
|
+
> - **MQTT / Home Assistant(原生)** — 节点直接连接 MQTT broker,在 KNX ↔ MQTT 之间双向桥接,并发布 Home Assistant MQTT 自动发现,使实体自动出现。
|
|
9
|
+
|
|
10
|
+
## MQTT / Home Assistant 模式
|
|
11
|
+
|
|
12
|
+
带 Home Assistant 自动发现的原生 MQTT 桥接。需要一个 Node-RED 和 Home Assistant 都能访问的 MQTT broker,并在 HA 中启用 MQTT 集成。所有实体都出现在以该节点命名的同一个设备下。
|
|
13
|
+
|
|
14
|
+
- **KNX 总线连接** — 节点如何与 KNX 交换报文:
|
|
15
|
+
- *独立*(默认)— 节点直接与 KNX 网关通信,没有输入/输出端口。
|
|
16
|
+
- *流消息* — 节点显示一个输入端口和一个输出端口。将一个**通用**模式的 KNXUltimate 节点的输出连接到输入端口(KNX 总线 → MQTT),并将输出端口连接到另一个**通用**模式 KNXUltimate 节点的输入(MQTT → KNX 总线)。
|
|
17
|
+
- **Broker URL / 用户名 / 密码** — 连接到你的 MQTT broker。
|
|
18
|
+
- **基础主题 / 自动发现前缀** — 状态/命令主题的根主题以及 HA 自动发现前缀(默认 `homeassistant`)。
|
|
19
|
+
- **要暴露的组地址** — KNX 网关中导入的每个地址(ETS 列表)都带有一个复选框。勾选的地址会作为 Home Assistant 实体发布,并根据 DPT 自动分类(switch、sensor、binary_sensor、number、text)。可使用筛选框和*全选* / *全不选*按钮。默认全部选中。每一行还有一个**只读**开关:只读地址仍会发布到 Home Assistant(状态保持可见),但绝不接受回写到 KNX 总线的命令(switch 变为 binary_sensor,number 变为 sensor)。*设为只读* / *取消只读*按钮会将其应用到当前显示的所有地址。
|
|
20
|
+
- **卷帘与温控器** — 将多个地址组合成一个实体:
|
|
21
|
+
- *卷帘*:上/下 GA (1.008)、可选停止 GA (1.007)、可选位置 设置/状态 GA (5.001)。*反转位置* 将 KNX 约定(0% = 打开)映射到 Home Assistant(100% = 打开)。
|
|
22
|
+
- *温控器*:当前温度 GA (9.001)、设定值 设置/状态 GA (9.001)、可选开/关 GA (1.001 → off/heat),以及最低/最高温度和步长。
|
|
23
|
+
|
|
24
|
+
KNX 总线的值会发布到 MQTT,可写的数据点接受来自 Home Assistant 的命令。数据点类型在可用时取自导入的 ETS 列表,否则取自 KNX 默认值(1.008 上/下、1.007 停止、5.001 位置、9.001 温度、1.001 开/关);为获得可靠的状态反馈,卷帘/温控器使用的地址应包含在 ETS 导入中。
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
本帮助的其余部分描述经典的 **IoT 桥接**模式。
|
|
29
|
+
|
|
6
30
|
## 输入
|
|
7
31
|
|
|
8
32
|
|属性|说明|
|
|
@@ -1,13 +1,63 @@
|
|
|
1
1
|
{
|
|
2
2
|
"knxUltimateIoTBridge": {
|
|
3
|
-
"title": "
|
|
4
|
-
"paletteLabel": "IoT
|
|
3
|
+
"title": "MQTT Home Assistant - IoT",
|
|
4
|
+
"paletteLabel": "MQTT Home Assistant - IoT",
|
|
5
5
|
"node-input-server": "KNX 网关",
|
|
6
6
|
"node-input-name": "名称",
|
|
7
7
|
"node-input-outputtopic": "输出的默认主题",
|
|
8
8
|
"node-input-emitOnChangeOnly": "仅在值变化时发送 KNX→IoT 更新",
|
|
9
9
|
"node-input-readOnDeploy": "部署时读取 KNX 数值",
|
|
10
10
|
"node-input-acceptFlowInput": "允许流程输入 (IoT → KNX)",
|
|
11
|
+
"node-input-nodeMode": "模式",
|
|
12
|
+
"mode": {
|
|
13
|
+
"iot": "IoT 桥接(MQTT/REST/Modbus 消息)",
|
|
14
|
+
"homeassistant": "MQTT / Home Assistant(原生)"
|
|
15
|
+
},
|
|
16
|
+
"ha": {
|
|
17
|
+
"intro": "带 Home Assistant 自动发现的原生 MQTT 桥接。KNX 网关中导入的每个组地址(ETS 列表)都会自动作为 Home Assistant 实体(switch、sensor、binary_sensor、number、text)暴露,此外还有下方定义的卷帘和温控器。",
|
|
18
|
+
"broker_url": "Broker URL",
|
|
19
|
+
"username": "用户名",
|
|
20
|
+
"password": "密码",
|
|
21
|
+
"optional": "(可选)",
|
|
22
|
+
"base_topic": "基础主题",
|
|
23
|
+
"discovery": "发布 Home Assistant 自动发现",
|
|
24
|
+
"discovery_prefix": "自动发现前缀",
|
|
25
|
+
"hint": "需要一个 Node-RED 和 Home Assistant 都能访问的 MQTT broker,并在 HA 中启用 MQTT 集成。实体会出现在以该节点命名的设备下。KNX 总线的值会发布到 MQTT,可写的数据点接受来自 Home Assistant 的命令。",
|
|
26
|
+
"exposed_gas": "要暴露的组地址",
|
|
27
|
+
"exposed_gas_hint": "勾选要发布到 Home Assistant 的组地址。默认全部选中。被下方卷帘/温控器使用的地址会在那里处理,无需在此勾选。",
|
|
28
|
+
"filter_placeholder": "按地址或名称筛选…",
|
|
29
|
+
"select_all": "全选",
|
|
30
|
+
"select_none": "全不选",
|
|
31
|
+
"exposed_count": "已选择",
|
|
32
|
+
"read_only": "只读",
|
|
33
|
+
"read_only_bulk": "对显示的地址设为只读:",
|
|
34
|
+
"read_only_all": "设为只读",
|
|
35
|
+
"read_only_none": "取消只读",
|
|
36
|
+
"bus_mode": "KNX 总线连接",
|
|
37
|
+
"bus_standalone": "独立(通过网关)",
|
|
38
|
+
"bus_flow": "流消息(输入/输出端口)",
|
|
39
|
+
"bus_flow_hint": "将一个通用模式的 KNXUltimate 节点接到输入端口(KNX → MQTT),另一个接到输出端口(MQTT → KNX)。",
|
|
40
|
+
"no_gateway": "请先选择一个 KNX 网关。",
|
|
41
|
+
"no_ga": "未找到组地址。请在 KNX 网关中导入 ETS 列表。",
|
|
42
|
+
"csv_error": "无法从网关加载组地址列表。",
|
|
43
|
+
"custom_entities": "卷帘与温控器",
|
|
44
|
+
"custom_entities_hint": "卷帘和温控器将多个组地址组合成一个 Home Assistant 实体,因此无法根据 DPT 自动创建。请在此添加。数据点类型在可用时取自导入的 ETS 列表,否则取自 KNX 默认值(1.008 上/下、1.007 停止、5.001 位置、9.001 温度、1.001 开/关)。为获得可靠的状态反馈,这些组地址应包含在 ETS 导入中。",
|
|
45
|
+
"ce_type_cover": "卷帘",
|
|
46
|
+
"ce_type_climate": "温控器",
|
|
47
|
+
"ce_name": "实体名称",
|
|
48
|
+
"ce_gaUpDown": "上/下 GA (1.008)",
|
|
49
|
+
"ce_gaStop": "停止 GA (1.007)",
|
|
50
|
+
"ce_gaPosSet": "设置位置 GA (5.001)",
|
|
51
|
+
"ce_gaPosState": "位置状态 GA (5.001)",
|
|
52
|
+
"ce_invertPosition": "反转位置(KNX 0% = 打开)",
|
|
53
|
+
"ce_gaCurrentTemp": "当前温度 GA (9.001)",
|
|
54
|
+
"ce_gaSetpointSet": "设定值设置 GA (9.001)",
|
|
55
|
+
"ce_gaSetpointState": "设定值状态 GA (9.001)",
|
|
56
|
+
"ce_gaOnOff": "开/关 GA (1.001)",
|
|
57
|
+
"ce_minTemp": "最低温度",
|
|
58
|
+
"ce_maxTemp": "最高温度",
|
|
59
|
+
"ce_tempStep": "温度步长"
|
|
60
|
+
},
|
|
11
61
|
"section_mappings": "桥接映射",
|
|
12
62
|
"mapping": {
|
|
13
63
|
"enabled": "启用",
|
|
@@ -71,7 +121,9 @@
|
|
|
71
121
|
},
|
|
72
122
|
"labels": {
|
|
73
123
|
"outputKnxToIoT": "KNX → IoT 流",
|
|
74
|
-
"outputIoTToKnx": "IoT → KNX 确认"
|
|
124
|
+
"outputIoTToKnx": "IoT → KNX 确认",
|
|
125
|
+
"inputKnxBus": "KNX 总线输入(来自通用节点)",
|
|
126
|
+
"outputKnxWrite": "KNX 写入输出(发送到通用节点)"
|
|
75
127
|
}
|
|
76
128
|
}
|
|
77
129
|
}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"engines": {
|
|
4
4
|
"node": ">=20.18.1"
|
|
5
5
|
},
|
|
6
|
-
"version": "5.0.
|
|
6
|
+
"version": "5.0.2",
|
|
7
7
|
"description": "Control your KNX and KNX Secure intallation via Node-Red! A bunch of KNX nodes, with integrated Philips HUE control, ETS group address importer, KNX AI for diagnosticsand KNX routing between interfaces. Easy to use and highly configurable.",
|
|
8
8
|
"files": [
|
|
9
9
|
"nodes/",
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"js-yaml": "4.1.1",
|
|
22
22
|
"knxultimate": "6.0.1",
|
|
23
23
|
"lodash": "4.18.1",
|
|
24
|
+
"mqtt": "^5.15.1",
|
|
24
25
|
"node-color-log": "12.0.1",
|
|
25
26
|
"ping": "0.4.4",
|
|
26
27
|
"simple-get": "4.0.1"
|
|
@@ -116,4 +117,4 @@
|
|
|
116
117
|
"vite": "^7.1.3",
|
|
117
118
|
"vue": "^3.5.21"
|
|
118
119
|
}
|
|
119
|
-
}
|
|
120
|
+
}
|