Every TRASSIR object has an associated class (type). The class defines the object's possible states and the applicable methods. There are a large number of different classes in TRASSIR. Use the /objects command to find out what class an object belongs to. The /classes command is used to request the class's parameters.
Example of a request:
https://192.168.1.200:8080/classes/Channel?sid=gbnVFUit
Tip
Note that class names (Channel in our example) are case-sensitive.
Example of a server response:
{
"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"
}
]
}
]
}
In this example, the response contains:
"possible_states_vector" : [
{
"name" : "signal",
"values" : [
"No Signal",
"Signal"
]
}
]
- "possible_states_vector" - a description block for the statuses of an object of the given class and their possible states;
- "name" : "signal" - a status name; in this example, it indicates if the channel has a signal;
- "values" : - the possible values; in this example: "No Signal" – there is no signal, "Signal" – there is a signal.
In this example, the response contains:
"methods" : [
{
"name" : "ptz_preset",
"parameters" : [
{
"name" : "preset_n",
"type" : "integer"
}
]
}
]
- "methods" : - a description block for the methods that are applicable to an object of the given class;
- "name" : "ptz_preset" - a method name; in this example, to switch a PTZ camera to a specific camera preset;
- "parameters" : - the required parameters;
- "name" : "preset_n", "type" : "integer" - a parameter name and type; in this example, the camera preset number, formatted as an integer.

