{
  "i18n": false,
  "type": "panel",
  "items": {
    "username": {
      "type": "text",
      "label": {
        "en": "Garmin Email",
        "de": "Garmin E-Mail",
        "ru": "Электронная почта Garmin",
        "pt": "Email Garmin",
        "nl": "Garmin e-mail",
        "fr": "Courriel Garmin",
        "it": "E-mail Garmin",
        "es": "Correo electrónico Garmin",
        "pl": "E-mail Garmin",
        "zh-cn": "Garmin电子邮件"
      },
      "newLine": true,
      "sm": 6
    },
    "password": {
      "type": "password",
      "newLine": true,
      "repeat": false,
      "visible": true,
      "sm": 6,
      "label": {
        "en": "Garmin Password",
        "de": "Garmin Passwort",
        "ru": "Пароль Garmin",
        "pt": "Senha Garmin",
        "nl": "Garmin wachtwoord",
        "fr": "Mot de passe Garmin",
        "it": "Password Garmin",
        "es": "Contraseña Garmin",
        "pl": "Hasło Garmin",
        "zh-cn": "Garmin密码"
      }
    },
    "mfa": {
      "type": "text",
      "label": {
        "en": "MFA Code (only if required)",
        "de": "MFA-Code (nur wenn erforderlich)",
        "ru": "МФА-Код (только при необходимости)",
        "pt": "Código MFA (apenas se necessário)",
        "nl": "MFA-code (alleen indien nodig)",
        "fr": "Code MFA (uniquement si nécessaire)",
        "it": "Codice MFA (solo se richiesto)",
        "es": "Código MFA (solo si es necesario)",
        "pl": "Kod MFA (tylko jeśli wymagane)",
        "uk": "МФА-Код (тільки якщо потрібно)",
        "zh-cn": "MFA代码（仅在需要时）"
      },
      "newLine": true,
      "sm": 3
    },
    "interval": {
      "type": "number",
      "newLine": true,
      "min": 1,
      "sm": 3,
      "label": {
        "en": "Update interval (in minutes)",
        "de": "Aktualisierungsintervall (in Minuten)",
        "ru": "Интервал обновления (в минутах)",
        "pt": "Intervalo de atualização (em minutos)",
        "nl": "Update-interval (in minuten)",
        "fr": "Intervalle de mise à jour (en minutes)",
        "it": "Intervallo di aggiornamento (in minuti)",
        "es": "Intervalo de actualización (en minutos)",
        "pl": "Interwał aktualizacji (w minutach)",
        "zh-cn": "更新间隔（分钟）"
      }
    },
    "adhoc": {
      "type": "checkbox",
      "newLine": true,
      "sm": 6,
      "label": {
        "en": "Fetch Adhoc and Personal records",
        "de": "Adhoc und Personal records abrufen",
        "ru": "Получить Adhoc и Личные записи",
        "pt": "Buscar Adhoc e registros pessoais",
        "nl": "Haal Adhoc en Persoonlijke gegevens op",
        "fr": "Récupérer Adhoc et les dossiers personnels",
        "it": "Recupera Adhoc e Personal records",
        "es": "Obtener registros Adhoc y Personal",
        "pl": "Pobierz Adhoc i Personal records",
        "uk": "Отримати Adhoc та особисті записи",
        "zh-cn": "获取Adhoc和个人记录"
      }
    },
    "_filterHeader": {
      "type": "header",
      "newLine": true,
      "size": 2,
      "text": {
        "en": "Data Point Filter (Allowlist)",
        "de": "Datenpunkt-Filter (Allowlist)"
      }
    },
    "_filterInfo": {
      "type": "staticText",
      "newLine": true,
      "sm": 12,
      "text": {
        "en": "Leave all fields empty to save all data points. If any filter is set, only matching data points will be saved.",
        "de": "Alle Felder leer lassen um alle Datenpunkte zu speichern. Wenn ein Filter gesetzt ist, werden nur passende Datenpunkte gespeichert."
      }
    },
    "allowlistExactKeys": {
      "type": "text",
      "newLine": true,
      "sm": 12,
      "placeholder": "bmi, weight, bodyfat, bonemass",
      "label": {
        "en": "Exact field names (comma-separated)",
        "de": "Exakte Feldnamen (komma-separiert)"
      },
      "help": {
        "en": "Only the field name must match exactly (e.g. 'bmi' matches any field named 'bmi').",
        "de": "Nur der Feldname muss exakt passen (z.B. 'bmi' findet jedes Feld namens 'bmi')."
      }
    },
    "allowlistExactPaths": {
      "type": "text",
      "newLine": true,
      "sm": 12,
      "placeholder": "weight.dateweightlist.bmi, hydration.valueinml",
      "label": {
        "en": "Exact paths (comma-separated)",
        "de": "Exakte Pfade (komma-separiert)"
      },
      "help": {
        "en": "Use JSON paths WITHOUT array indices (e.g. 'weight.dateweightlist.bmi' NOT 'weight.dateweightlist01.bmi'). The '01' is added by ioBroker later.",
        "de": "Benutze JSON-Pfade OHNE Array-Indizes (z.B. 'weight.dateweightlist.bmi' NICHT 'weight.dateweightlist01.bmi'). Die '01' wird erst von ioBroker hinzugefuegt."
      }
    },
    "allowlistSearch": {
      "type": "text",
      "newLine": true,
      "sm": 12,
      "placeholder": "heart, sleep, stress",
      "label": {
        "en": "Search terms (comma-separated)",
        "de": "Suchbegriffe (komma-separiert)"
      },
      "help": {
        "en": "Partial match - any field containing the term will be saved (e.g. 'heart' matches 'heartRate', 'restingHeart').",
        "de": "Teilsuche - jedes Feld das den Begriff enthaelt wird gespeichert (z.B. 'heart' findet 'heartRate', 'restingHeart')."
      }
    }
  }
}
