Каждый объект сервера принадлежит тому или иному классу(типу). Класс описывает возможные состояния объекта и методы, которые к нему применимы. Существует множество различных классов и чтобы узнать какому классу принадлежит объект, воспользуйтесь командой /objects. Для запроса параметров класса используется команда /classes.
Пример запроса:
https://192.168.1.200:8080/classes/Channel?sid=gbnVFUit
Подсказка
Обратите внимание, что названия классов (в нашем примере Channel) регистрозависимы.
Пример ответа сервера:
{
"possible_states_vector" : [
{
"name" : "signal",
"values" : [
"No Signal",
"Signal"
]
},
{
"name" : "motion",
"values" : [
"No Motion",
"Motion"
]
},
{
"name" : "recording",
"values" : [
"Not Recording",
"Recording"
]
},
{
"name" : "recording_on_device",
"values" : [
"Not Recording (on device)",
"Recording (on device)"
]
},
{
"name" : "sound_detector",
"values" : [
"Disabled",
"Silent",
"Loud"
]
}
],
"methods" : [
{
"name" : "record",
"parameters" : [
{
"name" : "turn_on_record",
"type" : "integer"
}
]
},
{
"name" : "record_on",
"parameters" : [
]
},
{
"name" : "record_off",
"parameters" : [
]
},
{
"name" : "set_watermark",
"parameters" : [
{
"name" : "watermark_text",
"type" : "string"
},
{
"name" : "watermark_position",
"type" : "integer"
},
{
"name" : "timestamp_position",
"type" : "integer"
}
]
},
{
"name" : "manual_record_start",
"parameters" : [
]
},
{
"name" : "manual_record_stop",
"parameters" : [
]
},
{
"name" : "ptz_preset",
"parameters" : [
{
"name" : "preset_n",
"type" : "integer"
}
]
},
{
"name" : "screenshot",
"parameters" : [
]
},
{
"name" : "screenshot_ex",
"parameters" : [
{
"name" : "timestamp",
"type" : "string"
},
{
"name" : "directory",
"type" : "string"
}
]
},
{
"name" : "screenshot_v2",
"parameters" : [
{
"name" : "time_YYYYMMDD_HHMMSS",
"type" : "string"
},
{
"name" : "screenshot_filename",
"type" : "string"
},
{
"name" : "screenshot_folder",
"type" : "string"
},
{
"name" : "make_thumb",
"type" : "integer"
}
]
}
]
}
В данном примере ответ содержит:
"possible_states_vector" : [
{
"name" : "signal",
"values" : [
"No Signal",
"Signal"
]
}
]
- "possible_states_vector" - блок описания статусов объекта данного класса и их возможных состояний;
- "name" : "signal" - имя статуса, в данном примере описывает наличие сигнал по каналу;
- "values" : - возможные значения, в данном примере: "No Signal" – нет сигнала, "Signal"– сигнал есть.
В данном примере ответ содержит:
"methods" : [
{
"name" : "ptz_preset",
"parameters" : [
{
"name" : "preset_n",
"type" : "integer"
}
]
}
]
- "methods" : - блок описания методов применимых к объекту данного класса;
- "name" : "ptz_preset" - имя метода, в данном примере переход PTZ камеры на определенную предустановку (preset) камеры;
- "parameters" : - параметры, которые необходимо передать;
- "name" : "preset_n", "type" : "integer" - имя параметра и его тип, в данном примере номер предустановки камеры, формат — целое число.

