{
    "i18n": true,
    "type": "tabs",
    "tabsStyle": {
        "width": "calc(100% - 100px)"
    },
    "items": {
        "_options": {
            "type": "panel",
            "label": "Camera type",
            "items": {
                "cameraIp": {
                    "type": "text",
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "IP Address"
                },
                "cameraProtocol": {
                    "newLine": true,
                    "type": "select",
                    "label": "Protocol",
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "noTranslation": true,
                    "options": [
                        { "label": "https", "value": "https" },
                        { "label": "http", "value": "http" }
                    ]
                },
                "sslvalid": {
                    "type": "checkbox",
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "Validate SSL certificate"
                },
                "cameraChannel": {
                    "newLine": true,
                    "type": "number",
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "Channel"
                },
                "cameraUser": {
                    "newLine": true,
                    "type": "text",
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "User"
                },
                "cameraPassword": {
                    "type": "password",
                    "repeat": false,
                    "visible": false,
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "Password"
                },
                "UriEncodedPassword": {
                    "hidden": "!data.cameraPassword",
                    "type": "checkbox",
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "URI Encode password"
                },
                "isBatteryCam": {
                    "newLine": true,
                    "type": "checkbox",
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "Battery-powered camera (uses neolink)",
                    "help": "Enable for Argus 3 Pro, B400, D400, E1, and similar battery cameras"
                },
                "cameraUID": {
                    "hidden": "!data.isBatteryCam",
                    "type": "text",
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "Camera UID",
                    "help": "Required for battery cameras (find in Reolink app or camera settings)"
                },
                "cameraBatteryName": {
                    "hidden": "!data.isBatteryCam",
                    "type": "text",
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "Camera Name (for MQTT topics)",
                    "help": "Friendly name used in MQTT topics (e.g., 'Camera01', 'Argus3_Garden'). Default: Camera01"
                },
                "streamAutoDisableSeconds": {
                    "hidden": "!data.isBatteryCam",
                    "type": "number",
                    "min": 10,
                    "max": 3600,
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "Auto-disable stream after (seconds)",
                    "help": "Stream will automatically disable after this timeout to save battery (default: 30s)"
                },
                "mqttAutoDisableSeconds": {
                    "hidden": "!data.isBatteryCam",
                    "type": "number",
                    "min": 10,
                    "max": 3600,
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "Auto-disable MQTT after (seconds)",
                    "help": "MQTT will automatically disable after this timeout to save battery (default: 30s)"
                },
                "pauseTimeout": {
                    "hidden": "!data.isBatteryCam",
                    "type": "number",
                    "min": 1.0,
                    "max": 10.0,
                    "step": 0.1,
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "Stream pause timeout (seconds)",
                    "help": "How long to wait before pausing stream when no RTSP client connected (default: 2.1s, neolink setting)"
                },
                "mqttBroker": {
                    "hidden": "!data.isBatteryCam",
                    "newLine": true,
                    "type": "text",
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "MQTT Broker Host",
                    "help": "MQTT broker for motion detection and floodlight control (default: 127.0.0.1)"
                },
                "mqttPort": {
                    "hidden": "!data.isBatteryCam",
                    "type": "number",
                    "min": 1,
                    "max": 65535,
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "MQTT Broker Port",
                    "help": "MQTT broker port (default: 1883)"
                },
                "mqttUsername": {
                    "hidden": "!data.isBatteryCam",
                    "type": "text",
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "MQTT Username (optional)",
                    "help": "Leave empty if no authentication required"
                },
                "mqttPassword": {
                    "hidden": "!data.isBatteryCam",
                    "type": "password",
                    "repeat": false,
                    "visible": false,
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "MQTT Password (optional)",
                    "help": "Leave empty if no authentication required"
                }
            }
        },
        "_advanced": {
            "type": "panel",
            "label": "Advanced settings",
            "items": {
                "apiRefreshInterval": {
                    "type": "number",
                    "min": 1,
                    "max": 10000,
                    "xs": 12,
                    "sm": 12,
                    "md": 6,
                    "lg": 4,
                    "xl": 4,
                    "label": "Polling interval",
                    "help": "in seconds"
                }
            }
        }
    }
}
