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.
@@ -1,13 +1,63 @@
1
1
  {
2
2
  "knxUltimateIoTBridge": {
3
- "title": "KNX IoT Bridge",
4
- "paletteLabel": "IoT Bridge",
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": "Standard-Topic für Ausgaben",
8
8
  "node-input-emitOnChangeOnly": "KNX→IoT nur bei Wertänderung senden",
9
9
  "node-input-readOnDeploy": "KNX-Werte beim Deploy lesen",
10
10
  "node-input-acceptFlowInput": "Flow-Eingaben akzeptieren (IoT → KNX)",
11
+ "node-input-nodeMode": "Modus",
12
+ "mode": {
13
+ "iot": "IoT-Bridge (MQTT/REST/Modbus-Nachrichten)",
14
+ "homeassistant": "MQTT / Home Assistant (nativ)"
15
+ },
16
+ "ha": {
17
+ "intro": "Native MQTT-Bridge mit Home-Assistant-Discovery. Jede im KNX-Gateway importierte Gruppenadresse (ETS-Liste) wird automatisch als Home-Assistant-Entität (switch, sensor, binary_sensor, number, text) bereitgestellt, zusätzlich zu den unten definierten Rollläden und Thermostaten.",
18
+ "broker_url": "Broker-URL",
19
+ "username": "Benutzername",
20
+ "password": "Passwort",
21
+ "optional": "(optional)",
22
+ "base_topic": "Basis-Topic",
23
+ "discovery": "Home-Assistant-Discovery veröffentlichen",
24
+ "discovery_prefix": "Discovery-Präfix",
25
+ "hint": "Erfordert einen MQTT-Broker, der sowohl von Node-RED als auch von Home Assistant erreichbar ist, mit aktivierter MQTT-Integration in HA. Die Entitäten erscheinen unter einem Gerät mit dem Namen dieses Knotens. KNX-Buswerte werden an MQTT veröffentlicht und beschreibbare Datenpunkte akzeptieren Befehle von Home Assistant.",
26
+ "exposed_gas": "Bereitzustellende Gruppenadressen",
27
+ "exposed_gas_hint": "Wähle die Gruppenadressen aus, die an Home Assistant veröffentlicht werden sollen. Standardmäßig sind alle importierten Adressen ausgewählt. Von einem Rollladen/Thermostat (unten) verwendete Adressen werden dort behandelt und müssen hier nicht ausgewählt werden.",
28
+ "filter_placeholder": "Nach Adresse oder Name filtern…",
29
+ "select_all": "Alle auswählen",
30
+ "select_none": "Keine auswählen",
31
+ "exposed_count": "ausgewählt",
32
+ "read_only": "Nur lesen",
33
+ "read_only_bulk": "Nur lesen für angezeigte Adressen:",
34
+ "read_only_all": "Nur lesen setzen",
35
+ "read_only_none": "Nur lesen entfernen",
36
+ "bus_mode": "KNX-Bus-Verbindung",
37
+ "bus_standalone": "Eigenständig (über das Gateway)",
38
+ "bus_flow": "Flow-Nachrichten (Ein-/Ausgangs-Pins)",
39
+ "bus_flow_hint": "Verbinde einen KNXUltimate-Knoten im Universal-Modus mit dem Eingangs-Pin (KNX → MQTT) und einen weiteren mit dem Ausgangs-Pin (MQTT → KNX).",
40
+ "no_gateway": "Wähle zuerst ein KNX-Gateway aus.",
41
+ "no_ga": "Keine Gruppenadressen gefunden. Importiere die ETS-Liste im KNX-Gateway.",
42
+ "csv_error": "Die Gruppenadressliste konnte nicht vom Gateway geladen werden.",
43
+ "custom_entities": "Rollläden & Thermostate",
44
+ "custom_entities_hint": "Rollläden und Thermostate fassen mehrere Gruppenadressen zu einer Home-Assistant-Entität zusammen und können daher nicht automatisch aus dem DPT erstellt werden. Füge sie hier hinzu. Die Datenpunkttypen stammen aus der importierten ETS-Liste, sofern vorhanden, andernfalls aus KNX-Standardwerten (1.008 Auf/Ab, 1.007 Stopp, 5.001 Position, 9.001 Temperatur, 1.001 Ein/Aus). Für zuverlässige Statuswerte sollten diese GAs im ETS-Import enthalten sein.",
45
+ "ce_type_cover": "Rollladen",
46
+ "ce_type_climate": "Thermostat",
47
+ "ce_name": "Entitätsname",
48
+ "ce_gaUpDown": "Auf/Ab-GA (1.008)",
49
+ "ce_gaStop": "Stopp-GA (1.007)",
50
+ "ce_gaPosSet": "Position setzen GA (5.001)",
51
+ "ce_gaPosState": "Positionsstatus-GA (5.001)",
52
+ "ce_invertPosition": "Position invertieren (KNX 0% = offen)",
53
+ "ce_gaCurrentTemp": "Ist-Temperatur-GA (9.001)",
54
+ "ce_gaSetpointSet": "Sollwert setzen GA (9.001)",
55
+ "ce_gaSetpointState": "Sollwert-Status-GA (9.001)",
56
+ "ce_gaOnOff": "Ein/Aus-GA (1.001)",
57
+ "ce_minTemp": "Min. Temperatur",
58
+ "ce_maxTemp": "Max. Temperatur",
59
+ "ce_tempStep": "Temperaturschritt"
60
+ },
11
61
  "section_mappings": "Bridge-Zuordnungen",
12
62
  "mapping": {
13
63
  "enabled": "Aktivieren",
@@ -71,7 +121,9 @@
71
121
  },
72
122
  "labels": {
73
123
  "outputKnxToIoT": "Strom KNX → IoT",
74
- "outputIoTToKnx": "Bestätigungen IoT → KNX"
124
+ "outputIoTToKnx": "Bestätigungen IoT → KNX",
125
+ "inputKnxBus": "KNX-Bus-Eingang (von einem Universal-Knoten)",
126
+ "outputKnxWrite": "KNX-Schreibausgang (zu einem Universal-Knoten)"
75
127
  }
76
128
  }
77
129
  }
@@ -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
- "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",
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)",
@@ -155,4 +155,4 @@
155
155
  "reveal_keyring_fail": "Unable to decode the keyring. Check the keyring file and the general password."
156
156
  }
157
157
  }
158
- }
158
+ }
@@ -1,8 +1,32 @@
1
1
  <script type="text/markdown" data-help-name="knxUltimateIoTBridge">
2
- # KNX IoT Bridge
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
+ - **KNX bus connection** — how the node exchanges telegrams with KNX:
15
+ - *Stand-alone* (default) — the node talks to the KNX gateway directly and has no input/output pins.
16
+ - *Flow messages* — the node exposes an input pin and an output pin. Wire the output of a KNXUltimate node in **Universal** mode to the input (KNX bus → MQTT) and the output pin to the input of another KNXUltimate node in **Universal** mode (MQTT → KNX bus).
17
+ - **Broker URL / Username / Password** — connection to your MQTT broker.
18
+ - **Base topic / Discovery prefix** — root topic for state/command topics and the HA discovery prefix (default `homeassistant`).
19
+ - **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. Each row also has a **Read only** toggle: a read-only address is still published to Home Assistant (its state stays visible) but never accepts commands back to the KNX bus (switches become binary_sensors, numbers become sensors). The *Set read only* / *Clear read only* buttons apply it to all currently shown addresses.
20
+ - **Covers & Thermostats** — group several addresses into one entity:
21
+ - *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).
22
+ - *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.
23
+
24
+ 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.
25
+
26
+ ---
27
+
28
+ The rest of this help describes the classic **IoT bridge** mode.
29
+
6
30
  ## Inputs
7
31
 
8
32
  |Property|Description|
@@ -63,7 +87,7 @@ Create bidirectional bridges between KNX group addresses and IoT channels (MQTT
63
87
 
64
88
  ### Modbus register sync
65
89
 
66
- - Pair the IoT Bridge with `node-red-contrib-modbus` `modbus-flex-write` nodes. Output&nbsp;1 carries the Modbus address in `msg.address` and the value in `msg.payload`.
90
+ - Pair the MQTT - IoT with `node-red-contrib-modbus` `modbus-flex-write` nodes. Output&nbsp;1 carries the Modbus address in `msg.address` and the value in `msg.payload`.
67
91
 
68
92
  ## Sample Flow
69
93
 
@@ -1,13 +1,63 @@
1
1
  {
2
2
  "knxUltimateIoTBridge": {
3
- "title": "KNX IoT Bridge",
4
- "paletteLabel": "IoT Bridge",
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
+ "read_only": "Read only",
33
+ "read_only_bulk": "Read only for shown addresses:",
34
+ "read_only_all": "Set read only",
35
+ "read_only_none": "Clear read only",
36
+ "bus_mode": "KNX bus connection",
37
+ "bus_standalone": "Stand-alone (via the gateway)",
38
+ "bus_flow": "Flow messages (input/output pins)",
39
+ "bus_flow_hint": "Wire a KNXUltimate node in Universal mode to the input pin (KNX → MQTT) and another one to the output pin (MQTT → KNX).",
40
+ "no_gateway": "Select a KNX gateway first.",
41
+ "no_ga": "No group addresses found. Import the ETS list in the KNX gateway.",
42
+ "csv_error": "Unable to load the group address list from the gateway.",
43
+ "custom_entities": "Covers & Thermostats",
44
+ "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.",
45
+ "ce_type_cover": "Cover",
46
+ "ce_type_climate": "Thermostat",
47
+ "ce_name": "Entity name",
48
+ "ce_gaUpDown": "Up/Down GA (1.008)",
49
+ "ce_gaStop": "Stop GA (1.007)",
50
+ "ce_gaPosSet": "Set position GA (5.001)",
51
+ "ce_gaPosState": "Position status GA (5.001)",
52
+ "ce_invertPosition": "Invert position (KNX 0% = open)",
53
+ "ce_gaCurrentTemp": "Current temp GA (9.001)",
54
+ "ce_gaSetpointSet": "Setpoint set GA (9.001)",
55
+ "ce_gaSetpointState": "Setpoint status GA (9.001)",
56
+ "ce_gaOnOff": "On/Off GA (1.001)",
57
+ "ce_minTemp": "Min temperature",
58
+ "ce_maxTemp": "Max temperature",
59
+ "ce_tempStep": "Temperature step"
60
+ },
11
61
  "section_mappings": "Bridge mappings",
12
62
  "mapping": {
13
63
  "enabled": "Enable",
@@ -71,7 +121,9 @@
71
121
  },
72
122
  "labels": {
73
123
  "outputKnxToIoT": "KNX → IoT stream",
74
- "outputIoTToKnx": "IoT → KNX acknowledgements"
124
+ "outputIoTToKnx": "IoT → KNX acknowledgements",
125
+ "inputKnxBus": "KNX bus in (from a Universal node)",
126
+ "outputKnxWrite": "KNX write out (to a Universal node)"
75
127
  }
76
128
  }
77
129
  }
@@ -1,8 +1,32 @@
1
1
  <script type="text/markdown" data-help-name="knxUltimateIoTBridge">
2
- # Puente KNX IoT
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
+ - **Conexión al bus KNX** — cómo el nodo intercambia telegramas con KNX:
15
+ - *Autónomo* (predeterminado) — el nodo habla directamente con la pasarela KNX y no tiene pines de entrada/salida.
16
+ - *Mensajes de flujo* — el nodo muestra un pin de entrada y uno de salida. Conecta la salida de un nodo KNXUltimate en modo **Universal** al pin de entrada (bus KNX → MQTT) y el pin de salida a la entrada de otro nodo KNXUltimate en modo **Universal** (MQTT → bus KNX).
17
+ - **URL del broker / Usuario / Contraseña** — conexión a tu broker MQTT.
18
+ - **Topic base / Prefijo de descubrimiento** — topic raíz para los topics de estado/comando y el prefijo de descubrimiento de HA (predeterminado `homeassistant`).
19
+ - **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. Cada fila tiene además una opción **Solo lectura**: una dirección de solo lectura se sigue publicando en Home Assistant (su estado permanece visible) pero nunca acepta comandos de vuelta al bus KNX (los switch pasan a binary_sensor y los number a sensor). Los botones *Marcar solo lectura* / *Quitar solo lectura* la aplican a todas las direcciones mostradas actualmente.
20
+ - **Persianas y termostatos** — agrupan varias direcciones en una sola entidad:
21
+ - *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).
22
+ - *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.
23
+
24
+ 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.
25
+
26
+ ---
27
+
28
+ El resto de esta ayuda describe el modo clásico **Bridge IoT**.
29
+
6
30
  ## Entradas
7
31
 
8
32
  |Propiedad|Descripción|
@@ -1,13 +1,63 @@
1
1
  {
2
2
  "knxUltimateIoTBridge": {
3
- "title": "KNX IoT Bridge",
4
- "paletteLabel": "IoT Bridge",
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
+ "read_only": "Solo lectura",
33
+ "read_only_bulk": "Solo lectura para las direcciones mostradas:",
34
+ "read_only_all": "Marcar solo lectura",
35
+ "read_only_none": "Quitar solo lectura",
36
+ "bus_mode": "Conexión al bus KNX",
37
+ "bus_standalone": "Autónomo (a través del gateway)",
38
+ "bus_flow": "Mensajes de flujo (pines entrada/salida)",
39
+ "bus_flow_hint": "Conecta un nodo KNXUltimate en modo Universal al pin de entrada (KNX → MQTT) y otro al pin de salida (MQTT → KNX).",
40
+ "no_gateway": "Selecciona primero una pasarela KNX.",
41
+ "no_ga": "No se encontraron direcciones de grupo. Importa la lista ETS en la pasarela KNX.",
42
+ "csv_error": "No se pudo cargar la lista de direcciones de grupo desde la pasarela.",
43
+ "custom_entities": "Persianas y termostatos",
44
+ "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.",
45
+ "ce_type_cover": "Persiana",
46
+ "ce_type_climate": "Termostato",
47
+ "ce_name": "Nombre de la entidad",
48
+ "ce_gaUpDown": "GA subir/bajar (1.008)",
49
+ "ce_gaStop": "GA stop (1.007)",
50
+ "ce_gaPosSet": "GA fijar posición (5.001)",
51
+ "ce_gaPosState": "GA estado posición (5.001)",
52
+ "ce_invertPosition": "Invertir posición (KNX 0% = abierto)",
53
+ "ce_gaCurrentTemp": "GA temperatura actual (9.001)",
54
+ "ce_gaSetpointSet": "GA fijar consigna (9.001)",
55
+ "ce_gaSetpointState": "GA estado consigna (9.001)",
56
+ "ce_gaOnOff": "GA on/off (1.001)",
57
+ "ce_minTemp": "Temperatura mín",
58
+ "ce_maxTemp": "Temperatura máx",
59
+ "ce_tempStep": "Paso de temperatura"
60
+ },
11
61
  "section_mappings": "Mapeos del bridge",
12
62
  "mapping": {
13
63
  "enabled": "Activar",
@@ -71,7 +121,9 @@
71
121
  },
72
122
  "labels": {
73
123
  "outputKnxToIoT": "Flujo KNX → IoT",
74
- "outputIoTToKnx": "Confirmaciones IoT → KNX"
124
+ "outputIoTToKnx": "Confirmaciones IoT → KNX",
125
+ "inputKnxBus": "Entrada bus KNX (desde un nodo Universal)",
126
+ "outputKnxWrite": "Salida escritura KNX (hacia un nodo Universal)"
75
127
  }
76
128
  }
77
129
  }
@@ -1,8 +1,32 @@
1
1
  <script type="text/markdown" data-help-name="knxUltimateIoTBridge">
2
- # Passerelle KNX IoT
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
+ - **Connexion au bus KNX** — comment le nœud échange les télégrammes avec KNX :
15
+ - *Autonome* (par défaut) — le nœud communique directement avec la passerelle KNX et n'a pas de broches d'entrée/sortie.
16
+ - *Messages de flux* — le nœud affiche une broche d'entrée et une de sortie. Reliez la sortie d'un nœud KNXUltimate en mode **Universel** à la broche d'entrée (bus KNX → MQTT) et la broche de sortie à l'entrée d'un autre nœud KNXUltimate en mode **Universel** (MQTT → bus KNX).
17
+ - **URL du broker / Nom d'utilisateur / Mot de passe** — connexion à votre broker MQTT.
18
+ - **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`).
19
+ - **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. Chaque ligne dispose aussi d'une option **Lecture seule** : une adresse en lecture seule est toujours publiée vers Home Assistant (son état reste visible) mais n'accepte jamais de commandes vers le bus KNX (les switch deviennent des binary_sensor et les number des sensor). Les boutons *Activer lecture seule* / *Retirer lecture seule* l'appliquent à toutes les adresses actuellement affichées.
20
+ - **Volets et thermostats** — regroupent plusieurs adresses en une seule entité :
21
+ - *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).
22
+ - *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.
23
+
24
+ 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.
25
+
26
+ ---
27
+
28
+ Le reste de cette aide décrit le mode classique **Passerelle IoT**.
29
+
6
30
  ## Entrées
7
31
 
8
32
  |Propriété|Description|
@@ -1,13 +1,63 @@
1
1
  {
2
2
  "knxUltimateIoTBridge": {
3
- "title": "Passerelle KNX IoT",
4
- "paletteLabel": "Passerelle IoT",
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
+ "read_only": "Lecture seule",
33
+ "read_only_bulk": "Lecture seule pour les adresses affichées :",
34
+ "read_only_all": "Activer lecture seule",
35
+ "read_only_none": "Retirer lecture seule",
36
+ "bus_mode": "Connexion au bus KNX",
37
+ "bus_standalone": "Autonome (via la passerelle)",
38
+ "bus_flow": "Messages de flux (broches entrée/sortie)",
39
+ "bus_flow_hint": "Reliez un nœud KNXUltimate en mode Universel à la broche d'entrée (KNX → MQTT) et un autre à la broche de sortie (MQTT → KNX).",
40
+ "no_gateway": "Sélectionnez d'abord une passerelle KNX.",
41
+ "no_ga": "Aucune adresse de groupe trouvée. Importez la liste ETS dans la passerelle KNX.",
42
+ "csv_error": "Impossible de charger la liste des adresses de groupe depuis la passerelle.",
43
+ "custom_entities": "Volets et thermostats",
44
+ "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.",
45
+ "ce_type_cover": "Volet",
46
+ "ce_type_climate": "Thermostat",
47
+ "ce_name": "Nom de l'entité",
48
+ "ce_gaUpDown": "GA montée/descente (1.008)",
49
+ "ce_gaStop": "GA stop (1.007)",
50
+ "ce_gaPosSet": "GA position (commande) (5.001)",
51
+ "ce_gaPosState": "GA état position (5.001)",
52
+ "ce_invertPosition": "Inverser la position (KNX 0% = ouvert)",
53
+ "ce_gaCurrentTemp": "GA température actuelle (9.001)",
54
+ "ce_gaSetpointSet": "GA consigne (commande) (9.001)",
55
+ "ce_gaSetpointState": "GA état consigne (9.001)",
56
+ "ce_gaOnOff": "GA marche/arrêt (1.001)",
57
+ "ce_minTemp": "Température min",
58
+ "ce_maxTemp": "Température max",
59
+ "ce_tempStep": "Pas de température"
60
+ },
11
61
  "section_mappings": "Correspondances de la passerelle",
12
62
  "mapping": {
13
63
  "enabled": "Activer",
@@ -71,7 +121,9 @@
71
121
  },
72
122
  "labels": {
73
123
  "outputKnxToIoT": "Flux KNX → IoT",
74
- "outputIoTToKnx": "Accusés IoT → KNX"
124
+ "outputIoTToKnx": "Accusés IoT → KNX",
125
+ "inputKnxBus": "Entrée bus KNX (depuis un nœud Universel)",
126
+ "outputKnxWrite": "Sortie écriture KNX (vers un nœud Universel)"
75
127
  }
76
128
  }
77
129
  }
@@ -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" : "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)",
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" : "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"
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" : "&nbsp<i class=\"fa fa-youtube-play\"></i>&nbsp<a target=\"_blank\" href=\"https://youtu.be/egRbR_KwP9I\"><u>Guarda come si esporta un file CSV su YouTube.</u></a>",
122
+ "youtube": "&nbsp<i class=\"fa fa-youtube-play\"></i>&nbsp<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",
@@ -159,4 +159,4 @@
159
159
  "reveal_keyring_fail": "Impossibile decodificare il keyring. Verifica il file keyring e la password generale."
160
160
  }
161
161
  }
162
- }
162
+ }
@@ -1,8 +1,32 @@
1
1
  <script type="text/markdown" data-help-name="knxUltimateIoTBridge">
2
- # KNX IoT Bridge
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
+ - **Connessione al bus KNX** — come il nodo scambia telegrammi con KNX:
15
+ - *Stand-alone* (predefinito) — il nodo parla direttamente col gateway KNX e non ha PIN di ingresso/uscita.
16
+ - *Messaggi di flow* — il nodo mostra un PIN di ingresso e uno di uscita. Collega l'uscita di un nodo KNXUltimate in modalità **Universale** al PIN di ingresso (bus KNX → MQTT) e il PIN di uscita all'ingresso di un altro nodo KNXUltimate in modalità **Universale** (MQTT → bus KNX).
17
+ - **URL broker / Nome utente / Password** — connessione al tuo broker MQTT.
18
+ - **Topic di base / Prefisso discovery** — topic radice per i topic di stato/comando e il prefisso discovery di HA (predefinito `homeassistant`).
19
+ - **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. Ogni riga ha inoltre un'opzione **Sola lettura**: un indirizzo in sola lettura viene comunque pubblicato su Home Assistant (lo stato resta visibile) ma non accetta mai comandi verso il bus KNX (gli switch diventano binary_sensor, i number diventano sensor). I pulsanti *Imposta sola lettura* / *Togli sola lettura* la applicano a tutti gli indirizzi attualmente mostrati.
20
+ - **Tapparelle e Termostati** — raggruppano più indirizzi in un'unica entità:
21
+ - *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).
22
+ - *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.
23
+
24
+ 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.
25
+
26
+ ---
27
+
28
+ Il resto di questo aiuto descrive la modalità classica **Bridge IoT**.
29
+
6
30
  ## Input
7
31
 
8
32
  |Proprietà|Descrizione|