{
    i18n: true,
    type: 'panel',
    label: 'main settings',
    items: {
        _checkConfig: {
            // this component is not visible in the UI
            // it checks the configuration
            type: 'custom',
            bundlerType: 'module',
            i18n: true,
            url: 'custom/customComponents.js',
            name: 'ConfigCustomBackItUpSet/Components/CheckAllConfigInvisible',
        },
        _header1: {
            type: 'header',
            text: 'What to backup',
            xs: 12,
            sm: 12,
            md: 12,
            lg: 12,
            xl: 12,
            size: 2,
        },
        minimalEnabled: {
            type: 'custom',
            bundlerType: 'module',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            i18n: true,
            url: 'custom/customComponents.js',
            name: 'ConfigCustomBackItUpSet/Components/AdapterExist',
            label: 'ioBroker',
            custom: {
                adapter: 'backitup',
            },
        },
        ccuEnabled: {
            type: 'custom',
            bundlerType: 'module',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            i18n: true,
            url: 'custom/customComponents.js',
            name: 'ConfigCustomBackItUpSet/Components/AdapterExist',
            custom: {
                adapter: 'hm-rpc',
            },
            label: 'Homematic CCU',
        },
        redisEnabled: {
            // todo: check if object or states use redis and hide if not
            type: 'checkbox',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            label: 'Redis',
        },
        javascriptsEnabled: {
            disabled: "data.hostType === 'Slave'",
            type: 'custom',
            bundlerType: 'module',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            i18n: true,
            url: 'custom/customComponents.js',
            name: 'ConfigCustomBackItUpSet/Components/AdapterExist',
            label: 'JavaScripts',
            title: 'BackItUp Information',
            custom: {
                adapter: 'javascript',
                allHosts: true,
                alert: 'The JavaScript Adapter scripts are already saved in the ioBroker backup.\nThis option is just an additional option to be able to restore the scripts individually if necessary.',
            },
        },
        zigbee2mqttEnabled: {
            type: 'custom',
            bundlerType: 'module',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            i18n: true,
            url: 'custom/customComponents.js',
            name: 'ConfigCustomBackItUpSet/Components/AdapterExist',
            label: 'Zigbee2MQTT',
            title: 'BackItUp Information',
            custom: {
                adapter: 'zigbee2mqtt',
                allHosts: true,
                alert: 'No Zigbee2MQTT Instance found on this host.\nPlease check your System.',
            },
        },
        zigbeeEnabled: {
            type: 'custom',
            bundlerType: 'module',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            i18n: true,
            url: 'custom/customComponents.js',
            name: 'ConfigCustomBackItUpSet/Components/AdapterExist',
            label: 'Zigbee Backup',
            title: 'BackItUp Information',
            custom: {
                adapter: 'zigbee',
                allHosts: true,
                alert: 'No Zigbee Instance found on this host.\nPlease check your System.',
            },
        },
        historyEnabled: {
            newLine: true,
            type: 'custom',
            bundlerType: 'module',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            i18n: true,
            url: 'custom/customComponents.js',
            name: 'ConfigCustomBackItUpSet/Components/AdapterExist',
            label: 'History Backup',
            title: 'BackItUp Information',
            custom: {
                adapter: 'history',
                allHosts: true,
                alert: 'No History Instance found on this host.\nPlease check your System.',
            },
        },
        influxDBEnabled: {
            type: 'custom',
            bundlerType: 'module',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            i18n: true,
            url: 'custom/customComponents.js',
            name: 'ConfigCustomBackItUpSet/Components/AdapterExist',
            label: 'InfluxDB Backup',
            title: 'BackItUp Information',
            custom: {
                adapter: 'influxdb',
                allHosts: true,
                alert: 'No InfluxDB Instance found on this host.\nPlease check your System.',
            },
        },
        mySqlEnabled: {
            type: 'custom',
            bundlerType: 'module',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            i18n: true,
            url: 'custom/customComponents.js',
            name: 'ConfigCustomBackItUpSet/Components/AdapterExist',
            label: 'MySQL Backup',
            title: 'BackItUp Information',
            custom: {
                adapter: 'sql',
                allHosts: true,
                alert: 'No SQL Instance found on this host.\nPlease check your System.',
            },
        },
        pgSqlEnabled: {
            type: 'custom',
            bundlerType: 'module',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            i18n: true,
            url: 'custom/customComponents.js',
            name: 'ConfigCustomBackItUpSet/Components/AdapterExist',
            label: 'PostgreSQL Backup',
            title: 'BackItUp Information',
            custom: {
                adapter: 'sql',
                allHosts: true,
                alert: 'No SQL Instance found on this host.\nPlease check your System.',
            },
        },
        sqliteEnabled: {
            type: 'custom',
            bundlerType: 'module',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            i18n: true,
            url: 'custom/customComponents.js',
            name: 'ConfigCustomBackItUpSet/Components/AdapterExist',
            label: 'SQLite3 backup',
            title: 'BackItUp Information',
            custom: {
                adapter: 'sql',
                allHosts: true,
                alert: 'No SQL Instance found on this host.\nPlease check your System.',
            },
        },
        grafanaEnabled: {
            type: 'checkbox',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            label: 'Grafana backup',
        },
        noderedEnabled: {
            newLine: true,
            type: 'custom',
            bundlerType: 'module',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            i18n: true,
            url: 'custom/customComponents.js',
            name: 'ConfigCustomBackItUpSet/Components/AdapterExist',
            label: 'Node-Red Backup',
            title: 'BackItUp Information',
            allHosts: true,
            custom: {
                adapter: 'node-red',
                allHosts: true,
                alert: 'No Node-Red Instance found on this host.\nPlease check your System.',
            },
        },
        yahkaEnabled: {
            type: 'custom',
            bundlerType: 'module',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            i18n: true,
            url: 'custom/customComponents.js',
            name: 'ConfigCustomBackItUpSet/Components/AdapterExist',
            label: 'Yahka (Homekit) Backup',
            title: 'BackItUp Information',
            custom: {
                adapter: 'yahka',
                allHosts: true,
                alert: 'No Yahka Instance found on this host.\nPlease check your System.',
            },
        },
        jarvisEnabled: {
            type: 'custom',
            bundlerType: 'module',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            i18n: true,
            url: 'custom/customComponents.js',
            name: 'ConfigCustomBackItUpSet/Components/AdapterExist',
            label: 'Jarvis Backup',
            title: 'BackItUp Information',
            custom: {
                adapter: 'jarvis',
                allHosts: true,
                alert: 'No Jarvis Instance found on this host.\nPlease check your System.',
            },
        },
        esphomeEnabled: {
            type: 'custom',
            bundlerType: 'module',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            i18n: true,
            url: 'custom/customComponents.js',
            name: 'ConfigCustomBackItUpSet/Components/AdapterExist',
            label: 'ESPHome',
            title: 'BackItUp Information',
            custom: {
                adapter: 'esphome',
                allHosts: true,
                alert: 'No ESP-Home Instance found on this host.\nPlease check your System.',
            },
        },
        _header2: {
            type: 'header',
            text: 'Storage location',
            xs: 12,
            sm: 12,
            md: 12,
            lg: 12,
            xl: 12,
            size: 2,
            color: '#fff',
        },
        cifsEnabled: {
            newLine: true,
            type: 'checkbox',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            label: 'NAS / Copy',
        },
        ftpEnabled: {
            type: 'checkbox',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            label: 'FTP',
        },
        dropboxEnabled: {
            type: 'checkbox',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            label: 'Dropbox',
        },
        googledriveEnabled: {
            type: 'checkbox',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            label: 'Google Drive',
        },
        webdavEnabled: {
            type: 'checkbox',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            label: 'WebDAV',
        },
        onedriveEnabled: {
            type: 'checkbox',
            xs: 12,
            sm: 6,
            md: 4,
            lg: 2,
            xl: 2,
            label: 'OneDrive',
        },
        _header3: {
            type: 'header',
            text: 'Some features of BackItUp require additional adapters and tools. For detailed information please read the documentation of BackItUp!',
            xs: 12,
            sm: 12,
            md: 12,
            lg: 12,
            xl: 12,
            size: 3,
        },
        _helpLink: {
            type: 'staticLink',
            button: true,
            variant: 'outlined',
            icon: 'info',
            label: 'Show adapter documentation',
            href: 'https://github.com/simatec/ioBroker.backitup/blob/master/README.md#iobrokerbackitup',
            newLine: true,
            xs: 12,
            sm: 12,
            md: 12,
            lg: 12,
            xl: 12,
        },
        _helpLine2: {
            newLine: true,
            type: 'divider',
            color: 'primary',
        },
        _donateTxt: {
            type: 'staticText',
            text: 'If you like this project and would like to support its development, you are welcome to leave a donation.',
            newLine: true,
        },
        _donate: {
            type: 'staticImage',
            tooltip: 'PayPal.Me',
            noTranslation: true,
            href: 'https://paypal.me/mk1676',
            src: 'https://img.shields.io/badge/paypal-donate%20%7C%20spenden-blue.svg',
            newLine: true,
            xs: 7,
            sm: 3,
            md: 3,
            lg: 1.2,
            xl: 1.2,
        },
        _githubSponsor: {
            type: 'staticImage',
            tooltip: 'GitHub Sponsors',
            noTranslation: true,
            href: 'https://github.com/sponsors/simatec',
            src: 'https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86',
            xs: 5,
            sm: 2,
            md: 2,
            lg: 0.8,
            xl: 0.8,
        },
    },
}
