{
    "i18n": true,
    "type": "panel",
    "items": {
        "header": {
            "type": "header",
            "text": "Volumio Adapter Configuration",
            "size": 4
        },
        "host": {
            "type": "text",
            "label": "Volumino Host Address",
            "default": "volumio.local",
            "newLine": true,
            "xs": 12,
            "sm": 12,
            "md": 6,
            "lg": 4,
            "xl": 4
        },
        "apiMode": {
            "type": "select",
            "label": "API Mode",
            "options": [
                {
                    "value": "websocket",
                    "label": "WebSocket (recommended)"
                },
                {
                    "value": "rest",
                    "label": "REST API"
                }
            ],
            "default": "websocket",
            "newLine": true,
            "xs": 12,
            "sm": 12,
            "md": 6,
            "lg": 4,
            "xl": 4
        },
        "apiModeDescription": {
            "type": "staticText",
            "text": "WebSocket mode provides real-time updates and is more efficient. REST mode uses polling to check for state changes.",
            "newLine": true,
            "xs": 12,
            "sm": 12,
            "md": 12,
            "lg": 12,
            "xl": 12
        },
        "pollInterval": {
            "type": "number",
            "label": "Poll interval (seconds)",
            "min": 1,
            "max": 60,
            "default": 2,
            "hidden": "data.apiMode !== 'rest'",
            "help": "How often to check for state changes in REST mode",
            "newLine": true,
            "xs": 12,
            "sm": 12,
            "md": 6,
            "lg": 4,
            "xl": 4
        },
        "reconnectAttempts": {
            "type": "number",
            "label": "Reconnection attempts",
            "min": 1,
            "max": 20,
            "default": 5,
            "hidden": "data.apiMode !== 'websocket'",
            "help": "Number of times to try reconnecting after connection loss",
            "newLine": true,
            "xs": 12,
            "sm": 12,
            "md": 6,
            "lg": 4,
            "xl": 4
        },
        "reconnectDelay": {
            "type": "number",
            "label": "Reconnection delay (seconds)",
            "min": 1,
            "max": 30,
            "default": 2,
            "hidden": "data.apiMode !== 'websocket'",
            "help": "Wait time between reconnection attempts",
            "xs": 12,
            "sm": 12,
            "md": 6,
            "lg": 4,
            "xl": 4
        },
        "dividerApi": {
            "type": "divider",
            "height": 3,
            "newLine": true
        },
        "checkConnection": {
            "type": "checkbox",
            "label": "Check connection to Volumio",
            "default": true,
            "newLine": true,
            "xs": 12,
            "sm": 12,
            "md": 6,
            "lg": 4,
            "xl": 4
        },
        "checkConnectionInterval": {
            "type": "number",
            "label": "Interval in s",
            "default": 30,
            "disabled": "!data.checkConnection",
            "newLine": true,
            "xs": 12,
            "sm": 12,
            "md": 6,
            "lg": 4,
            "xl": 4
        },
        "divider1": {
            "type": "divider",
            "height": 3,
            "newLine": true
        },
        "volumeSteps": {
            "type": "number",
            "label": "Volume steps",
            "min": 1,
            "max": 100,
            "default": 5,
            "newLine": true,
            "xs": 12,
            "sm": 12,
            "md": 6,
            "lg": 4,
            "xl": 4
        },
        "divider2": {
            "type": "divider",
            "height": 3,
            "newLine": true

        },
        "descriptionForSubscribeToStateChanges": {
            "type": "staticText",
            "text": "DEPRECATED: HTTP Push notifications are only available in REST mode. For real-time updates, use WebSocket mode instead.\nVolumio can notify via POST calls when state changes. This requires REST mode to be enabled.",
            "newLine": true,
            "hidden": "data.apiMode !== 'rest'",
            "xs": 12,
            "sm": 12,
            "md": 12,
            "lg": 12,
            "xl": 12
        },
        "subscribeToStateChanges": {
            "type": "checkbox",
            "label": "Subscribe to player state changes (deprecated)",
            "default": false,
            "hidden": "data.apiMode !== 'rest'",
            "newLine": true,
            "xs": 12,
            "sm": 12,
            "md": 6,
            "lg": 4,
            "xl": 4
        },
        "subscriptionPort": {
            "type": "number",
            "label": "Subscription port",
            "default": 3042,
            "disabled": "!data.subscribeToStateChanges",
            "hidden": "data.apiMode !== 'rest'",
            "newLine": true,
            "xs": 12,
            "sm": 12,
            "md": 6,
            "lg": 4,
            "xl": 4
        }
    }
}