node-red-contrib-knx-ultimate 5.2.4 → 6.0.0
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 +21 -8
- package/README.md +10 -3
- package/img/readmemain.png +0 -0
- package/nodes/commonFunctions.js +40 -3
- package/nodes/knxUltimate-config.js +379 -335
- package/nodes/knxUltimate.html +8 -9
- package/nodes/knxUltimate.js +5 -5
- package/nodes/knxUltimateAI.js +1 -1
- package/nodes/knxUltimateHueLight.html +3 -3
- package/nodes/knxUltimateHueLight.js +1 -1
- package/nodes/knxUltimateMatterBridge.html +321 -247
- package/nodes/knxUltimateMatterBridge.js +48 -1
- package/nodes/knxUltimateMatterControllerDevice.html +2119 -0
- package/nodes/knxUltimateMatterControllerDevice.js +1701 -0
- package/nodes/locales/de/knxUltimateMatterBridge.html +6 -2
- package/nodes/locales/de/knxUltimateMatterBridge.json +14 -1
- package/nodes/locales/de/knxUltimateMatterControllerDevice.html +27 -0
- package/nodes/locales/de/knxUltimateMatterControllerDevice.json +97 -0
- package/nodes/locales/de/matter-config.json +5 -1
- package/nodes/locales/de/matterbridge-config.json +1 -0
- package/nodes/locales/en/knxUltimateMatterBridge.html +6 -2
- package/nodes/locales/en/knxUltimateMatterBridge.json +14 -1
- package/nodes/locales/en/knxUltimateMatterControllerDevice.html +27 -0
- package/nodes/locales/en/knxUltimateMatterControllerDevice.json +97 -0
- package/nodes/locales/en/matter-config.json +6 -1
- package/nodes/locales/en/matterbridge-config.json +1 -0
- package/nodes/locales/es/knxUltimateMatterBridge.html +6 -2
- package/nodes/locales/es/knxUltimateMatterBridge.json +14 -1
- package/nodes/locales/es/knxUltimateMatterControllerDevice.html +27 -0
- package/nodes/locales/es/knxUltimateMatterControllerDevice.json +97 -0
- package/nodes/locales/es/matter-config.json +5 -1
- package/nodes/locales/es/matterbridge-config.json +1 -0
- package/nodes/locales/fr/knxUltimateMatterBridge.html +6 -2
- package/nodes/locales/fr/knxUltimateMatterBridge.json +14 -1
- package/nodes/locales/fr/knxUltimateMatterControllerDevice.html +27 -0
- package/nodes/locales/fr/knxUltimateMatterControllerDevice.json +89 -0
- package/nodes/locales/fr/matter-config.json +5 -1
- package/nodes/locales/fr/matterbridge-config.json +1 -0
- package/nodes/locales/it/knxUltimateMatterBridge.html +6 -2
- package/nodes/locales/it/knxUltimateMatterBridge.json +14 -1
- package/nodes/locales/it/knxUltimateMatterControllerDevice.html +27 -0
- package/nodes/locales/it/knxUltimateMatterControllerDevice.json +97 -0
- package/nodes/locales/it/matter-config.json +6 -1
- package/nodes/locales/it/matterbridge-config.json +1 -0
- package/nodes/locales/zh-CN/knxUltimateMatterBridge.html +6 -2
- package/nodes/locales/zh-CN/knxUltimateMatterBridge.json +14 -1
- package/nodes/locales/zh-CN/knxUltimateMatterControllerDevice.html +27 -0
- package/nodes/locales/zh-CN/knxUltimateMatterControllerDevice.json +89 -0
- package/nodes/locales/zh-CN/matter-config.json +5 -1
- package/nodes/locales/zh-CN/matterbridge-config.json +1 -0
- package/nodes/matter-config.html +58 -6
- package/nodes/matter-config.js +7 -2
- package/nodes/matterbridge-config.html +1 -0
- package/nodes/utils/lightEngines/canonicalLight.js +75 -0
- package/nodes/utils/lightEngines/hueLightEngine.js +51 -0
- package/nodes/utils/lightEngines/index.js +25 -0
- package/nodes/utils/lightEngines/knxLightCommand.js +79 -0
- package/nodes/utils/lightEngines/lightEngine.js +46 -0
- package/nodes/utils/lightEngines/matterHueShim.js +59 -0
- package/nodes/utils/lightEngines/matterLightEngine.js +117 -0
- package/nodes/utils/matterEngine.mjs +185 -14
- package/nodes/utils/matterKnxConverter.js +1 -1
- package/package.json +21 -3
- package/resources/KNXSendSnippets.js +53 -53
- package/resources/htmlUtils.js +6 -4
- package/nodes/knxUltimateMatterDevice.html +0 -632
- package/nodes/knxUltimateMatterDevice.js +0 -308
- package/nodes/locales/de/knxUltimateMatterDevice.html +0 -56
- package/nodes/locales/de/knxUltimateMatterDevice.json +0 -109
- package/nodes/locales/en/knxUltimateMatterDevice.html +0 -56
- package/nodes/locales/en/knxUltimateMatterDevice.json +0 -109
- package/nodes/locales/es/knxUltimateMatterDevice.html +0 -56
- package/nodes/locales/es/knxUltimateMatterDevice.json +0 -109
- package/nodes/locales/fr/knxUltimateMatterDevice.html +0 -56
- package/nodes/locales/fr/knxUltimateMatterDevice.json +0 -109
- package/nodes/locales/it/knxUltimateMatterDevice.html +0 -56
- package/nodes/locales/it/knxUltimateMatterDevice.json +0 -109
- package/nodes/locales/zh-CN/knxUltimateMatterDevice.html +0 -56
- package/nodes/locales/zh-CN/knxUltimateMatterDevice.json +0 -109
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
<script type="text/markdown" data-help-name="knxUltimateMatterDevice">
|
|
2
|
-
# Dispositivo Matter (BETA)
|
|
3
|
-
|
|
4
|
-
> Este nodo está en **BETA**: funciona, pero algunos detalles pueden cambiar entre versiones.
|
|
5
|
-
|
|
6
|
-
## Descripción general
|
|
7
|
-
|
|
8
|
-
El nodo Matter Device hace de puente entre un **dispositivo Matter** y las **direcciones de grupo KNX**. El nodo opera a través del nodo de configuración *Controlador Matter*, que comisiona los dispositivos en su propia fabric Matter.
|
|
9
|
-
|
|
10
|
-
- **Controla** cualquier dispositivo Matter emparejado desde el bus KNX (on/off, regulación, persianas, termostatos, cerraduras, ...).
|
|
11
|
-
- **Sigue** cada atributo del dispositivo en direcciones de grupo KNX (estados, sensores, medición de potencia, batería...).
|
|
12
|
-
- Totalmente genérico: la lista de mapeos se construye a partir de los **endpoints/clústeres reales** que expone el dispositivo.
|
|
13
|
-
|
|
14
|
-
## Configuración
|
|
15
|
-
|
|
16
|
-
|Campo|Descripción|
|
|
17
|
-
|--|--|
|
|
18
|
-
| GW KNX | Gateway KNX usado para los telegramas |
|
|
19
|
-
| Ctrl Matter | El nodo de configuración Controlador Matter (donde se emparejan los dispositivos) |
|
|
20
|
-
| Dispositivo | Elige el dispositivo Matter emparejado desde el autocompletado |
|
|
21
|
-
| Mapeos | Una fila por cada mapeo dirección de grupo ↔ clúster Matter |
|
|
22
|
-
| Leer estado al inicio | Si está activo, el nodo emite los valores actuales en caché al hacer deploy/conectar |
|
|
23
|
-
| PINes de entrada/salida | Habilita los pines de Node-RED para el acceso Matter en bruto |
|
|
24
|
-
|
|
25
|
-
## Mapeos
|
|
26
|
-
|
|
27
|
-
La lista de destinos muestra las funciones soportadas con nombres comprensibles como *"Interruptor On/Off"* o *"Potencia instantánea (W)"*, filtradas según lo que el dispositivo realmente expone y con el valor actual entre corchetes.
|
|
28
|
-
|
|
29
|
-
Cada fila de mapeo tiene una **dirección**:
|
|
30
|
-
|
|
31
|
-
- **KNX → Matter (comando)**: un telegrama recibido en la dirección de grupo invoca un comando del clúster Matter o escribe un atributo. Ejemplo: GA `1/1/1` DPT 1.001 → `OnOff.on/off` (el valor booleano elige automáticamente on u off).
|
|
32
|
-
- **Matter → KNX (estado)**: cuando cambia el atributo Matter suscrito, su valor se convierte y se escribe en la dirección de grupo. Las peticiones `GroupValue_Read` se responden con el valor en caché.
|
|
33
|
-
|
|
34
|
-
Los clústeres más comunes se convierten automáticamente en valores aptos para KNX:
|
|
35
|
-
|
|
36
|
-
|Clúster|Conversión|
|
|
37
|
-
|--|--|
|
|
38
|
-
| OnOff | booleano (DPT 1.001) |
|
|
39
|
-
| LevelControl | 0-254 ↔ porcentaje (DPT 5.001) |
|
|
40
|
-
| WindowCovering | percent100ths ↔ porcentaje (DPT 5.001), subir/bajar (DPT 1.008) |
|
|
41
|
-
| ColorControl | mireds ↔ Kelvin (DPT 7.600) |
|
|
42
|
-
| Thermostat | centi-°C ↔ °C (DPT 9.001) |
|
|
43
|
-
| Temperatura/Humedad | centi-unidades ↔ unidades (DPT 9.001/9.007) |
|
|
44
|
-
| Iluminancia | escala logarítmica ↔ Lux (DPT 9.004) |
|
|
45
|
-
| PowerSource | medio-porcentaje ↔ porcentaje de batería (DPT 5.001) |
|
|
46
|
-
| Potencia/Energía eléctrica | mW ↔ W (DPT 14.056), mWh ↔ kWh (DPT 13.013) |
|
|
47
|
-
|
|
48
|
-
Los demás clústeres/atributos pasan sin conversión; el DPT elegido realiza la codificación KNX final.
|
|
49
|
-
|
|
50
|
-
## PINes del nodo
|
|
51
|
-
|
|
52
|
-
Si habilitas los PINes del nodo:
|
|
53
|
-
|
|
54
|
-
- **Entrada**: envía comandos en bruto: `msg.payload = { endpointId: 1, clusterId: 6, command: "toggle" }` o escrituras de atributos: `msg.payload = { endpointId: 1, clusterId: 8, attribute: "onLevel", value: 128 }`
|
|
55
|
-
- **Salida**: recibe cada cambio de atributo (`msg.matter` contiene el evento completo) y cada evento de clúster (pulsaciones de botones, etc.).
|
|
56
|
-
</script>
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"knxUltimateMatterDevice": {
|
|
3
|
-
"title": "Dispositivo Matter (BETA)",
|
|
4
|
-
"paletteLabel": "Matter Device (BETA)",
|
|
5
|
-
"matter_controller": "Ctrl Matter",
|
|
6
|
-
"matter_device": "Dispositivo",
|
|
7
|
-
"device_placeholder": "Haz clic para elegir un dispositivo Matter emparejado",
|
|
8
|
-
"mapping_help": "Añade una fila por cada mapeo. \"KNX → Matter\" invoca un comando del clúster (o escribe un atributo) cuando llega un telegrama a la dirección de grupo. \"Matter → KNX\" escribe el valor del atributo en la dirección de grupo cada vez que cambia (las peticiones de lectura se responden con el valor en caché).",
|
|
9
|
-
"select_target": "-- selecciona el destino Matter --",
|
|
10
|
-
"stored_target": "Guardado",
|
|
11
|
-
"read_status_startup": "Leer estado al inicio",
|
|
12
|
-
"opt_yes_emit": "Sí, y emitir telegramas KNX.",
|
|
13
|
-
"opt_no": "No",
|
|
14
|
-
"node_pins": "PINes de entrada/salida del nodo",
|
|
15
|
-
"node_pins_hide": "Ocultar",
|
|
16
|
-
"node_pins_show": "Mostrar PINes de entrada/salida",
|
|
17
|
-
"direction": {
|
|
18
|
-
"command": "KNX → Matter (comando)",
|
|
19
|
-
"status": "Matter → KNX (estado)"
|
|
20
|
-
},
|
|
21
|
-
"fields": {
|
|
22
|
-
"direction": "Dirección",
|
|
23
|
-
"target": "Endpoint / clúster / destino Matter",
|
|
24
|
-
"ga": "Dirección de grupo",
|
|
25
|
-
"dpt": "DPT",
|
|
26
|
-
"ganame": "Nombre"
|
|
27
|
-
},
|
|
28
|
-
"no_simple_targets": "No se encontraron funciones compatibles en este dispositivo (o el dispositivo aún no está conectado).",
|
|
29
|
-
"endpoint": "Endpoint",
|
|
30
|
-
"friendly": {
|
|
31
|
-
"onoff_switch": "Interruptor On/Off (encender/apagar)",
|
|
32
|
-
"onoff_toggle": "Invertir estado (toggle)",
|
|
33
|
-
"onoff_state": "Estado On/Off",
|
|
34
|
-
"level_set": "Ajustar brillo / nivel (%)",
|
|
35
|
-
"level_state": "Brillo / nivel actual (%)",
|
|
36
|
-
"colortemp_set": "Ajustar temperatura de color (Kelvin)",
|
|
37
|
-
"colortemp_state": "Temperatura de color actual (Kelvin)",
|
|
38
|
-
"cover_updown": "Persiana Subir/Bajar",
|
|
39
|
-
"cover_stop": "Persiana Stop",
|
|
40
|
-
"cover_position_set": "Mover persiana a posición (%)",
|
|
41
|
-
"cover_position_state": "Posición actual de la persiana (%)",
|
|
42
|
-
"cover_tilt_set": "Inclinar lamas (%)",
|
|
43
|
-
"cover_tilt_state": "Inclinación actual de lamas (%)",
|
|
44
|
-
"thermo_localtemp": "Temperatura ambiente (°C)",
|
|
45
|
-
"thermo_heatsp_set": "Ajustar consigna calefacción (°C)",
|
|
46
|
-
"thermo_coolsp_set": "Ajustar consigna refrigeración (°C)",
|
|
47
|
-
"thermo_heatsp_state": "Consigna calefacción (°C)",
|
|
48
|
-
"thermo_coolsp_state": "Consigna refrigeración (°C)",
|
|
49
|
-
"fan_speed_set": "Ajustar velocidad ventilador (%)",
|
|
50
|
-
"fan_speed_state": "Velocidad actual ventilador (%)",
|
|
51
|
-
"lock_cmd": "Bloquear/Desbloquear cerradura",
|
|
52
|
-
"lock_state": "Estado cerradura (bloqueada)",
|
|
53
|
-
"temp_measured": "Temperatura medida (°C)",
|
|
54
|
-
"humidity_measured": "Humedad relativa (%)",
|
|
55
|
-
"illuminance_measured": "Iluminancia (Lux)",
|
|
56
|
-
"occupancy_state": "Presencia detectada",
|
|
57
|
-
"contact_state": "Estado contacto (cerrado/abierto)",
|
|
58
|
-
"battery_percent": "Nivel de batería (%)",
|
|
59
|
-
"power_active": "Potencia instantánea (W)",
|
|
60
|
-
"power_voltage": "Tensión (V)",
|
|
61
|
-
"power_current": "Corriente (A)",
|
|
62
|
-
"energy_imported": "Energía consumida (kWh)",
|
|
63
|
-
"identify_cmd": "Identificar dispositivo (parpadeo)",
|
|
64
|
-
"switch_position": "Posición del botón"
|
|
65
|
-
},
|
|
66
|
-
"devtype": {
|
|
67
|
-
"onofflight": "Luz On/Off",
|
|
68
|
-
"dimmablelight": "Luz regulable",
|
|
69
|
-
"colortemperaturelight": "Luz de temperatura de color",
|
|
70
|
-
"extendedcolorlight": "Luz de color",
|
|
71
|
-
"onoffpluginunit": "Enchufe (on/off)",
|
|
72
|
-
"dimmablepluginunit": "Enchufe (regulable)",
|
|
73
|
-
"smartplug": "Enchufe inteligente",
|
|
74
|
-
"contactsensor": "Sensor de contacto",
|
|
75
|
-
"lightsensor": "Sensor de luz",
|
|
76
|
-
"occupancysensor": "Sensor de presencia",
|
|
77
|
-
"temperaturesensor": "Sensor de temperatura",
|
|
78
|
-
"humiditysensor": "Sensor de humedad",
|
|
79
|
-
"pressuresensor": "Sensor de presión",
|
|
80
|
-
"flowsensor": "Sensor de caudal",
|
|
81
|
-
"doorlock": "Cerradura",
|
|
82
|
-
"windowcovering": "Persiana/Cortina",
|
|
83
|
-
"thermostat": "Termostato",
|
|
84
|
-
"fan": "Ventilador",
|
|
85
|
-
"genericswitch": "Botón/Interruptor",
|
|
86
|
-
"airqualitysensor": "Sensor de calidad del aire",
|
|
87
|
-
"smokecoalarm": "Alarma humo/CO",
|
|
88
|
-
"waterleakdetector": "Detector de fugas de agua",
|
|
89
|
-
"roomairconditioner": "Aire acondicionado",
|
|
90
|
-
"airpurifier": "Purificador de aire",
|
|
91
|
-
"speaker": "Altavoz",
|
|
92
|
-
"pumpcontroller": "Bomba",
|
|
93
|
-
"onofflightswitch": "Interruptor de luz",
|
|
94
|
-
"dimmerswitch": "Interruptor regulador",
|
|
95
|
-
"colordimmerswitch": "Interruptor regulador de color",
|
|
96
|
-
"powersource": "Alimentación",
|
|
97
|
-
"electricalsensor": "Sensor eléctrico",
|
|
98
|
-
"bridgednode": "Dispositivo puenteado",
|
|
99
|
-
"aggregator": "Bridge/Agregador",
|
|
100
|
-
"rootnode": "Nodo raíz"
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
"common": {
|
|
104
|
-
"ga": "GA",
|
|
105
|
-
"dpt": "DPT",
|
|
106
|
-
"name": "Nombre",
|
|
107
|
-
"knx_gw": "GW KNX"
|
|
108
|
-
}
|
|
109
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
<script type="text/markdown" data-help-name="knxUltimateMatterDevice">
|
|
2
|
-
# Appareil Matter (BETA)
|
|
3
|
-
|
|
4
|
-
> Ce nœud est en **BETA** : il fonctionne, mais des détails peuvent encore changer entre les versions.
|
|
5
|
-
|
|
6
|
-
## Vue d'ensemble
|
|
7
|
-
|
|
8
|
-
Le nœud Matter Device fait le pont entre un **appareil Matter** et les **adresses de groupe KNX**. Le nœud opère via le nœud de configuration *Contrôleur Matter*, qui commissionne les appareils dans sa propre fabric Matter.
|
|
9
|
-
|
|
10
|
-
- **Contrôlez** n'importe quel appareil Matter appairé depuis le bus KNX (on/off, variation, volets, thermostats, serrures, ...).
|
|
11
|
-
- **Suivez** chaque attribut de l'appareil sur des adresses de groupe KNX (états, capteurs, mesure de puissance, batterie...).
|
|
12
|
-
- Totalement générique : la liste des mappages est construite à partir des **endpoints/clusters réels** exposés par l'appareil.
|
|
13
|
-
|
|
14
|
-
## Configuration
|
|
15
|
-
|
|
16
|
-
|Champ|Description|
|
|
17
|
-
|--|--|
|
|
18
|
-
| GW KNX | Passerelle KNX utilisée pour les télégrammes |
|
|
19
|
-
| Ctrl Matter | Le nœud de configuration Contrôleur Matter (où l'on appaire les appareils) |
|
|
20
|
-
| Appareil | Choisissez l'appareil Matter appairé via l'autocomplétion |
|
|
21
|
-
| Mappages | Une ligne par mappage adresse de groupe ↔ cluster Matter |
|
|
22
|
-
| Lire l'état au démarrage | Si activé, le nœud émet les valeurs en cache au deploy/à la connexion |
|
|
23
|
-
| PIN entrée/sortie | Active les broches Node-RED pour l'accès Matter brut |
|
|
24
|
-
|
|
25
|
-
## Mappages
|
|
26
|
-
|
|
27
|
-
La liste des cibles montre les fonctions prises en charge avec des noms compréhensibles comme *« Interrupteur On/Off »* ou *« Puissance instantanée (W) »*, filtrées selon ce que l'appareil expose réellement, avec la valeur actuelle entre crochets.
|
|
28
|
-
|
|
29
|
-
Chaque ligne de mappage a une **direction** :
|
|
30
|
-
|
|
31
|
-
- **KNX → Matter (commande)** : un télégramme reçu sur l'adresse de groupe invoque une commande du cluster Matter ou écrit un attribut. Exemple : GA `1/1/1` DPT 1.001 → `OnOff.on/off` (la valeur booléenne choisit automatiquement on ou off).
|
|
32
|
-
- **Matter → KNX (état)** : quand l'attribut Matter souscrit change, sa valeur est convertie et écrite sur l'adresse de groupe. Les requêtes `GroupValue_Read` reçoivent la valeur en cache.
|
|
33
|
-
|
|
34
|
-
Les clusters courants sont convertis automatiquement en valeurs adaptées à KNX :
|
|
35
|
-
|
|
36
|
-
|Cluster|Conversion|
|
|
37
|
-
|--|--|
|
|
38
|
-
| OnOff | booléen (DPT 1.001) |
|
|
39
|
-
| LevelControl | 0-254 ↔ pourcentage (DPT 5.001) |
|
|
40
|
-
| WindowCovering | percent100ths ↔ pourcentage (DPT 5.001), monter/descendre (DPT 1.008) |
|
|
41
|
-
| ColorControl | mireds ↔ Kelvin (DPT 7.600) |
|
|
42
|
-
| Thermostat | centi-°C ↔ °C (DPT 9.001) |
|
|
43
|
-
| Température/Humidité | centi-unités ↔ unités (DPT 9.001/9.007) |
|
|
44
|
-
| Éclairement | échelle logarithmique ↔ Lux (DPT 9.004) |
|
|
45
|
-
| PowerSource | demi-pourcent ↔ pourcentage batterie (DPT 5.001) |
|
|
46
|
-
| Puissance/Énergie électrique | mW ↔ W (DPT 14.056), mWh ↔ kWh (DPT 13.013) |
|
|
47
|
-
|
|
48
|
-
Les autres clusters/attributs passent tels quels ; le DPT choisi effectue l'encodage KNX final.
|
|
49
|
-
|
|
50
|
-
## PIN du nœud
|
|
51
|
-
|
|
52
|
-
Si vous activez les PIN du nœud :
|
|
53
|
-
|
|
54
|
-
- **Entrée** : envoyez des commandes brutes : `msg.payload = { endpointId: 1, clusterId: 6, command: "toggle" }` ou des écritures d'attributs : `msg.payload = { endpointId: 1, clusterId: 8, attribute: "onLevel", value: 128 }`
|
|
55
|
-
- **Sortie** : reçoit chaque changement d'attribut (`msg.matter` contient l'événement complet) et chaque événement de cluster (appuis de boutons, etc.).
|
|
56
|
-
</script>
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"knxUltimateMatterDevice": {
|
|
3
|
-
"title": "Appareil Matter (BETA)",
|
|
4
|
-
"paletteLabel": "Matter Device (BETA)",
|
|
5
|
-
"matter_controller": "Ctrl Matter",
|
|
6
|
-
"matter_device": "Appareil",
|
|
7
|
-
"device_placeholder": "Cliquez pour choisir un appareil Matter appairé",
|
|
8
|
-
"mapping_help": "Ajoutez une ligne par mappage. \"KNX → Matter\" invoque une commande du cluster (ou écrit un attribut) à l'arrivée d'un télégramme sur l'adresse de groupe. \"Matter → KNX\" écrit la valeur de l'attribut sur l'adresse de groupe à chaque changement (les demandes de lecture reçoivent la valeur en cache).",
|
|
9
|
-
"select_target": "-- sélectionnez la cible Matter --",
|
|
10
|
-
"stored_target": "Enregistré",
|
|
11
|
-
"read_status_startup": "Lire l'état au démarrage",
|
|
12
|
-
"opt_yes_emit": "Oui, et émettre les télégrammes KNX.",
|
|
13
|
-
"opt_no": "Non",
|
|
14
|
-
"node_pins": "PIN entrée/sortie du nœud",
|
|
15
|
-
"node_pins_hide": "Masquer",
|
|
16
|
-
"node_pins_show": "Afficher les PIN entrée/sortie",
|
|
17
|
-
"direction": {
|
|
18
|
-
"command": "KNX → Matter (commande)",
|
|
19
|
-
"status": "Matter → KNX (état)"
|
|
20
|
-
},
|
|
21
|
-
"fields": {
|
|
22
|
-
"direction": "Direction",
|
|
23
|
-
"target": "Endpoint / cluster / cible Matter",
|
|
24
|
-
"ga": "Adresse de groupe",
|
|
25
|
-
"dpt": "DPT",
|
|
26
|
-
"ganame": "Nom"
|
|
27
|
-
},
|
|
28
|
-
"no_simple_targets": "Aucune fonction prise en charge trouvée sur cet appareil (ou l'appareil n'est pas encore connecté).",
|
|
29
|
-
"endpoint": "Endpoint",
|
|
30
|
-
"friendly": {
|
|
31
|
-
"onoff_switch": "Interrupteur On/Off (allumer/éteindre)",
|
|
32
|
-
"onoff_toggle": "Inverser l'état (toggle)",
|
|
33
|
-
"onoff_state": "État On/Off",
|
|
34
|
-
"level_set": "Régler la luminosité / le niveau (%)",
|
|
35
|
-
"level_state": "Luminosité / niveau actuel (%)",
|
|
36
|
-
"colortemp_set": "Régler la température de couleur (Kelvin)",
|
|
37
|
-
"colortemp_state": "Température de couleur actuelle (Kelvin)",
|
|
38
|
-
"cover_updown": "Volet Monter/Descendre",
|
|
39
|
-
"cover_stop": "Volet Stop",
|
|
40
|
-
"cover_position_set": "Amener le volet en position (%)",
|
|
41
|
-
"cover_position_state": "Position actuelle du volet (%)",
|
|
42
|
-
"cover_tilt_set": "Incliner les lamelles (%)",
|
|
43
|
-
"cover_tilt_state": "Inclinaison actuelle des lamelles (%)",
|
|
44
|
-
"thermo_localtemp": "Température ambiante (°C)",
|
|
45
|
-
"thermo_heatsp_set": "Régler la consigne chauffage (°C)",
|
|
46
|
-
"thermo_coolsp_set": "Régler la consigne climatisation (°C)",
|
|
47
|
-
"thermo_heatsp_state": "Consigne chauffage (°C)",
|
|
48
|
-
"thermo_coolsp_state": "Consigne climatisation (°C)",
|
|
49
|
-
"fan_speed_set": "Régler la vitesse du ventilateur (%)",
|
|
50
|
-
"fan_speed_state": "Vitesse actuelle du ventilateur (%)",
|
|
51
|
-
"lock_cmd": "Verrouiller/Déverrouiller la serrure",
|
|
52
|
-
"lock_state": "État de la serrure (verrouillée)",
|
|
53
|
-
"temp_measured": "Température mesurée (°C)",
|
|
54
|
-
"humidity_measured": "Humidité relative (%)",
|
|
55
|
-
"illuminance_measured": "Éclairement (Lux)",
|
|
56
|
-
"occupancy_state": "Présence détectée",
|
|
57
|
-
"contact_state": "État du contact (fermé/ouvert)",
|
|
58
|
-
"battery_percent": "Niveau de batterie (%)",
|
|
59
|
-
"power_active": "Puissance instantanée (W)",
|
|
60
|
-
"power_voltage": "Tension (V)",
|
|
61
|
-
"power_current": "Courant (A)",
|
|
62
|
-
"energy_imported": "Énergie consommée (kWh)",
|
|
63
|
-
"identify_cmd": "Identifier l'appareil (clignotement)",
|
|
64
|
-
"switch_position": "Position du bouton"
|
|
65
|
-
},
|
|
66
|
-
"devtype": {
|
|
67
|
-
"onofflight": "Lumière On/Off",
|
|
68
|
-
"dimmablelight": "Lumière variable",
|
|
69
|
-
"colortemperaturelight": "Lumière à température de couleur",
|
|
70
|
-
"extendedcolorlight": "Lumière couleur",
|
|
71
|
-
"onoffpluginunit": "Prise (on/off)",
|
|
72
|
-
"dimmablepluginunit": "Prise (variable)",
|
|
73
|
-
"smartplug": "Prise connectée",
|
|
74
|
-
"contactsensor": "Capteur de contact",
|
|
75
|
-
"lightsensor": "Capteur de lumière",
|
|
76
|
-
"occupancysensor": "Capteur de présence",
|
|
77
|
-
"temperaturesensor": "Capteur de température",
|
|
78
|
-
"humiditysensor": "Capteur d'humidité",
|
|
79
|
-
"pressuresensor": "Capteur de pression",
|
|
80
|
-
"flowsensor": "Capteur de débit",
|
|
81
|
-
"doorlock": "Serrure",
|
|
82
|
-
"windowcovering": "Volet/Store",
|
|
83
|
-
"thermostat": "Thermostat",
|
|
84
|
-
"fan": "Ventilateur",
|
|
85
|
-
"genericswitch": "Bouton/Interrupteur",
|
|
86
|
-
"airqualitysensor": "Capteur de qualité d'air",
|
|
87
|
-
"smokecoalarm": "Détecteur fumée/CO",
|
|
88
|
-
"waterleakdetector": "Détecteur de fuite d'eau",
|
|
89
|
-
"roomairconditioner": "Climatiseur",
|
|
90
|
-
"airpurifier": "Purificateur d'air",
|
|
91
|
-
"speaker": "Haut-parleur",
|
|
92
|
-
"pumpcontroller": "Pompe",
|
|
93
|
-
"onofflightswitch": "Interrupteur",
|
|
94
|
-
"dimmerswitch": "Interrupteur variateur",
|
|
95
|
-
"colordimmerswitch": "Variateur couleur",
|
|
96
|
-
"powersource": "Alimentation",
|
|
97
|
-
"electricalsensor": "Capteur électrique",
|
|
98
|
-
"bridgednode": "Appareil ponté",
|
|
99
|
-
"aggregator": "Bridge/Agrégateur",
|
|
100
|
-
"rootnode": "Nœud racine"
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
"common": {
|
|
104
|
-
"ga": "GA",
|
|
105
|
-
"dpt": "DPT",
|
|
106
|
-
"name": "Nom",
|
|
107
|
-
"knx_gw": "GW KNX"
|
|
108
|
-
}
|
|
109
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
<script type="text/markdown" data-help-name="knxUltimateMatterDevice">
|
|
2
|
-
# Dispositivo Matter (BETA)
|
|
3
|
-
|
|
4
|
-
> Questo nodo è in **BETA**: funziona, ma alcuni dettagli potrebbero cambiare tra una release e l'altra.
|
|
5
|
-
|
|
6
|
-
## Panoramica
|
|
7
|
-
|
|
8
|
-
Il nodo Matter Device fa da ponte tra un **dispositivo Matter** e gli **indirizzi di gruppo KNX**. Il nodo opera tramite il nodo di configurazione *Matter Controller*, che associa (commissiona) i dispositivi nella propria fabric Matter.
|
|
9
|
-
|
|
10
|
-
- **Controlla** qualsiasi dispositivo Matter associato dal bus KNX (on/off, dimmerazione, tapparelle, termostati, serrature, ...).
|
|
11
|
-
- **Riporta** ogni attributo del dispositivo sugli indirizzi di gruppo KNX (stati, sensori, misure di potenza, batteria...).
|
|
12
|
-
- Completamente generico: la lista delle mappature è costruita dagli **endpoint/cluster reali** esposti dal dispositivo.
|
|
13
|
-
|
|
14
|
-
## Configurazione
|
|
15
|
-
|
|
16
|
-
|Campo|Descrizione|
|
|
17
|
-
|--|--|
|
|
18
|
-
| GW KNX | Gateway KNX usato per i telegrammi |
|
|
19
|
-
| Ctrl Matter | Il nodo di configurazione Matter Controller (dove associ i dispositivi) |
|
|
20
|
-
| Dispositivo | Scegli il dispositivo Matter associato dalla lista con autocompletamento |
|
|
21
|
-
| Mappature | Una riga per ogni mappatura indirizzo di gruppo ↔ cluster Matter |
|
|
22
|
-
| Leggi lo stato all'avvio | Se abilitato, il nodo emette i valori correnti in cache al deploy/connessione |
|
|
23
|
-
| PIN Input/Output del nodo | Abilita i pin input/output Node-RED per l'accesso Matter grezzo |
|
|
24
|
-
|
|
25
|
-
## Mappature
|
|
26
|
-
|
|
27
|
-
La lista delle destinazioni mostra le funzioni supportate con nomi comprensibili come *"Interruttore On/Off"* o *"Potenza istantanea consumata (W)"*, filtrate su ciò che il dispositivo espone realmente e con il valore attuale tra parentesi quadre.
|
|
28
|
-
|
|
29
|
-
Ogni riga di mappatura ha una **direzione**:
|
|
30
|
-
|
|
31
|
-
- **KNX → Matter (comando)**: un telegramma ricevuto sull'indirizzo di gruppo invoca un comando del cluster Matter o scrive un attributo. Esempio: GA `1/1/1` DPT 1.001 → `OnOff.on/off` (il payload booleano seleziona automaticamente on oppure off).
|
|
32
|
-
- **Matter → KNX (stato)**: quando l'attributo Matter sottoscritto cambia, il valore viene convertito e scritto sull'indirizzo di gruppo. Le richieste `GroupValue_Read` ricevono in risposta il valore in cache.
|
|
33
|
-
|
|
34
|
-
I cluster più comuni vengono convertiti automaticamente in valori adatti a KNX:
|
|
35
|
-
|
|
36
|
-
|Cluster|Conversione|
|
|
37
|
-
|--|--|
|
|
38
|
-
| OnOff | booleano (DPT 1.001) |
|
|
39
|
-
| LevelControl | 0-254 ↔ percentuale (DPT 5.001) |
|
|
40
|
-
| WindowCovering | percent100ths ↔ percentuale (DPT 5.001), su/giù (DPT 1.008) |
|
|
41
|
-
| ColorControl | mired ↔ Kelvin (DPT 7.600) |
|
|
42
|
-
| Thermostat | centi-°C ↔ °C (DPT 9.001) |
|
|
43
|
-
| Temperatura/Umidità | centi-unità ↔ unità (DPT 9.001/9.007) |
|
|
44
|
-
| Luminosità | scala logaritmica ↔ Lux (DPT 9.004) |
|
|
45
|
-
| PowerSource | mezzi-percento ↔ percentuale batteria (DPT 5.001) |
|
|
46
|
-
| Potenza/Energia elettrica | mW ↔ W (DPT 14.056), mWh ↔ kWh (DPT 13.013) |
|
|
47
|
-
|
|
48
|
-
Gli altri cluster/attributi passano senza conversione; il DPT che scegli esegue la codifica KNX finale.
|
|
49
|
-
|
|
50
|
-
## PIN del nodo
|
|
51
|
-
|
|
52
|
-
Se abiliti i PIN del nodo:
|
|
53
|
-
|
|
54
|
-
- **Input**: invia comandi grezzi: `msg.payload = { endpointId: 1, clusterId: 6, command: "toggle" }` oppure scritture di attributi: `msg.payload = { endpointId: 1, clusterId: 8, attribute: "onLevel", value: 128 }`
|
|
55
|
-
- **Output**: riceve ogni variazione di attributo (`msg.matter` contiene l'evento completo) e ogni evento dei cluster (pressioni di pulsanti ecc.).
|
|
56
|
-
</script>
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"knxUltimateMatterDevice": {
|
|
3
|
-
"title": "Dispositivo Matter (BETA)",
|
|
4
|
-
"paletteLabel": "Matter Device (BETA)",
|
|
5
|
-
"matter_controller": "Ctrl Matter",
|
|
6
|
-
"matter_device": "Dispositivo",
|
|
7
|
-
"device_placeholder": "Clicca per scegliere un dispositivo Matter associato",
|
|
8
|
-
"mapping_help": "Aggiungi una riga per ogni mappatura. \"KNX → Matter\" invoca un comando del cluster (o scrive un attributo) quando arriva un telegramma sull'indirizzo di gruppo. \"Matter → KNX\" scrive il valore dell'attributo sull'indirizzo di gruppo ad ogni variazione (le richieste di lettura ricevono il valore in cache).",
|
|
9
|
-
"select_target": "-- seleziona la destinazione Matter --",
|
|
10
|
-
"stored_target": "Salvato",
|
|
11
|
-
"read_status_startup": "Leggi lo stato all'avvio",
|
|
12
|
-
"opt_yes_emit": "Sì, ed emetti i telegrammi KNX.",
|
|
13
|
-
"opt_no": "No",
|
|
14
|
-
"node_pins": "PIN Input/Output del nodo",
|
|
15
|
-
"node_pins_hide": "Nascondi",
|
|
16
|
-
"node_pins_show": "Mostra i PIN input/output del nodo",
|
|
17
|
-
"direction": {
|
|
18
|
-
"command": "KNX → Matter (comando)",
|
|
19
|
-
"status": "Matter → KNX (stato)"
|
|
20
|
-
},
|
|
21
|
-
"fields": {
|
|
22
|
-
"direction": "Direzione",
|
|
23
|
-
"target": "Endpoint / cluster / destinazione Matter",
|
|
24
|
-
"ga": "Indirizzo di gruppo",
|
|
25
|
-
"dpt": "DPT",
|
|
26
|
-
"ganame": "Nome"
|
|
27
|
-
},
|
|
28
|
-
"no_simple_targets": "Nessuna funzione supportata trovata su questo dispositivo (o il dispositivo non è ancora connesso).",
|
|
29
|
-
"endpoint": "Endpoint",
|
|
30
|
-
"friendly": {
|
|
31
|
-
"onoff_switch": "Interruttore On/Off (accendi/spegni)",
|
|
32
|
-
"onoff_toggle": "Inverti stato (toggle)",
|
|
33
|
-
"onoff_state": "Stato On/Off",
|
|
34
|
-
"level_set": "Imposta luminosità / livello (%)",
|
|
35
|
-
"level_state": "Luminosità / livello attuale (%)",
|
|
36
|
-
"colortemp_set": "Imposta temperatura colore (Kelvin)",
|
|
37
|
-
"colortemp_state": "Temperatura colore attuale (Kelvin)",
|
|
38
|
-
"cover_updown": "Tapparella Su/Giù",
|
|
39
|
-
"cover_stop": "Tapparella Stop",
|
|
40
|
-
"cover_position_set": "Porta tapparella in posizione (%)",
|
|
41
|
-
"cover_position_state": "Posizione attuale tapparella (%)",
|
|
42
|
-
"cover_tilt_set": "Inclina lamelle (%)",
|
|
43
|
-
"cover_tilt_state": "Inclinazione attuale lamelle (%)",
|
|
44
|
-
"thermo_localtemp": "Temperatura ambiente (°C)",
|
|
45
|
-
"thermo_heatsp_set": "Imposta setpoint riscaldamento (°C)",
|
|
46
|
-
"thermo_coolsp_set": "Imposta setpoint raffrescamento (°C)",
|
|
47
|
-
"thermo_heatsp_state": "Setpoint riscaldamento (°C)",
|
|
48
|
-
"thermo_coolsp_state": "Setpoint raffrescamento (°C)",
|
|
49
|
-
"fan_speed_set": "Imposta velocità ventola (%)",
|
|
50
|
-
"fan_speed_state": "Velocità ventola attuale (%)",
|
|
51
|
-
"lock_cmd": "Blocca/Sblocca serratura",
|
|
52
|
-
"lock_state": "Stato serratura (bloccata)",
|
|
53
|
-
"temp_measured": "Temperatura misurata (°C)",
|
|
54
|
-
"humidity_measured": "Umidità relativa (%)",
|
|
55
|
-
"illuminance_measured": "Luminosità ambiente (Lux)",
|
|
56
|
-
"occupancy_state": "Presenza rilevata",
|
|
57
|
-
"contact_state": "Stato contatto (chiuso/aperto)",
|
|
58
|
-
"battery_percent": "Livello batteria (%)",
|
|
59
|
-
"power_active": "Potenza istantanea consumata (W)",
|
|
60
|
-
"power_voltage": "Tensione (V)",
|
|
61
|
-
"power_current": "Corrente (A)",
|
|
62
|
-
"energy_imported": "Energia consumata (kWh)",
|
|
63
|
-
"identify_cmd": "Identifica dispositivo (lampeggio)",
|
|
64
|
-
"switch_position": "Posizione pulsante"
|
|
65
|
-
},
|
|
66
|
-
"devtype": {
|
|
67
|
-
"onofflight": "Luce On/Off",
|
|
68
|
-
"dimmablelight": "Luce dimmerabile",
|
|
69
|
-
"colortemperaturelight": "Luce bianco dinamico",
|
|
70
|
-
"extendedcolorlight": "Luce colorata",
|
|
71
|
-
"onoffpluginunit": "Presa (on/off)",
|
|
72
|
-
"dimmablepluginunit": "Presa (dimmerabile)",
|
|
73
|
-
"smartplug": "Presa smart",
|
|
74
|
-
"contactsensor": "Sensore contatto",
|
|
75
|
-
"lightsensor": "Sensore luminosità",
|
|
76
|
-
"occupancysensor": "Sensore presenza",
|
|
77
|
-
"temperaturesensor": "Sensore temperatura",
|
|
78
|
-
"humiditysensor": "Sensore umidità",
|
|
79
|
-
"pressuresensor": "Sensore pressione",
|
|
80
|
-
"flowsensor": "Sensore flusso",
|
|
81
|
-
"doorlock": "Serratura",
|
|
82
|
-
"windowcovering": "Tapparella/Tenda",
|
|
83
|
-
"thermostat": "Termostato",
|
|
84
|
-
"fan": "Ventilatore",
|
|
85
|
-
"genericswitch": "Pulsante/Interruttore",
|
|
86
|
-
"airqualitysensor": "Sensore qualità aria",
|
|
87
|
-
"smokecoalarm": "Rilevatore fumo/CO",
|
|
88
|
-
"waterleakdetector": "Rilevatore perdite acqua",
|
|
89
|
-
"roomairconditioner": "Condizionatore",
|
|
90
|
-
"airpurifier": "Purificatore aria",
|
|
91
|
-
"speaker": "Altoparlante",
|
|
92
|
-
"pumpcontroller": "Pompa",
|
|
93
|
-
"onofflightswitch": "Interruttore luce",
|
|
94
|
-
"dimmerswitch": "Interruttore dimmer",
|
|
95
|
-
"colordimmerswitch": "Interruttore dimmer colore",
|
|
96
|
-
"powersource": "Alimentazione",
|
|
97
|
-
"electricalsensor": "Sensore elettrico",
|
|
98
|
-
"bridgednode": "Dispositivo bridged",
|
|
99
|
-
"aggregator": "Bridge/Aggregatore",
|
|
100
|
-
"rootnode": "Nodo radice"
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
"common": {
|
|
104
|
-
"ga": "GA",
|
|
105
|
-
"dpt": "DPT",
|
|
106
|
-
"name": "Nome",
|
|
107
|
-
"knx_gw": "GW KNX"
|
|
108
|
-
}
|
|
109
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
<script type="text/markdown" data-help-name="knxUltimateMatterDevice">
|
|
2
|
-
# Matter 设备 (BETA)
|
|
3
|
-
|
|
4
|
-
> 此节点处于 **BETA** 阶段:可以正常工作,但细节可能在版本之间发生变化。
|
|
5
|
-
|
|
6
|
-
## 概述
|
|
7
|
-
|
|
8
|
-
Matter Device 节点在 **Matter 设备**和 **KNX 组地址**之间架起桥梁。该节点通过 *Matter 控制器*配置节点工作,后者将设备调试进自己的 Matter fabric。
|
|
9
|
-
|
|
10
|
-
- 从 KNX 总线**控制**任何已配对的 Matter 设备(开/关、调光、窗帘、温控器、门锁等)。
|
|
11
|
-
- 在 KNX 组地址上**跟踪**设备的每个属性(状态反馈、传感器、功率测量、电池等)。
|
|
12
|
-
- 完全通用:映射列表基于设备**真实暴露的端点/集群**构建。
|
|
13
|
-
|
|
14
|
-
## 配置
|
|
15
|
-
|
|
16
|
-
|字段|说明|
|
|
17
|
-
|--|--|
|
|
18
|
-
| KNX 网关 | 用于报文的 KNX 网关 |
|
|
19
|
-
| Matter 控制器 | Matter 控制器配置节点(在那里配对设备) |
|
|
20
|
-
| 设备 | 通过自动补全选择已配对的 Matter 设备 |
|
|
21
|
-
| 映射 | 每行一个组地址 ↔ Matter 集群映射 |
|
|
22
|
-
| 启动时读取状态 | 启用后,节点在部署/连接时发送当前缓存的值 |
|
|
23
|
-
| 节点输入/输出引脚 | 启用 Node-RED 引脚以进行原始 Matter 访问 |
|
|
24
|
-
|
|
25
|
-
## 映射
|
|
26
|
-
|
|
27
|
-
目标列表以易懂的名称显示支持的功能,例如*"开/关"*或*"瞬时功率 (W)"*,按设备实际暴露的功能过滤,并在方括号中显示当前值。
|
|
28
|
-
|
|
29
|
-
每行映射有一个**方向**:
|
|
30
|
-
|
|
31
|
-
- **KNX → Matter(命令)**:组地址上收到的报文调用 Matter 集群命令或写入属性。示例:GA `1/1/1` DPT 1.001 → `OnOff.on/off`(布尔值自动选择开或关)。
|
|
32
|
-
- **Matter → KNX(状态)**:订阅的 Matter 属性变化时,其值被转换并写入组地址。`GroupValue_Read` 请求以缓存值应答。
|
|
33
|
-
|
|
34
|
-
常见集群自动转换为适合 KNX 的值:
|
|
35
|
-
|
|
36
|
-
|集群|转换|
|
|
37
|
-
|--|--|
|
|
38
|
-
| OnOff | 布尔 (DPT 1.001) |
|
|
39
|
-
| LevelControl | 0-254 ↔ 百分比 (DPT 5.001) |
|
|
40
|
-
| WindowCovering | percent100ths ↔ 百分比 (DPT 5.001),上/下 (DPT 1.008) |
|
|
41
|
-
| ColorControl | mireds ↔ 开尔文 (DPT 7.600) |
|
|
42
|
-
| Thermostat | 厘°C ↔ °C (DPT 9.001) |
|
|
43
|
-
| 温度/湿度 | 厘单位 ↔ 单位 (DPT 9.001/9.007) |
|
|
44
|
-
| 照度 | 对数刻度 ↔ Lux (DPT 9.004) |
|
|
45
|
-
| PowerSource | 半百分比 ↔ 电池百分比 (DPT 5.001) |
|
|
46
|
-
| 电功率/电能 | mW ↔ W (DPT 14.056),mWh ↔ kWh (DPT 13.013) |
|
|
47
|
-
|
|
48
|
-
其他集群/属性原样传递;您选择的 DPT 执行最终的 KNX 编码。
|
|
49
|
-
|
|
50
|
-
## 节点引脚
|
|
51
|
-
|
|
52
|
-
如果启用节点引脚:
|
|
53
|
-
|
|
54
|
-
- **输入**:发送原始命令:`msg.payload = { endpointId: 1, clusterId: 6, command: "toggle" }` 或属性写入:`msg.payload = { endpointId: 1, clusterId: 8, attribute: "onLevel", value: 128 }`
|
|
55
|
-
- **输出**:接收每个属性变化(`msg.matter` 包含完整事件)和每个集群事件(按钮按下等)。
|
|
56
|
-
</script>
|