{
  "$id": "ptz-control.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Reolink PTZ Control",
  "description": "Pan-tilt-zoom control parameters for the PtzCtrl command supporting directional movement, zoom, focus, and preset navigation.",
  "type": "object",
  "properties": {
    "channel": {
      "type": "integer",
      "description": "Camera channel number (starting from 0)",
      "minimum": 0
    },
    "op": {
      "type": "string",
      "description": "PTZ operation to perform",
      "enum": [
        "Stop",
        "Left",
        "Right",
        "Up",
        "Down",
        "LeftUp",
        "LeftDown",
        "RightUp",
        "RightDown",
        "ZoomInc",
        "ZoomDec",
        "FocusInc",
        "FocusDec",
        "ToPos",
        "Auto"
      ]
    },
    "speed": {
      "type": "integer",
      "description": "Movement speed from 1 (slowest) to 64 (fastest)",
      "minimum": 1,
      "maximum": 64
    },
    "id": {
      "type": "integer",
      "description": "Preset position ID used with the ToPos operation",
      "minimum": 0
    }
  },
  "required": ["channel", "op"]
}
