{
  "i18n": true,
  "type": "tabs",
  "tabsStyle": {
    "width": "calc(100% - 100px)"
  },
  "items": {
    "_options": {
      "type": "panel",
      "label": "Main settings",
      "items": {
        "server": {
          "type": "select",
          "xs": 12,
          "sm": 12,
          "md": 3,
          "lg": 3,
          "xl": 3,
          "options": [
            {
              "label": "Polling",
              "value": "false"
            },
            {
              "label": "Server",
              "value": "true"
            }
          ],
          "default": "false",
          "label": "type"
        },
        "pollingInterval": {
          "hidden": "data.server === 'true'",
          "type": "number",
          "xs": 12,
          "sm": 12,
          "md": 5,
          "lg": 5,
          "xl": 5,
          "label": "Polling interval (ms)"
        },
        "token": {
          "newLine": true,
          "type": "text",
          "xs": 12,
          "sm": 12,
          "md": 8,
          "lg": 8,
          "xl": 8,
          "label": "token",
          "help": "Read README.md how to get token",
          "helpLink": "https://github.com/iobroker-community-adapters/ioBroker.telegram#iobroker-telegram-adapter"
        },
        "baseApiUrl": {
          "newLine": true,
          "type": "text",
          "xs": 12,
          "sm": 12,
          "md": 8,
          "lg": 8,
          "xl": 8,
          "label": "API URL"
        },
        "password": {
          "newLine": true,
          "type": "password",
          "repeat": true,
          "visible": false,
          "xs": 12,
          "sm": 12,
          "md": 8,
          "lg": 8,
          "xl": 8,
          "label": "password",
          "help": "Leave it blank if no password desired"
        },
        "rememberUsers": {
          "newLine": true,
          "type": "checkbox",
          "xs": 12,
          "sm": 12,
          "md": 8,
          "lg": 8,
          "xl": 8,
          "label": "Remember authenticated users"
        },
        "doNotAcceptNewUsers": {
          "newLine": true,
          "type": "checkbox",
          "xs": 12,
          "sm": 12,
          "md": 8,
          "lg": 8,
          "xl": 8,
          "label": "Do not authenticate new users"
        },
        "useUsername": {
          "newLine": true,
          "type": "checkbox",
          "xs": 12,
          "sm": 12,
          "md": 8,
          "lg": 8,
          "xl": 8,
          "label": "Store username instead of firstname of remembered users"
        },
        "saveFiles": {
          "newLine": true,
          "type": "checkbox",
          "xs": 12,
          "sm": 12,
          "md": 8,
          "lg": 8,
          "xl": 8,
          "label": "Save media files"
        },
        "saveFilesTo": {
          "newLine": true,
          "type": "select",
          "xs": 12,
          "sm": 12,
          "md": 4,
          "lg": 4,
          "xl": 4,
          "label": "Media file location",
          "hidden": "!data.saveFiles",
          "default": "filesystem",
          "options": [
            {
              "label": "File system",
              "value": "filesystem"
            },
            {
              "label": "ioBroker database",
              "value": "iobroker"
            }
          ]
        },
        "saveFilesQuality": {
          "type": "select",
          "xs": 12,
          "sm": 12,
          "md": 4,
          "lg": 4,
          "xl": 4,
          "label": "Quality of media files",
          "hidden": "!data.saveFiles",
          "default": "0",
          "options": [
            {
              "label": "All received files",
              "value": ""
            },
            {
              "label": "Low",
              "value": "0"
            },
            {
              "label": "Medium",
              "value": "1"
            },
            {
              "label": "High",
              "value": "2"
            },
            {
              "label": "High definition",
              "value": "3"
            }
          ]
        },
        "allowStates": {
          "newLine": true,
          "type": "checkbox",
          "xs": 12,
          "sm": 12,
          "md": 8,
          "lg": 8,
          "xl": 8,
          "label": "Allow state control"
        }
      }
    },
    "_messages": {
      "type": "panel",
      "label": "Messages",
      "items": {
        "restarted": {
          "newLine": true,
          "type": "text",
          "xs": 12,
          "sm": 12,
          "md": 4,
          "lg": 4,
          "xl": 4,
          "label": "restarted",
          "help": "restarted_help"
        },
        "restarting": {
          "type": "text",
          "xs": 12,
          "sm": 12,
          "md": 4,
          "lg": 4,
          "xl": 4,
          "label": "restarting",
          "help": "restarting_help"
        },
        "keyboard": {
          "newLine": true,
          "type": "text",
          "xs": 12,
          "sm": 12,
          "md": 4,
          "lg": 4,
          "xl": 4,
          "label": "Keyboard command",
          "help": "Command to show the keyboard"
        },
        "rooms": {
          "type": "checkbox",
          "xs": 12,
          "sm": 12,
          "md": 4,
          "lg": 4,
          "xl": 4,
          "label": "Use rooms in keyboard command",
          "help": "Show the list of rooms before the device selection"
        },
        "storeRawRequest": {
          "newLine": true,
          "type": "checkbox",
          "xs": 12,
          "sm": 12,
          "md": 8,
          "lg": 8,
          "xl": 8,
          "label": "Remember raw request data"
        },
        "text2command": {
          "newLine": true,
          "type": "instance",
          "adapter": "text2command",
          "xs": 12,
          "sm": 12,
          "md": 4,
          "lg": 4,
          "xl": 4,
          "label": "text2command instance",
          "help": "Text2Command info"
        },
        "answerTimeoutSec": {
          "newLine": true,
          "type": "number",
          "min": 5,
          "xs": 12,
          "sm": 12,
          "md": 4,
          "lg": 4,
          "xl": 4,
          "label": "Answer timeout (in seconds)",
          "help": "Time limit for users to answer questions"
        },
        "_custom": {
          "newLine": true,
          "type": "custom",
          "xs": 12,
          "sm": 12,
          "md": 6,
          "lg": 6,
          "xl": 6,
          "i18n": true,
          "url": "custom/customComponents.js",
          "name": "ConfigCustomTelegramSet/Components/TelegramComponent",
          "bundlerType": "module"
        }
      }
    },
    "_server": {
      "hidden": "data.server === 'false'",
      "hideOnlyControl": true,
      "type": "panel",
      "label": "Server settings",
      "items": {
        "url": {
          "newLine": true,
          "type": "text",
          "xs": 12,
          "sm": 12,
          "md": 9,
          "lg": 9,
          "xl": 9,
          "label": "url",
          "help": "url_help"
        },
        "bind": {
          "newLine": true,
          "type": "ip",
          "listenOnAllPorts": true,
          "xs": 12,
          "sm": 12,
          "md": 6,
          "lg": 6,
          "xl": 6,
          "label": "ip"
        },
        "port": {
          "type": "number",
          "min": 1,
          "max": 65565,
          "xs": 12,
          "sm": 12,
          "md": 3,
          "lg": 3,
          "xl": 3,
          "label": "port",
          "help": "port_help"
        },
        "certPublic": {
          "newLine": true,
          "type": "certificate",
          "certType": "public",
          "xs": 12,
          "sm": 12,
          "md": 3,
          "lg": 3,
          "xl": 3,
          "label": "public certificate"
        },
        "certPrivate": {
          "type": "certificate",
          "certType": "private",
          "xs": 12,
          "sm": 12,
          "md": 3,
          "lg": 3,
          "xl": 3,
          "label": "private certificate"
        },
        "certChained": {
          "type": "certificate",
          "certType": "chained",
          "xs": 12,
          "sm": 12,
          "md": 3,
          "lg": 3,
          "xl": 3,
          "label": "chained certificate"
        }
      }
    }
  }
}
