{
    "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 accept 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",
                    "hidden": "!!data.assistantInstance"
                },
                "assistantInstance": {
                    "newLine": true,
                    "type": "instance",
                    "adapter": "assistant",
                    "xs": 12,
                    "sm": 12,
                    "md": 4,
                    "lg": 4,
                    "xl": 4,
                    "label": "assistant instance",
                    "hidden": "!!data.text2command",
                    "help": "Forward messages that no internal rule/command matched to this ioBroker.assistant instance and reply with its answer."
                },
                "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",
                    "guiApi": 2,
                    "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"
                }
            }
        }
    }
}
