node-red-contrib-knx-ultimate 4.3.24 → 5.0.1
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 +13 -0
- package/nodes/commonFunctions.js +115 -0
- package/nodes/knxUltimate-config.html +61 -7
- package/nodes/knxUltimate-config.js +11 -0
- package/nodes/knxUltimateIoTBridge.html +305 -15
- package/nodes/knxUltimateIoTBridge.js +142 -10
- package/nodes/lib/knx-home-assistant.js +171 -0
- package/nodes/lib/mqtt-bridge.js +584 -0
- package/nodes/locales/de/knxUltimate-config.json +5 -1
- package/nodes/locales/de/knxUltimateIoTBridge.html +22 -1
- package/nodes/locales/de/knxUltimateIoTBridge.json +44 -2
- package/nodes/locales/en/knxUltimate-config.json +13 -9
- package/nodes/locales/en/knxUltimateIoTBridge.html +23 -2
- package/nodes/locales/en/knxUltimateIoTBridge.json +44 -2
- package/nodes/locales/es/knxUltimate-config.json +5 -1
- package/nodes/locales/es/knxUltimateIoTBridge.html +22 -1
- package/nodes/locales/es/knxUltimateIoTBridge.json +44 -2
- package/nodes/locales/fr/knxUltimate-config.json +5 -1
- package/nodes/locales/fr/knxUltimateIoTBridge.html +22 -1
- package/nodes/locales/fr/knxUltimateIoTBridge.json +44 -2
- package/nodes/locales/it/knxUltimate-config.json +19 -15
- package/nodes/locales/it/knxUltimateIoTBridge.html +22 -1
- package/nodes/locales/it/knxUltimateIoTBridge.json +44 -2
- package/nodes/locales/zh-CN/knxUltimate-config.json +5 -1
- package/nodes/locales/zh-CN/knxUltimateIoTBridge.html +22 -1
- package/nodes/locales/zh-CN/knxUltimateIoTBridge.json +44 -2
- package/package.json +4 -3
|
@@ -77,13 +77,13 @@
|
|
|
77
77
|
"enable_flow_bubbles": "Enable flow bubbles plugin",
|
|
78
78
|
"enable_flow_bubbles_help": "Draw live status bubbles next to KNX Device nodes in the editor. Useful during commissioning and debugging.",
|
|
79
79
|
"log_level": "Loglevel",
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
80
|
+
"status_throttle": "Throttle node status updates",
|
|
81
|
+
"status_throttle_none": "Immediate (no throttle)",
|
|
82
|
+
"status_throttle_1s": "Update after 1 second",
|
|
83
|
+
"status_throttle_3s": "Update after 3 seconds",
|
|
84
|
+
"status_throttle_5s": "Update after 5 seconds",
|
|
85
|
+
"status_throttle_10s": "Update after 10 seconds",
|
|
86
|
+
"status_throttle_30s": "Update after 30 seconds",
|
|
87
87
|
"status_datetime_format": "Status date/time format",
|
|
88
88
|
"status_datetime_format_legacy": "Legacy (system locale)",
|
|
89
89
|
"status_datetime_format_iso": "ISO (YYYY-MM-DD HH:mm:ss)",
|
|
@@ -148,7 +148,11 @@
|
|
|
148
148
|
"clear_persist_ok": "Delete",
|
|
149
149
|
"clear_persist_cancel": "Cancel",
|
|
150
150
|
"clear_persist_done": "Persisted GA cache deleted.",
|
|
151
|
-
"clear_persist_fail": "Unable to delete persisted GA cache"
|
|
151
|
+
"clear_persist_fail": "Unable to delete persisted GA cache",
|
|
152
|
+
"reveal_keyring_label": "Reveal keyring passwords in clear text (KNX Secure)",
|
|
153
|
+
"reveal_keyring_button": "Reveal",
|
|
154
|
+
"reveal_keyring_loading": "Decoding keyring, please wait...",
|
|
155
|
+
"reveal_keyring_fail": "Unable to decode the keyring. Check the keyring file and the general password."
|
|
152
156
|
}
|
|
153
157
|
}
|
|
154
|
-
}
|
|
158
|
+
}
|
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
<script type="text/markdown" data-help-name="knxUltimateIoTBridge">
|
|
2
|
-
#
|
|
2
|
+
# MQTT Home Assistant - IoT
|
|
3
3
|
|
|
4
4
|
Create bidirectional bridges between KNX group addresses and IoT channels (MQTT topics, REST endpoints, Modbus registers). Each mapping can scale values, stringify payloads and expose metadata for downstream nodes.
|
|
5
5
|
|
|
6
|
+
> **Two modes.** Use the **Mode** selector at the top of the node:
|
|
7
|
+
> - **IoT bridge** (default) — the classic behaviour documented below (mapping list, MQTT/REST/Modbus output messages).
|
|
8
|
+
> - **MQTT / Home Assistant (native)** — the node connects directly to an MQTT broker and bridges KNX ↔ MQTT both ways, publishing Home Assistant MQTT Discovery so entities appear automatically.
|
|
9
|
+
|
|
10
|
+
## MQTT / Home Assistant mode
|
|
11
|
+
|
|
12
|
+
A native MQTT bridge with Home Assistant discovery. It needs an MQTT broker reachable by both Node-RED and Home Assistant, with the MQTT integration enabled in HA. All entities appear under a single device named after this node.
|
|
13
|
+
|
|
14
|
+
- **Broker URL / Username / Password** — connection to your MQTT broker.
|
|
15
|
+
- **Base topic / Discovery prefix** — root topic for state/command topics and the HA discovery prefix (default `homeassistant`).
|
|
16
|
+
- **Group addresses to expose** — every address imported in the KNX gateway (ETS list) is shown with a checkbox. Ticked addresses are published as Home Assistant entities, typed automatically from the DPT (switch, sensor, binary_sensor, number, text). Use the filter box and the *Select all* / *Select none* buttons. By default all addresses are selected.
|
|
17
|
+
- **Covers & Thermostats** — group several addresses into one entity:
|
|
18
|
+
- *Cover*: Up/Down GA (1.008), optional Stop GA (1.007), optional Set/Status position GA (5.001). *Invert position* maps the KNX convention (0% = open) to Home Assistant (100% = open).
|
|
19
|
+
- *Thermostat*: current temperature GA (9.001), setpoint set/status GA (9.001), optional On/Off GA (1.001 → off/heat), plus min/max temperature and step.
|
|
20
|
+
|
|
21
|
+
KNX bus values are published to MQTT and writable datapoints accept commands from Home Assistant. Datapoint types come from the imported ETS list when available, otherwise from KNX defaults (1.008 up/down, 1.007 stop, 5.001 position, 9.001 temperature, 1.001 on/off); for reliable status feedback the addresses used by covers/thermostats should be present in the ETS import.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
The rest of this help describes the classic **IoT bridge** mode.
|
|
26
|
+
|
|
6
27
|
## Inputs
|
|
7
28
|
|
|
8
29
|
|Property|Description|
|
|
@@ -63,7 +84,7 @@ Create bidirectional bridges between KNX group addresses and IoT channels (MQTT
|
|
|
63
84
|
|
|
64
85
|
### Modbus register sync
|
|
65
86
|
|
|
66
|
-
- Pair the IoT
|
|
87
|
+
- Pair the MQTT - IoT with `node-red-contrib-modbus` `modbus-flex-write` nodes. Output 1 carries the Modbus address in `msg.address` and the value in `msg.payload`.
|
|
67
88
|
|
|
68
89
|
## Sample Flow
|
|
69
90
|
|
|
@@ -1,13 +1,55 @@
|
|
|
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 Gateway",
|
|
6
6
|
"node-input-name": "Name",
|
|
7
7
|
"node-input-outputtopic": "Default topic for outputs",
|
|
8
8
|
"node-input-emitOnChangeOnly": "Emit KNX→IoT updates only when the value changes",
|
|
9
9
|
"node-input-readOnDeploy": "Read KNX values on deploy",
|
|
10
10
|
"node-input-acceptFlowInput": "Accept flow input (IoT → KNX)",
|
|
11
|
+
"node-input-nodeMode": "Mode",
|
|
12
|
+
"mode": {
|
|
13
|
+
"iot": "IoT bridge (MQTT/REST/Modbus messages)",
|
|
14
|
+
"homeassistant": "MQTT / Home Assistant (native)"
|
|
15
|
+
},
|
|
16
|
+
"ha": {
|
|
17
|
+
"intro": "Native MQTT bridge with Home Assistant discovery. Every group address imported in the KNX gateway (ETS list) is exposed automatically as a Home Assistant entity (switch, sensor, binary_sensor, number, text), plus the covers and thermostats you define below.",
|
|
18
|
+
"broker_url": "Broker URL",
|
|
19
|
+
"username": "Username",
|
|
20
|
+
"password": "Password",
|
|
21
|
+
"optional": "(optional)",
|
|
22
|
+
"base_topic": "Base topic",
|
|
23
|
+
"discovery": "Publish Home Assistant discovery",
|
|
24
|
+
"discovery_prefix": "Discovery prefix",
|
|
25
|
+
"hint": "Requires an MQTT broker reachable by both Node-RED and Home Assistant, with the MQTT integration enabled in HA. Entities appear under a device named after this node. KNX bus values are published to MQTT and writable datapoints accept commands from Home Assistant.",
|
|
26
|
+
"exposed_gas": "Group addresses to expose",
|
|
27
|
+
"exposed_gas_hint": "Tick the group addresses you want to publish to Home Assistant. By default every imported address is selected. Addresses used by a cover/thermostat below are handled there and don't need to be ticked here.",
|
|
28
|
+
"filter_placeholder": "Filter by address or name…",
|
|
29
|
+
"select_all": "Select all",
|
|
30
|
+
"select_none": "Select none",
|
|
31
|
+
"exposed_count": "selected",
|
|
32
|
+
"no_gateway": "Select a KNX gateway first.",
|
|
33
|
+
"no_ga": "No group addresses found. Import the ETS list in the KNX gateway.",
|
|
34
|
+
"csv_error": "Unable to load the group address list from the gateway.",
|
|
35
|
+
"custom_entities": "Covers & Thermostats",
|
|
36
|
+
"custom_entities_hint": "Covers and thermostats group several group addresses into one Home Assistant entity, so they cannot be created automatically from the DPT. Add them here. Datapoint types come from the imported ETS list when available, otherwise from KNX defaults (1.008 up/down, 1.007 stop, 5.001 position, 9.001 temperature, 1.001 on/off). For reliable status, those GAs should be present in the ETS import.",
|
|
37
|
+
"ce_type_cover": "Cover",
|
|
38
|
+
"ce_type_climate": "Thermostat",
|
|
39
|
+
"ce_name": "Entity name",
|
|
40
|
+
"ce_gaUpDown": "Up/Down GA (1.008)",
|
|
41
|
+
"ce_gaStop": "Stop GA (1.007)",
|
|
42
|
+
"ce_gaPosSet": "Set position GA (5.001)",
|
|
43
|
+
"ce_gaPosState": "Position status GA (5.001)",
|
|
44
|
+
"ce_invertPosition": "Invert position (KNX 0% = open)",
|
|
45
|
+
"ce_gaCurrentTemp": "Current temp GA (9.001)",
|
|
46
|
+
"ce_gaSetpointSet": "Setpoint set GA (9.001)",
|
|
47
|
+
"ce_gaSetpointState": "Setpoint status GA (9.001)",
|
|
48
|
+
"ce_gaOnOff": "On/Off GA (1.001)",
|
|
49
|
+
"ce_minTemp": "Min temperature",
|
|
50
|
+
"ce_maxTemp": "Max temperature",
|
|
51
|
+
"ce_tempStep": "Temperature step"
|
|
52
|
+
},
|
|
11
53
|
"section_mappings": "Bridge mappings",
|
|
12
54
|
"mapping": {
|
|
13
55
|
"enabled": "Enable",
|
|
@@ -148,7 +148,11 @@
|
|
|
148
148
|
"clear_persist_ok": "Eliminar",
|
|
149
149
|
"clear_persist_cancel": "Cancelar",
|
|
150
150
|
"clear_persist_done": "Caché persistente de GA eliminada.",
|
|
151
|
-
"clear_persist_fail": "No se puede eliminar la caché persistente de GA"
|
|
151
|
+
"clear_persist_fail": "No se puede eliminar la caché persistente de GA",
|
|
152
|
+
"reveal_keyring_label": "Mostrar las contraseñas del keyring en texto claro (KNX Secure)",
|
|
153
|
+
"reveal_keyring_button": "Mostrar",
|
|
154
|
+
"reveal_keyring_loading": "Decodificando el keyring, espere...",
|
|
155
|
+
"reveal_keyring_fail": "No se puede decodificar el keyring. Comprueba el archivo keyring y la contraseña general."
|
|
152
156
|
}
|
|
153
157
|
}
|
|
154
158
|
}
|
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
<script type="text/markdown" data-help-name="knxUltimateIoTBridge">
|
|
2
|
-
#
|
|
2
|
+
# MQTT Home Assistant - IoT
|
|
3
3
|
|
|
4
4
|
Crea puentes bidireccionales entre direcciones de grupo KNX y canales IoT (topics MQTT, endpoints REST, registros Modbus). Cada mapeo puede escalar valores, formatear payloads y exponer metadatos para los nodos posteriores.
|
|
5
5
|
|
|
6
|
+
> **Dos modos.** Usa el selector **Modo** en la parte superior del nodo:
|
|
7
|
+
> - **Bridge IoT** (predeterminado) — el comportamiento clásico descrito abajo (lista de mapeos, mensajes de salida MQTT/REST/Modbus).
|
|
8
|
+
> - **MQTT / Home Assistant (nativo)** — el nodo se conecta directamente a un broker MQTT y hace de puente KNX ↔ MQTT en ambos sentidos, publicando el descubrimiento MQTT de Home Assistant para que las entidades aparezcan automáticamente.
|
|
9
|
+
|
|
10
|
+
## Modo MQTT / Home Assistant
|
|
11
|
+
|
|
12
|
+
Un puente MQTT nativo con descubrimiento de Home Assistant. Requiere un broker MQTT accesible tanto por Node-RED como por Home Assistant, con la integración MQTT activada en HA. Todas las entidades aparecen bajo un único dispositivo con el nombre de este nodo.
|
|
13
|
+
|
|
14
|
+
- **URL del broker / Usuario / Contraseña** — conexión a tu broker MQTT.
|
|
15
|
+
- **Topic base / Prefijo de descubrimiento** — topic raíz para los topics de estado/comando y el prefijo de descubrimiento de HA (predeterminado `homeassistant`).
|
|
16
|
+
- **Direcciones de grupo a exponer** — cada dirección importada en la pasarela KNX (lista ETS) se muestra con una casilla. Las direcciones marcadas se publican como entidades de Home Assistant, tipadas automáticamente a partir del DPT (switch, sensor, binary_sensor, number, text). Usa el filtro y los botones *Seleccionar todo* / *Deseleccionar todo*. Por defecto están todas seleccionadas.
|
|
17
|
+
- **Persianas y termostatos** — agrupan varias direcciones en una sola entidad:
|
|
18
|
+
- *Persiana*: GA subir/bajar (1.008), GA stop opcional (1.007), GA posición comando/estado opcional (5.001). *Invertir posición* asigna la convención KNX (0% = abierto) a Home Assistant (100% = abierto).
|
|
19
|
+
- *Termostato*: GA temperatura actual (9.001), GA consigna comando/estado (9.001), GA on/off opcional (1.001 → off/heat), además de temperatura mín/máx y paso.
|
|
20
|
+
|
|
21
|
+
Los valores del bus KNX se publican en MQTT y los datapoints escribibles aceptan comandos desde Home Assistant. Los tipos de datapoint provienen de la lista ETS importada cuando está disponible; en caso contrario, de los valores KNX por defecto (1.008 subir/bajar, 1.007 stop, 5.001 posición, 9.001 temperatura, 1.001 on/off); para un estado fiable, las direcciones usadas por persianas/termostatos deberían estar presentes en la importación ETS.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
El resto de esta ayuda describe el modo clásico **Bridge IoT**.
|
|
26
|
+
|
|
6
27
|
## Entradas
|
|
7
28
|
|
|
8
29
|
|Propiedad|Descripción|
|
|
@@ -1,13 +1,55 @@
|
|
|
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": "Nombre",
|
|
7
7
|
"node-input-outputtopic": "Tema predeterminado para salidas",
|
|
8
8
|
"node-input-emitOnChangeOnly": "Emitir KNX→IoT solo cuando el valor cambie",
|
|
9
9
|
"node-input-readOnDeploy": "Leer valores KNX al desplegar",
|
|
10
10
|
"node-input-acceptFlowInput": "Aceptar entrada del flujo (IoT → KNX)",
|
|
11
|
+
"node-input-nodeMode": "Modo",
|
|
12
|
+
"mode": {
|
|
13
|
+
"iot": "Bridge IoT (mensajes MQTT/REST/Modbus)",
|
|
14
|
+
"homeassistant": "MQTT / Home Assistant (nativo)"
|
|
15
|
+
},
|
|
16
|
+
"ha": {
|
|
17
|
+
"intro": "Bridge MQTT nativo con descubrimiento de Home Assistant. Cada dirección de grupo importada en la pasarela KNX (lista ETS) se expone automáticamente como entidad de Home Assistant (switch, sensor, binary_sensor, number, text), además de las persianas y termostatos que definas a continuación.",
|
|
18
|
+
"broker_url": "URL del broker",
|
|
19
|
+
"username": "Usuario",
|
|
20
|
+
"password": "Contraseña",
|
|
21
|
+
"optional": "(opcional)",
|
|
22
|
+
"base_topic": "Topic base",
|
|
23
|
+
"discovery": "Publicar descubrimiento de Home Assistant",
|
|
24
|
+
"discovery_prefix": "Prefijo de descubrimiento",
|
|
25
|
+
"hint": "Requiere un broker MQTT accesible tanto por Node-RED como por Home Assistant, con la integración MQTT activada en HA. Las entidades aparecen bajo un dispositivo con el nombre de este nodo. Los valores del bus KNX se publican en MQTT y los datapoints escribibles aceptan comandos desde Home Assistant.",
|
|
26
|
+
"exposed_gas": "Direcciones de grupo a exponer",
|
|
27
|
+
"exposed_gas_hint": "Marca las direcciones de grupo que quieres publicar en Home Assistant. Por defecto están todas seleccionadas. Las direcciones usadas por una persiana/termostato (abajo) se gestionan allí y no necesitan marcarse aquí.",
|
|
28
|
+
"filter_placeholder": "Filtrar por dirección o nombre…",
|
|
29
|
+
"select_all": "Seleccionar todo",
|
|
30
|
+
"select_none": "Deseleccionar todo",
|
|
31
|
+
"exposed_count": "seleccionadas",
|
|
32
|
+
"no_gateway": "Selecciona primero una pasarela KNX.",
|
|
33
|
+
"no_ga": "No se encontraron direcciones de grupo. Importa la lista ETS en la pasarela KNX.",
|
|
34
|
+
"csv_error": "No se pudo cargar la lista de direcciones de grupo desde la pasarela.",
|
|
35
|
+
"custom_entities": "Persianas y termostatos",
|
|
36
|
+
"custom_entities_hint": "Las persianas y termostatos agrupan varias direcciones de grupo en una sola entidad de Home Assistant, por lo que no pueden crearse automáticamente a partir del DPT. Añádelos aquí. Los tipos de datapoint se toman de la lista ETS importada cuando está disponible; en caso contrario, de los valores KNX por defecto (1.008 subir/bajar, 1.007 stop, 5.001 posición, 9.001 temperatura, 1.001 on/off). Para un estado fiable, esas GA deberían estar presentes en la importación ETS.",
|
|
37
|
+
"ce_type_cover": "Persiana",
|
|
38
|
+
"ce_type_climate": "Termostato",
|
|
39
|
+
"ce_name": "Nombre de la entidad",
|
|
40
|
+
"ce_gaUpDown": "GA subir/bajar (1.008)",
|
|
41
|
+
"ce_gaStop": "GA stop (1.007)",
|
|
42
|
+
"ce_gaPosSet": "GA fijar posición (5.001)",
|
|
43
|
+
"ce_gaPosState": "GA estado posición (5.001)",
|
|
44
|
+
"ce_invertPosition": "Invertir posición (KNX 0% = abierto)",
|
|
45
|
+
"ce_gaCurrentTemp": "GA temperatura actual (9.001)",
|
|
46
|
+
"ce_gaSetpointSet": "GA fijar consigna (9.001)",
|
|
47
|
+
"ce_gaSetpointState": "GA estado consigna (9.001)",
|
|
48
|
+
"ce_gaOnOff": "GA on/off (1.001)",
|
|
49
|
+
"ce_minTemp": "Temperatura mín",
|
|
50
|
+
"ce_maxTemp": "Temperatura máx",
|
|
51
|
+
"ce_tempStep": "Paso de temperatura"
|
|
52
|
+
},
|
|
11
53
|
"section_mappings": "Mapeos del bridge",
|
|
12
54
|
"mapping": {
|
|
13
55
|
"enabled": "Activar",
|
|
@@ -148,7 +148,11 @@
|
|
|
148
148
|
"clear_persist_ok": "Supprimer",
|
|
149
149
|
"clear_persist_cancel": "Annuler",
|
|
150
150
|
"clear_persist_done": "Cache GA persistant supprimé.",
|
|
151
|
-
"clear_persist_fail": "Impossible de supprimer le cache GA persistant"
|
|
151
|
+
"clear_persist_fail": "Impossible de supprimer le cache GA persistant",
|
|
152
|
+
"reveal_keyring_label": "Afficher les mots de passe du keyring en clair (KNX Secure)",
|
|
153
|
+
"reveal_keyring_button": "Afficher",
|
|
154
|
+
"reveal_keyring_loading": "Décodage du keyring en cours, veuillez patienter...",
|
|
155
|
+
"reveal_keyring_fail": "Impossible de décoder le keyring. Vérifiez le fichier keyring et le mot de passe général."
|
|
152
156
|
}
|
|
153
157
|
}
|
|
154
158
|
}
|
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
<script type="text/markdown" data-help-name="knxUltimateIoTBridge">
|
|
2
|
-
#
|
|
2
|
+
# MQTT Home Assistant - IoT
|
|
3
3
|
|
|
4
4
|
Créez des ponts bidirectionnels entre des adresses de groupe KNX et des canaux IoT (topics MQTT, points de terminaison REST, registres Modbus). Chaque correspondance peut mettre à l’échelle les valeurs, formater les charges utiles et exposer des métadonnées aux nœuds suivants.
|
|
5
5
|
|
|
6
|
+
> **Deux modes.** Utilisez le sélecteur **Mode** en haut du nœud :
|
|
7
|
+
> - **Passerelle IoT** (par défaut) — le comportement classique décrit ci-dessous (liste de correspondances, messages de sortie MQTT/REST/Modbus).
|
|
8
|
+
> - **MQTT / Home Assistant (natif)** — le nœud se connecte directement à un broker MQTT et fait le pont KNX ↔ MQTT dans les deux sens, en publiant la découverte MQTT de Home Assistant pour que les entités apparaissent automatiquement.
|
|
9
|
+
|
|
10
|
+
## Mode MQTT / Home Assistant
|
|
11
|
+
|
|
12
|
+
Une passerelle MQTT native avec découverte Home Assistant. Nécessite un broker MQTT accessible à la fois par Node-RED et Home Assistant, avec l'intégration MQTT activée dans HA. Toutes les entités apparaissent sous un seul appareil portant le nom de ce nœud.
|
|
13
|
+
|
|
14
|
+
- **URL du broker / Nom d'utilisateur / Mot de passe** — connexion à votre broker MQTT.
|
|
15
|
+
- **Topic de base / Préfixe de découverte** — topic racine pour les topics d'état/commande et le préfixe de découverte HA (par défaut `homeassistant`).
|
|
16
|
+
- **Adresses de groupe à exposer** — chaque adresse importée dans la passerelle KNX (liste ETS) est affichée avec une case à cocher. Les adresses cochées sont publiées comme entités Home Assistant, typées automatiquement d'après le DPT (switch, sensor, binary_sensor, number, text). Utilisez le champ de filtre et les boutons *Tout sélectionner* / *Tout désélectionner*. Par défaut, toutes les adresses sont sélectionnées.
|
|
17
|
+
- **Volets et thermostats** — regroupent plusieurs adresses en une seule entité :
|
|
18
|
+
- *Volet* : GA montée/descente (1.008), GA stop optionnelle (1.007), GA position commande/état optionnelle (5.001). *Inverser la position* fait correspondre la convention KNX (0% = ouvert) à Home Assistant (100% = ouvert).
|
|
19
|
+
- *Thermostat* : GA température actuelle (9.001), GA consigne commande/état (9.001), GA marche/arrêt optionnelle (1.001 → off/heat), plus températures min/max et pas.
|
|
20
|
+
|
|
21
|
+
Les valeurs du bus KNX sont publiées sur MQTT et les points de données inscriptibles acceptent les commandes de Home Assistant. Les types de points de données proviennent de la liste ETS importée lorsqu'elle est disponible, sinon des valeurs KNX par défaut (1.008 montée/descente, 1.007 stop, 5.001 position, 9.001 température, 1.001 marche/arrêt) ; pour un retour d'état fiable, les adresses utilisées par les volets/thermostats doivent être présentes dans l'import ETS.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
Le reste de cette aide décrit le mode classique **Passerelle IoT**.
|
|
26
|
+
|
|
6
27
|
## Entrées
|
|
7
28
|
|
|
8
29
|
|Propriété|Description|
|
|
@@ -1,13 +1,55 @@
|
|
|
1
1
|
{
|
|
2
2
|
"knxUltimateIoTBridge": {
|
|
3
|
-
"title": "
|
|
4
|
-
"paletteLabel": "
|
|
3
|
+
"title": "MQTT Home Assistant - IoT",
|
|
4
|
+
"paletteLabel": "MQTT Home Assistant - IoT",
|
|
5
5
|
"node-input-server": "Passerelle KNX",
|
|
6
6
|
"node-input-name": "Nom",
|
|
7
7
|
"node-input-outputtopic": "Topic par défaut pour les sorties",
|
|
8
8
|
"node-input-emitOnChangeOnly": "Émettre KNX→IoT uniquement lorsque la valeur change",
|
|
9
9
|
"node-input-readOnDeploy": "Lire les valeurs KNX au déploiement",
|
|
10
10
|
"node-input-acceptFlowInput": "Accepter l'entrée du flow (IoT → KNX)",
|
|
11
|
+
"node-input-nodeMode": "Mode",
|
|
12
|
+
"mode": {
|
|
13
|
+
"iot": "Passerelle IoT (messages MQTT/REST/Modbus)",
|
|
14
|
+
"homeassistant": "MQTT / Home Assistant (natif)"
|
|
15
|
+
},
|
|
16
|
+
"ha": {
|
|
17
|
+
"intro": "Passerelle MQTT native avec découverte Home Assistant. Chaque adresse de groupe importée dans la passerelle KNX (liste ETS) est exposée automatiquement comme entité Home Assistant (switch, sensor, binary_sensor, number, text), en plus des volets et thermostats définis ci-dessous.",
|
|
18
|
+
"broker_url": "URL du broker",
|
|
19
|
+
"username": "Nom d'utilisateur",
|
|
20
|
+
"password": "Mot de passe",
|
|
21
|
+
"optional": "(facultatif)",
|
|
22
|
+
"base_topic": "Topic de base",
|
|
23
|
+
"discovery": "Publier la découverte Home Assistant",
|
|
24
|
+
"discovery_prefix": "Préfixe de découverte",
|
|
25
|
+
"hint": "Nécessite un broker MQTT accessible à la fois par Node-RED et Home Assistant, avec l'intégration MQTT activée dans HA. Les entités apparaissent sous un appareil portant le nom de ce nœud. Les valeurs du bus KNX sont publiées sur MQTT et les points de données inscriptibles acceptent les commandes de Home Assistant.",
|
|
26
|
+
"exposed_gas": "Adresses de groupe à exposer",
|
|
27
|
+
"exposed_gas_hint": "Cochez les adresses de groupe à publier vers Home Assistant. Par défaut, toutes les adresses importées sont sélectionnées. Les adresses utilisées par un volet/thermostat (ci-dessous) y sont gérées et n'ont pas besoin d'être cochées ici.",
|
|
28
|
+
"filter_placeholder": "Filtrer par adresse ou nom…",
|
|
29
|
+
"select_all": "Tout sélectionner",
|
|
30
|
+
"select_none": "Tout désélectionner",
|
|
31
|
+
"exposed_count": "sélectionnées",
|
|
32
|
+
"no_gateway": "Sélectionnez d'abord une passerelle KNX.",
|
|
33
|
+
"no_ga": "Aucune adresse de groupe trouvée. Importez la liste ETS dans la passerelle KNX.",
|
|
34
|
+
"csv_error": "Impossible de charger la liste des adresses de groupe depuis la passerelle.",
|
|
35
|
+
"custom_entities": "Volets et thermostats",
|
|
36
|
+
"custom_entities_hint": "Les volets et thermostats regroupent plusieurs adresses de groupe en une seule entité Home Assistant ; ils ne peuvent donc pas être créés automatiquement à partir du DPT. Ajoutez-les ici. Les types de points de données proviennent de la liste ETS importée lorsqu'elle est disponible, sinon des valeurs KNX par défaut (1.008 montée/descente, 1.007 stop, 5.001 position, 9.001 température, 1.001 marche/arrêt). Pour un retour d'état fiable, ces GA doivent être présentes dans l'import ETS.",
|
|
37
|
+
"ce_type_cover": "Volet",
|
|
38
|
+
"ce_type_climate": "Thermostat",
|
|
39
|
+
"ce_name": "Nom de l'entité",
|
|
40
|
+
"ce_gaUpDown": "GA montée/descente (1.008)",
|
|
41
|
+
"ce_gaStop": "GA stop (1.007)",
|
|
42
|
+
"ce_gaPosSet": "GA position (commande) (5.001)",
|
|
43
|
+
"ce_gaPosState": "GA état position (5.001)",
|
|
44
|
+
"ce_invertPosition": "Inverser la position (KNX 0% = ouvert)",
|
|
45
|
+
"ce_gaCurrentTemp": "GA température actuelle (9.001)",
|
|
46
|
+
"ce_gaSetpointSet": "GA consigne (commande) (9.001)",
|
|
47
|
+
"ce_gaSetpointState": "GA état consigne (9.001)",
|
|
48
|
+
"ce_gaOnOff": "GA marche/arrêt (1.001)",
|
|
49
|
+
"ce_minTemp": "Température min",
|
|
50
|
+
"ce_maxTemp": "Température max",
|
|
51
|
+
"ce_tempStep": "Pas de température"
|
|
52
|
+
},
|
|
11
53
|
"section_mappings": "Correspondances de la passerelle",
|
|
12
54
|
"mapping": {
|
|
13
55
|
"enabled": "Activer",
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
"adv_options": "Opzioni avanzate",
|
|
12
12
|
"ets_import": "Importa indirizzi di gruppo ETS",
|
|
13
13
|
"node-config-input-name": "Nome",
|
|
14
|
-
"unsecureKNX"
|
|
15
|
-
"secureKNX"
|
|
16
|
-
"autoReconnect"
|
|
17
|
-
"autoReconnect_yes"
|
|
18
|
-
"autoReconnect_no"
|
|
14
|
+
"unsecureKNX": "Connessione KNX semplice",
|
|
15
|
+
"secureKNX": "Connessione KNX sicura",
|
|
16
|
+
"autoReconnect": "Connetti al BUS KNX automaticamente all'avvio",
|
|
17
|
+
"autoReconnect_yes": "Sì",
|
|
18
|
+
"autoReconnect_no": "No (Per connetterti, invia msg.connectGateway = true ad un nodo Watchdog)",
|
|
19
19
|
"discovering": "Ricerca in corso...",
|
|
20
20
|
"interfaces_found": "interfacce trovate.",
|
|
21
21
|
"discovery_failed": "Ricerca fallita.",
|
|
@@ -103,11 +103,11 @@
|
|
|
103
103
|
"select_error": "Error (Default)",
|
|
104
104
|
"tiphost": "Scrivi EMULATE al posto dell'indirizzo IP, per simulare un gateway (il gateway non si connette al BUS KNX)",
|
|
105
105
|
"delaybetweentelegrams": "Pausa tra l'invio di un telegramma ed un altro (in millisecondi)",
|
|
106
|
-
"delaybetweentelegramsfurtherdelayREAD"
|
|
107
|
-
"exposeAsVariable"
|
|
108
|
-
"exposeAsVariableNO"
|
|
109
|
-
"exposeAsVariableREADONLY"
|
|
110
|
-
"exposeAsVariableREADWRITE"
|
|
106
|
+
"delaybetweentelegramsfurtherdelayREAD": "e moltiplica ritardo solo tra telegrammi -read- di",
|
|
107
|
+
"exposeAsVariable": "Esponi come variabile globale",
|
|
108
|
+
"exposeAsVariableNO": "No",
|
|
109
|
+
"exposeAsVariableREADONLY": "Sola lettura",
|
|
110
|
+
"exposeAsVariableREADWRITE": "Lettura/Scrittura"
|
|
111
111
|
},
|
|
112
112
|
"help": {
|
|
113
113
|
"intro": "Configura la connessione al gateway KNX, l'import ETS e il comportamento avanzato dell'editor.",
|
|
@@ -119,15 +119,15 @@
|
|
|
119
119
|
},
|
|
120
120
|
"ets": {
|
|
121
121
|
"description": "Puoi importare sia il file ETS in CSV, che ESF. Usa il CSV se possibile, perchè i datapoints sono più precisi.",
|
|
122
|
-
"youtube"
|
|
122
|
+
"youtube": " <i class=\"fa fa-youtube-play\"></i> <a target=\"_blank\" href=\"https://youtu.be/egRbR_KwP9I\"><u>Guarda come si esporta un file CSV su YouTube.</u></a>",
|
|
123
123
|
"help_ga": "Se l'indirizzo di gruppo non ha datapoint",
|
|
124
124
|
"import_select_stop": "Blocca ed annulla l'importazione",
|
|
125
125
|
"import_select_skip": "Salta l'importazione dell'indirizzo di gruppo",
|
|
126
126
|
"import_select_fake": "Importa con un finto datapoint 1.001 (Non raccomandato)",
|
|
127
127
|
"ga_list_title": "Incolla qui il contenuto del file esportato da ETS, oppure il percorso del file (es: /home/pi/mycsv.csv)",
|
|
128
128
|
"ga_list_help": "Incolla qui il contenuto del file CSV o ESF esportato da ETS, oppure il percorso del file (es: /home/pi/mycsv.csv)",
|
|
129
|
-
"deploywithETS":"Verranno eseguite alcune operazioni di controllo. Eventuali problemi verranno segnalati nella finestra di debug a destra.",
|
|
130
|
-
"keyring":"Incolla qui il contenuto del file XML Keyring esportato da ETS",
|
|
129
|
+
"deploywithETS": "Verranno eseguite alcune operazioni di controllo. Eventuali problemi verranno segnalati nella finestra di debug a destra.",
|
|
130
|
+
"keyring": "Incolla qui il contenuto del file XML Keyring esportato da ETS",
|
|
131
131
|
"youtubeKeyring": "Guarda come si esporta il Keyring XML su YouTube",
|
|
132
132
|
"keyring_file": "File Keyring",
|
|
133
133
|
"password": "Password",
|
|
@@ -152,7 +152,11 @@
|
|
|
152
152
|
"clear_persist_ok": "Elimina",
|
|
153
153
|
"clear_persist_cancel": "Annulla",
|
|
154
154
|
"clear_persist_done": "Cache persistente GA eliminata.",
|
|
155
|
-
"clear_persist_fail": "Impossibile eliminare la cache persistente GA"
|
|
155
|
+
"clear_persist_fail": "Impossibile eliminare la cache persistente GA",
|
|
156
|
+
"reveal_keyring_label": "Mostra le password del keyring in chiaro (KNX Secure)",
|
|
157
|
+
"reveal_keyring_button": "Mostra",
|
|
158
|
+
"reveal_keyring_loading": "Decodifica del keyring in corso, attendere...",
|
|
159
|
+
"reveal_keyring_fail": "Impossibile decodificare il keyring. Verifica il file keyring e la password generale."
|
|
156
160
|
}
|
|
157
161
|
}
|
|
158
|
-
}
|
|
162
|
+
}
|
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
<script type="text/markdown" data-help-name="knxUltimateIoTBridge">
|
|
2
|
-
#
|
|
2
|
+
# MQTT Home Assistant - IoT
|
|
3
3
|
|
|
4
4
|
Crea collegamenti bidirezionali tra indirizzi di gruppo KNX e canali IoT (topic MQTT, endpoint REST, registri Modbus). Ogni mappatura può scalare i valori, formattare il payload ed esporre metadati per i nodi successivi.
|
|
5
5
|
|
|
6
|
+
> **Due modalità.** Usa il selettore **Modalità** in cima al nodo:
|
|
7
|
+
> - **Bridge IoT** (predefinito) — il comportamento classico descritto qui sotto (lista di mappature, messaggi di output MQTT/REST/Modbus).
|
|
8
|
+
> - **MQTT / Home Assistant (nativo)** — il nodo si connette direttamente a un broker MQTT e fa da ponte KNX ↔ MQTT in entrambe le direzioni, pubblicando il discovery MQTT di Home Assistant così le entità compaiono automaticamente.
|
|
9
|
+
|
|
10
|
+
## Modalità MQTT / Home Assistant
|
|
11
|
+
|
|
12
|
+
Un bridge MQTT nativo con discovery di Home Assistant. Richiede un broker MQTT raggiungibile sia da Node-RED che da Home Assistant, con l'integrazione MQTT attiva in HA. Tutte le entità compaiono sotto un unico dispositivo con il nome di questo nodo.
|
|
13
|
+
|
|
14
|
+
- **URL broker / Nome utente / Password** — connessione al tuo broker MQTT.
|
|
15
|
+
- **Topic di base / Prefisso discovery** — topic radice per i topic di stato/comando e il prefisso discovery di HA (predefinito `homeassistant`).
|
|
16
|
+
- **Indirizzi di gruppo da esporre** — ogni indirizzo importato nel gateway KNX (lista ETS) è elencato con una checkbox. Gli indirizzi spuntati vengono pubblicati come entità Home Assistant, tipizzate automaticamente dal DPT (switch, sensor, binary_sensor, number, text). Usa il filtro e i pulsanti *Seleziona tutti* / *Deseleziona tutti*. Per impostazione predefinita sono tutti selezionati.
|
|
17
|
+
- **Tapparelle e Termostati** — raggruppano più indirizzi in un'unica entità:
|
|
18
|
+
- *Tapparella*: GA su/giù (1.008), GA stop opzionale (1.007), GA posizione comando/stato opzionale (5.001). *Inverti posizione* mappa la convenzione KNX (0% = aperto) su Home Assistant (100% = aperto).
|
|
19
|
+
- *Termostato*: GA temperatura attuale (9.001), GA setpoint comando/stato (9.001), GA on/off opzionale (1.001 → off/heat), più temperatura min/max e step.
|
|
20
|
+
|
|
21
|
+
I valori dal bus KNX vengono pubblicati su MQTT e i datapoint scrivibili accettano comandi da Home Assistant. I tipi di datapoint provengono 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, gli indirizzi usati da tapparelle/termostati dovrebbero essere presenti nell'import ETS.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
Il resto di questo aiuto descrive la modalità classica **Bridge IoT**.
|
|
26
|
+
|
|
6
27
|
## Input
|
|
7
28
|
|
|
8
29
|
|Proprietà|Descrizione|
|
|
@@ -1,13 +1,55 @@
|
|
|
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
|
+
"no_gateway": "Seleziona prima un gateway KNX.",
|
|
33
|
+
"no_ga": "Nessun indirizzo di gruppo trovato. Importa la lista ETS nel gateway KNX.",
|
|
34
|
+
"csv_error": "Impossibile caricare la lista degli indirizzi di gruppo dal gateway.",
|
|
35
|
+
"custom_entities": "Tapparelle e Termostati",
|
|
36
|
+
"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.",
|
|
37
|
+
"ce_type_cover": "Tapparella",
|
|
38
|
+
"ce_type_climate": "Termostato",
|
|
39
|
+
"ce_name": "Nome entità",
|
|
40
|
+
"ce_gaUpDown": "GA su/giù (1.008)",
|
|
41
|
+
"ce_gaStop": "GA stop (1.007)",
|
|
42
|
+
"ce_gaPosSet": "GA imposta posizione (5.001)",
|
|
43
|
+
"ce_gaPosState": "GA stato posizione (5.001)",
|
|
44
|
+
"ce_invertPosition": "Inverti posizione (KNX 0% = aperto)",
|
|
45
|
+
"ce_gaCurrentTemp": "GA temp attuale (9.001)",
|
|
46
|
+
"ce_gaSetpointSet": "GA imposta setpoint (9.001)",
|
|
47
|
+
"ce_gaSetpointState": "GA stato setpoint (9.001)",
|
|
48
|
+
"ce_gaOnOff": "GA On/Off (1.001)",
|
|
49
|
+
"ce_minTemp": "Temperatura min",
|
|
50
|
+
"ce_maxTemp": "Temperatura max",
|
|
51
|
+
"ce_tempStep": "Step temperatura"
|
|
52
|
+
},
|
|
11
53
|
"section_mappings": "Mappature bridge",
|
|
12
54
|
"mapping": {
|
|
13
55
|
"enabled": "Abilita",
|
|
@@ -140,7 +140,11 @@
|
|
|
140
140
|
"clear_persist_ok": "删除",
|
|
141
141
|
"clear_persist_cancel": "取消",
|
|
142
142
|
"clear_persist_done": "已删除持久化 GA 缓存。",
|
|
143
|
-
"clear_persist_fail": "无法删除持久化 GA 缓存"
|
|
143
|
+
"clear_persist_fail": "无法删除持久化 GA 缓存",
|
|
144
|
+
"reveal_keyring_label": "以明文显示密钥环密码 (KNX Secure)",
|
|
145
|
+
"reveal_keyring_button": "显示",
|
|
146
|
+
"reveal_keyring_loading": "正在解码密钥环,请稍候...",
|
|
147
|
+
"reveal_keyring_fail": "无法解码密钥环。请检查密钥环文件和通用密码。"
|
|
144
148
|
}
|
|
145
149
|
}
|
|
146
150
|
}
|
|
@@ -1,8 +1,29 @@
|
|
|
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
|
+
- **Broker URL / 用户名 / 密码** — 连接到你的 MQTT broker。
|
|
15
|
+
- **基础主题 / 自动发现前缀** — 状态/命令主题的根主题以及 HA 自动发现前缀(默认 `homeassistant`)。
|
|
16
|
+
- **要暴露的组地址** — KNX 网关中导入的每个地址(ETS 列表)都带有一个复选框。勾选的地址会作为 Home Assistant 实体发布,并根据 DPT 自动分类(switch、sensor、binary_sensor、number、text)。可使用筛选框和*全选* / *全不选*按钮。默认全部选中。
|
|
17
|
+
- **卷帘与温控器** — 将多个地址组合成一个实体:
|
|
18
|
+
- *卷帘*:上/下 GA (1.008)、可选停止 GA (1.007)、可选位置 设置/状态 GA (5.001)。*反转位置* 将 KNX 约定(0% = 打开)映射到 Home Assistant(100% = 打开)。
|
|
19
|
+
- *温控器*:当前温度 GA (9.001)、设定值 设置/状态 GA (9.001)、可选开/关 GA (1.001 → off/heat),以及最低/最高温度和步长。
|
|
20
|
+
|
|
21
|
+
KNX 总线的值会发布到 MQTT,可写的数据点接受来自 Home Assistant 的命令。数据点类型在可用时取自导入的 ETS 列表,否则取自 KNX 默认值(1.008 上/下、1.007 停止、5.001 位置、9.001 温度、1.001 开/关);为获得可靠的状态反馈,卷帘/温控器使用的地址应包含在 ETS 导入中。
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
本帮助的其余部分描述经典的 **IoT 桥接**模式。
|
|
26
|
+
|
|
6
27
|
## 输入
|
|
7
28
|
|
|
8
29
|
|属性|说明|
|
|
@@ -1,13 +1,55 @@
|
|
|
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
|
+
"no_gateway": "请先选择一个 KNX 网关。",
|
|
33
|
+
"no_ga": "未找到组地址。请在 KNX 网关中导入 ETS 列表。",
|
|
34
|
+
"csv_error": "无法从网关加载组地址列表。",
|
|
35
|
+
"custom_entities": "卷帘与温控器",
|
|
36
|
+
"custom_entities_hint": "卷帘和温控器将多个组地址组合成一个 Home Assistant 实体,因此无法根据 DPT 自动创建。请在此添加。数据点类型在可用时取自导入的 ETS 列表,否则取自 KNX 默认值(1.008 上/下、1.007 停止、5.001 位置、9.001 温度、1.001 开/关)。为获得可靠的状态反馈,这些组地址应包含在 ETS 导入中。",
|
|
37
|
+
"ce_type_cover": "卷帘",
|
|
38
|
+
"ce_type_climate": "温控器",
|
|
39
|
+
"ce_name": "实体名称",
|
|
40
|
+
"ce_gaUpDown": "上/下 GA (1.008)",
|
|
41
|
+
"ce_gaStop": "停止 GA (1.007)",
|
|
42
|
+
"ce_gaPosSet": "设置位置 GA (5.001)",
|
|
43
|
+
"ce_gaPosState": "位置状态 GA (5.001)",
|
|
44
|
+
"ce_invertPosition": "反转位置(KNX 0% = 打开)",
|
|
45
|
+
"ce_gaCurrentTemp": "当前温度 GA (9.001)",
|
|
46
|
+
"ce_gaSetpointSet": "设定值设置 GA (9.001)",
|
|
47
|
+
"ce_gaSetpointState": "设定值状态 GA (9.001)",
|
|
48
|
+
"ce_gaOnOff": "开/关 GA (1.001)",
|
|
49
|
+
"ce_minTemp": "最低温度",
|
|
50
|
+
"ce_maxTemp": "最高温度",
|
|
51
|
+
"ce_tempStep": "温度步长"
|
|
52
|
+
},
|
|
11
53
|
"section_mappings": "桥接映射",
|
|
12
54
|
"mapping": {
|
|
13
55
|
"enabled": "启用",
|