{
  "knxUltimateIoTBridge": {
    "title": "MQTT Home Assistant - IoT",
    "paletteLabel": "MQTT Home Assistant - IoT",
    "node-input-server": "Gateway KNX",
    "node-input-name": "Nombre",
    "node-input-outputtopic": "Tema predeterminado para salidas",
    "node-input-emitOnChangeOnly": "Emitir KNX→IoT solo cuando el valor cambie",
    "node-input-readOnDeploy": "Leer valores KNX al desplegar",
    "node-input-acceptFlowInput": "Aceptar entrada del flujo (IoT → KNX)",
    "node-input-nodeMode": "Modo",
    "mode": {
      "iot": "Bridge IoT (mensajes MQTT/REST/Modbus)",
      "homeassistant": "MQTT / Home Assistant (nativo)"
    },
    "ha": {
      "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.",
      "broker_url": "URL del broker",
      "username": "Usuario",
      "password": "Contraseña",
      "optional": "(opcional)",
      "base_topic": "Topic base",
      "discovery": "Publicar descubrimiento de Home Assistant",
      "discovery_prefix": "Prefijo de descubrimiento",
      "name_format": "Formato del nombre de entidad",
      "name_format_full": "Como se importó de ETS: (Grupo principal->Grupo intermedio) Nombre",
      "name_format_name_first": "Nombre primero: Nombre (Grupo principal->Grupo intermedio)",
      "name_format_name_only": "Solo el nombre (eliminar la ruta ETS)",
      "name_format_name_ga": "Nombre + dirección de grupo: Nombre (1/2/3)",
      "name_format_hint": "Cómo se construyen los nombres de las entidades de Home Assistant a partir de los nombres importados de ETS, que empiezan por la ruta de grupos.",
      "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.",
      "exposed_gas": "Direcciones de grupo a exponer",
      "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í.",
      "filter_placeholder": "Filtrar por dirección o nombre…",
      "select_all": "Seleccionar todo",
      "select_none": "Deseleccionar todo",
      "exposed_count": "seleccionadas",
      "read_only": "Solo lectura",
      "read_only_bulk": "Solo lectura para las direcciones mostradas:",
      "read_only_all": "Marcar solo lectura",
      "read_only_none": "Quitar solo lectura",
      "bus_mode": "Conexión al bus KNX",
      "bus_standalone": "Autónomo (a través del gateway)",
      "bus_flow": "Mensajes de flujo (pines entrada/salida)",
      "bus_flow_hint": "Conecta un nodo KNXUltimate en modo Universal al pin de entrada (KNX → MQTT) y otro al pin de salida (MQTT → KNX).",
      "no_gateway": "Selecciona primero una pasarela KNX.",
      "no_ga": "No se encontraron direcciones de grupo. Importa la lista ETS en la pasarela KNX.",
      "csv_error": "No se pudo cargar la lista de direcciones de grupo desde la pasarela.",
      "custom_entities": "Persianas y termostatos",
      "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.",
      "ce_type_cover": "Persiana",
      "ce_type_climate": "Termostato",
      "ce_name": "Nombre de la entidad",
      "ce_gaUpDown": "GA subir/bajar (1.008)",
      "ce_gaStop": "GA stop (1.007)",
      "ce_gaPosSet": "GA fijar posición (5.001)",
      "ce_gaPosState": "GA estado posición (5.001)",
      "ce_invertPosition": "Invertir posición (KNX 0% = abierto)",
      "ce_gaCurrentTemp": "GA temperatura actual (9.001)",
      "ce_gaSetpointSet": "GA fijar consigna (9.001)",
      "ce_gaSetpointState": "GA estado consigna (9.001)",
      "ce_gaOnOff": "GA on/off (1.001)",
      "ce_minTemp": "Temperatura mín",
      "ce_maxTemp": "Temperatura máx",
      "ce_tempStep": "Paso de temperatura"
    },
    "section_mappings": "Mapeos del bridge",
    "mapping": {
      "enabled": "Activar",
      "timeout": "Tiempo de espera (ms)",
      "retry": "Reintentos"
    },
    "fields": {
      "label": "Nombre",
      "ga": "Dirección de grupo",
      "dpt": "DPT",
      "direction": "Dirección",
      "channel": "Canal",
      "target": "Destino",
      "method": "Método HTTP",
      "modbusFunction": "Función Modbus",
      "modbusMessageFormat": "Formato del mensaje Modbus",
      "modbusUnitId": "Unit ID",
      "modbusArea": "Área Modbus",
      "modbusDataType": "Tipo de dato",
      "scale": "Escala",
      "offset": "Offset",
      "timeout": "Tiempo de espera (ms)",
      "retry": "Reintentos",
      "template": "Plantilla",
      "property": "Propiedad/ruta"
    },
    "direction": {
      "bidirectional": "KNX ↔ IoT",
      "knx-to-iot": "KNX → IoT",
      "iot-to-knx": "IoT → KNX"
    },
    "type": {
      "mqtt": "MQTT",
      "rest": "REST",
      "modbus": "Modbus"
    },
    "placeholders": {
      "label": "Nombre o alias",
      "ga": "1/2/3",
      "dpt": "1.001",
      "target": "Tema, URL o registro",
      "target_mqtt": "Tema, p. ej. knx/light/living",
      "target_rest": "https://example/api/endpoint",
      "target_modbus": "Dirección desde cero (p. ej. 0)",
      "template": "{\"value\":{{value}}}",
      "property": "Propiedad/ruta opcional",
      "method": "POST",
      "modbusFunction": "writeHoldingRegister"
    },
    "fieldVariants": {
      "target": {
        "default": "Destino",
        "mqtt": "Topic MQTT",
        "rest": "URL REST",
        "modbus": "Dirección Modbus (desde cero)"
      },
      "method": {
        "default": "Método HTTP",
        "rest": "Método HTTP"
      },
      "modbusFunction": {
        "default": "Función Modbus",
        "modbus": "Función Modbus"
      }
    },
    "modbus": {
      "formatLegacy": "Mensaje escalar heredado",
      "formatFlex": "Compatible con Flex Write",
      "areaCoil": "Coil (lectura FC1 / escritura FC5)",
      "areaDiscreteInput": "Discrete input (lectura FC2 solamente)",
      "areaHoldingRegister": "Holding register (lectura FC3 / escritura FC6)",
      "areaInputRegister": "Input register (lectura FC4 solamente)",
      "dataTypeBool": "Booleano",
      "dataTypeUint16": "16 bits sin signo",
      "dataTypeInt16": "16 bits con signo",
      "zeroBasedHint": "Usa la dirección de protocolo desde cero (0–65535), no la referencia 4xxxx que aparece en algunos manuales.",
      "flexHint": "Flex emite msg.payload = {value,fc,unitid,address,quantity}, conectable directamente a modbus-flex-write.",
      "readOnlyHint": "Los discrete inputs e input registers son de solo lectura y únicamente admiten Modbus → KNX."
    },
    "labels": {
      "outputKnxToIoT": "Flujo KNX → IoT",
      "outputIoTToKnx": "Confirmaciones IoT → KNX",
      "inputKnxBus": "Entrada bus KNX (desde un nodo Universal)",
      "outputKnxWrite": "Salida escritura KNX (hacia un nodo Universal)"
    }
  }
}
