Last Updated on : 2024-06-17 07:53:32download
Pan-tilt-zoom (PTZ) is one of the important data points (DPs) of IP cameras (IPCs) and is widely used in IPC scenarios. The integration of PTZ is lacking in the business encapsulation as vertical resources. To speed up the integration of PTZ, Tuya provides the encapsulation of PTZ features. The following PTZ features are supported:
All PTZ features are implemented by the management class.
Example
ObjC:
ThingSmartPTZManager *ptzManager = [[ThingSmartPTZManager alloc] initWithDeviceId:devId];
Swift:
let ptzManager = ThingSmartPTZManager.init(deviceId: devId)
API description
Specifies whether to support PTZ control.
- (BOOL)isSupportPTZControl;
Return value
| Value type | Description |
|---|---|
| BOOL | Valid values:
|
Example
ObjC:
if ([self.ptzManager isSupportPTZControl]) {
NSLog(@"Is support.");
} else {
NSLog(@"Not support.");
}
Swift:
if ptzManager!.isSupportPTZControl() {
print("Is support.")
} else {
print("Not support.")
}
API description
Returns the directions that are supported by IPCs.
- (NSArray *)requestSupportedPTZControlDirections;
Return value
| Value type | Description |
|---|---|
| NSArray | The array of supported directions of string type. Each element of the array matches the value of ThingSmartPTZControlDirection. Format: ["0","1","2","3","4","5","6","7"]. |
Example
ObjC:
NSArray *directions = [self.ptzManager requestSupportedPTZControlDirections];
for (NSString *directionString in directions) {
NSLog(@"%@", directionString);
}
Swift:
let directions = ptzManager?.requestSupportedPTZControlDirections() ?? []
for directionString in directions {
print(directionString)
}
API description
Starts PTZ control.
- (void)startPTZWithDirection:(ThingSmartPTZControlDirection)direction
success:(ThingSuccessID)success
failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| direction | An enum value of supported directions. For more information, see ThingSmartPTZControlDirection. |
| success | The success callback. |
| failure | The failure callback. |
Enum values of ThingSmartPTZControlDirection
| Value | Description |
|---|---|
| ThingSmartPTZControlDirectionUp | Up |
| ThingSmartPTZControlDirectionRightUp | Upper right |
| ThingSmartPTZControlDirectionRight | Right |
| ThingSmartPTZControlDirectionRightDown | Lower right |
| ThingSmartPTZControlDirectionDown | Down |
| ThingSmartPTZControlDirectionLeftDown | Lower left |
| ThingSmartPTZControlDirectionLeft | Left |
| ThingSmartPTZControlDirectionLeftUp | Upper left |
Example
ObjC:
[self.ptzManager startPTZWithDirection:ThingSmartPTZControlDirectionRight success:^(id result) {
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
Swift:
ptzManager?.startPTZ(with: .right, success: { (obj) in
print("success")
}, failure: { (error) in
print("failure")
})
API description
Stops PTZ control.
- (void)stopPTZWithSuccess:(ThingSuccessID)success
failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| success | The success callback. |
| failure | The failure callback. |
Example
ObjC:
[self.ptzManager stopPTZWithSuccess:^(id result) {
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
Swift:
ptzManager?.stopPTZ(success: { (obj) in
print("success")
}, failure: { (error) in
print("failure")
})
API description
Specifies whether to support zoom control.
- (BOOL)isSupportZoomAction;
Return value
| Value type | Description |
|---|---|
| BOOL | Valid values:
|
Example
ObjC:
if ([self.ptzManager isSupportZoomAction]) {
NSLog(@"Is support.");
} else {
NSLog(@"Not support.");
}
Swift:
if ptzManager!.isSupportZoomAction() {
print("Is support.")
} else {
print("Not support.")
}
API description
Starts zoom control.
- (void)startPTZZoomWithIsEnlarge:(BOOL)isEnlarge
success:(ThingSuccessID)success
failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| isEnlarge | Specifies whether to zoom in. Valid values:
|
| success | The success callback. |
| failure | The failure callback. |
Example
ObjC:
[self.ptzManager startPTZZoomWithIsEnlarge:YES success:^(id result) {
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
Swift:
ptzManager?.startPTZZoom(withIsEnlarge: true, success: { (obj) in
print("success")
}, failure: { (error) in
print("failure")
})
API description
Stops zoom control.
- (void)stopZoomActionWithSuccess:(ThingSuccessID)success
failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| success | The success callback. |
| failure | The failure callback. |
Example
ObjC:
[self.ptzManager stopZoomActionWithSuccess:^(id result) {
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
Swift:
ptzManager?.stopZoomAction(success: { (obj) in
print("success")
}, failure: { (error) in
print("failure")
})
Site favorite model
Site favorite information is encapsulated into ThingCameraCollectionPointModel to simplify the management of site favorites.
Property description
| Property | Description |
|---|---|
| devId | The device ID. |
| pointId | The ID of a site favorite. |
| mpId | The unique ID of a device. The device generates the value. |
| name | The name of a site favorite. |
| pic | The URL of a site favorite image. |
| pos | The position of a site favorite. |
| encryption | The decryption key of a site favorite image. |
API description
Indicates whether site favorites are supported.
- (BOOL)isSupportCollectionPoint;
Return value
| Value type | Description |
|---|---|
| BOOL | Valid values:
|
Example
ObjC:
if ([self.ptzManager isSupportCollectionPoint]) {
NSLog(@"Is support.");
} else {
NSLog(@"Not support.");
}
Swift:
if ptzManager!.isSupportCollectionPoint() {
print("Is support.")
} else {
print("Not support.")
}
API description
Indicates whether site favorites can be edited, for example, to be added, renamed, or deleted.
Favorite sites cannot be edited in auto-patrol mode but can be edited in other modes.
- (BOOL)couldOperateCollectionPoint;
Return value
| Value type | Description |
|---|---|
| BOOL | Valid values:
|
Example
ObjC:
if ([self.ptzManager couldOperateCollectionPoint]) {
NSLog(@"Could operate.");
} else {
NSLog(@"Couldn't operate.");
}
Swift:
if ptzManager!.couldOperateCollectionPoint() {
print("Could operate.")
} else {
print("Couldn't operate.")
}
API description
Returns a list of site favorites.
- (void)requestCollectionPointListWithSuccess:(ThingSuccessList)success failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| success | The success callback. The list of ThingCameraCollectionPointModel is returned. |
| failure | The failure callback. |
Example
ObjC:
[self.ptzManager requestCollectionPointListWithSuccess:^(NSArray *list) {
for (ThingCameraCollectionPointModel *model in list) {
NSLog(@"%@", model.name);
}
} failure:^(NSError *error) {
}];
Swift:
ptzManager?.requestCollectionPointList(success: { (list) in
if let models = list {
for model in models {
let pointModel = model as? ThingCameraCollectionPointModel
let pointName = pointModel?.name ?? ""
print(pointName)
}
}
}, failure: { (error) in
})
API description
Adds a site favorite.
- (void)addCollectionPointWithName:(NSString *)name success:(ThingSuccessHandler)success failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| name | The name of a site favorite. |
| success | The success callback. |
| failure | The failure callback. |
Example
ObjC:
[self.ptzManager addCollectionPointWithName:@"pointName" success:^{
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
Swift:
ptzManager?.addCollectionPoint(withName: "pointName", success: {
print("success")
}, failure: { (error) in
print("failure")
})
API description
Deletes site favorites.
- (void)deleteCollectionPoints:(NSArray<ThingCameraCollectionPointModel *> *)models success:(ThingSuccessHandler)success failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| models | The collection of site favorites to be deleted. |
| success | The success callback. |
| failure | The failure callback. |
Example
ObjC:
[self.ptzManager deleteCollectionPoints:@[pointModel] success:^{
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
Swift:
ptzManager?.deleteCollectionPoints([pointModel], success: {
print("success")
}, failure: { (error) in
print("failure")
})
API description
Renames a site favorite.
- (void)renameCollectionPoint:(ThingCameraCollectionPointModel *)model name:(NSString *)name success:(ThingSuccessHandler)success failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| model | The site favorite to be renamed. |
| name | The new name of a site favorite. |
| success | The success callback. |
| failure | The failure callback. |
Example
ObjC:
[self.ptzManager renameCollectionPoint:pointModel name:@"newName" success:^{
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
Swift:
ptzManager?.renameCollectionPoint(pointModel, name: "newName", success: {
print("success")
}, failure: { (error) in
print("failure")
})
API description
Navigates to a specified site favorite.
- (void)viewCollectionPoint:(ThingCameraCollectionPointModel *)model success:(ThingSuccessHandler)success failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| model | The target site favorite. |
| success | The success callback. |
| failure | The failure callback. |
Example
ObjC:
[self.ptzManager viewCollectionPoint:pointModel success:^{
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
Swift:
ptzManager?.viewCollectionPoint(pointModel, success: {
print("success")
}, failure: { (error) in
print("failure")
})
API description
Indicates whether the auto-patrol mode is supported.
- (BOOL)isSupportCruise;
Return value
| Value type | Description |
|---|---|
| BOOL | Valid values:
|
Example
ObjC:
if ([self.ptzManager isSupportCruise]) {
NSLog(@"Is support.");
} else {
NSLog(@"Not support.");
}
Swift:
if ptzManager!.isSupportCruise() {
print("Is support.")
} else {
print("Not support.")
}
API description
Indicates whether the auto-patrol mode is enabled.
- (BOOL)isOpenCruise;
Return value
| Value type | Description |
|---|---|
| BOOL | Valid values:
|
Example
ObjC:
if ([self.ptzManager isOpenCruise]) {
NSLog(@"Is opened.");
} else {
NSLog(@"Is closed.");
}
Swift:
if ptzManager!.isOpenCruise() {
print("Is opened.")
} else {
print("Is closed.")
}
API description
Returns the current auto-patrol mode.
- (ThingSmartPTZControlCruiseMode)getCurrentCruiseMode;
Return value
| Value type | Description |
|---|---|
| ThingSmartPTZControlCruiseMode | An enum value of the auto-patrol mode. |
Enum values of ThingSmartPTZControlCruiseMode
| Value | Description |
|---|---|
| ThingSmartPTZControlCruiseModePanoramic | The panoramic auto-patrol mode. |
| ThingSmartPTZControlCruiseModeCollectionPoint | The site favorite auto-patrol mode. |
Example
ObjC:
ThingSmartPTZControlCruiseMode cruiseModel = self.ptzManager.getCurrentCruiseMode;
if (cruiseModel == ThingSmartPTZControlCruiseModePanoramic) {
NSLog(@"Panoramic mode");
} else {
NSLog(@"Collection point mode");
}
Swift:
let cruiseModel = ptzManager!.getCurrentCruiseMode()
if cruiseModel == .panoramic {
print("Panoramic mode.")
} else {
print("Collection point mode.")
}
API description
Returns the current auto-patrol schedule mode.
- (ThingSmartPTZControlCruiseTimeMode)getCurrentCruiseTimeMode;
Return value
| Value type | Description |
|---|---|
| ThingSmartPTZControlCruiseTimeMode | An enum value of the auto-patrol schedule mode. |
Enum values of ThingSmartPTZControlCruiseTimeMode
| Value | Description |
|---|---|
| ThingSmartPTZControlCruiseTimeModeAllDay | The all-day auto-patrol mode. |
| ThingSmartPTZControlCruiseTimeMode | The custom auto-patrol mode. |
Example
ObjC:
ThingSmartPTZControlCruiseTimeMode timeModel = self.ptzManager.getCurrentCruiseTimeMode;
if (timeModel == ThingSmartPTZControlCruiseTimeModeAllDay) {
NSLog(@"All day mode");
} else {
NSLog(@"Custom Time mode");
}
Swift:
let timeModel = ptzManager!.getCurrentCruiseTimeMode()
if timeModel == .allDay {
print("All day mode.")
} else {
print("Custom Time mode.")
}
API description
Returns the current auto-patrol status.
- (ThingSmartPTZControlCruiseState)getCurrentCruiseState;
Return value
| Value type | Description |
|---|---|
| ThingSmartPTZControlCruiseState | An enum value of the auto-patrol status. |
Enum values of ThingSmartPTZControlCruiseState
| Value | Description |
|---|---|
| ThingSmartPTZControlCruiseStatePanoramic | The panoramic auto-patrol mode. |
| ThingSmartPTZControlCruiseStateCollectionPoint | The site favorite auto-patrol mode. |
| ThingSmartPTZControlCruiseStateNone | The non-auto-patrol mode. |
Example
ObjC:
ThingSmartPTZControlCruiseState cruiseState = self.ptzManager.getCurrentCruiseState;
if (cruiseState == ThingSmartPTZControlCruiseStatePanoramic) {
NSLog(@"Panoramic mode state.");
} else if (cruiseState == ThingSmartPTZControlCruiseStateCollectionPoint) {
NSLog(@"Collection point mode state.");
} else if (cruiseState == ThingSmartPTZControlCruiseStateNone) {
NSLog(@"Not in cruise mode.");
}
Swift:
let cruiseState = ptzManager!.getCurrentCruiseState()
if cruiseState == .panoramic {
print("Panoramic mode state.")
} else if cruiseState == .collectionPoint {
print("Collection point mode state.")
} else if cruiseState == .none {
print("Not in cruise mode.")
}
API description
Returns the current auto-patrol schedule.
- (NSString *)getCurrentCruiseTime;
Return value
| Value type | Description |
|---|---|
| NSString | The period from startTime to endTime. Example: “09:00-18:00”. |
Example
ObjC:
ThingSmartPTZControlCruiseTimeMode timeModel = self.ptzManager.getCurrentCruiseTimeMode;
if (timeModel == ThingSmartPTZControlCruiseTimeModeCustom) {
NSLog(@"Custom Time mode");
NSString *timeRangeStr = [self.ptzManager getCurrentCruiseTime];
NSLog(@"startTime-endTime:%@", timeRangeStr);
} else {
NSLog(@"All day mode");
}
Swift:
let timeModel = ptzManager!.getCurrentCruiseTimeMode()
if timeModel == .custom {
print("Custom Time mode.")
let timeRangeStr = ptzManager?.getCurrentCruiseTime() ?? ""
print("startTime-endTime:\(timeRangeStr)")
} else {
print("All day mode.")
}
API description
Enables or disables the auto-patrol mode.
- (void)setCruiseOpen:(BOOL)isOpen success:(ThingSuccessID)success failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| isOpen | Specifies whether to enable the auto-patrol mode. Valid values:
|
| success | The success callback. |
| failure | The failure callback. |
Example
ObjC:
[self.ptzManager setCruiseOpen:YES success:^(id result) {
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
Swift:
ptzManager?.setCruiseOpen(true, success: { (obj) in
print("success")
}, failure: { (error) in
print("failure")
})
API description
Sets the auto-patrol mode.
- (void)setCruiseMode:(ThingSmartPTZControlCruiseMode)mode success:(ThingSuccessID)success failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| mode | The auto-patrol mode. Valid values:
|
| success | The success callback. |
| failure | The failure callback. |
Example
ObjC:
[self.ptzManager setCruiseMode:ThingSmartPTZControlCruiseModePanoramic success:^(id result) {
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
Swift:
ptzManager?.setCruiseMode(.panoramic, success: { (obj) in
print("success")
}, failure: { (error) in
print("failure")
});
API description
Sets the auto-patrol schedule mode.
- (void)setCruiseTimeMode:(ThingSmartPTZControlCruiseTimeMode)timeMode success:(ThingSuccessHandler)success failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| timeMode | The auto-patrol schedule mode. Valid values:
|
| success | The success callback. |
| failure | The failure callback. |
Example
ObjC:
[self.ptzManager setCruiseTimeMode:ThingSmartPTZControlCruiseTimeModeCustom success:^{
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
Swift:
ptzManager?.setCruiseTimeMode(.custom, success: {
print("success")
}, failure: { (error) in
print("failure")
})
API description
Sets the auto-patrol status.
- (void)setCruiseState:(ThingSmartPTZControlCruiseState)state success:(ThingSuccessHandler)success failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| state | The auto-patrol status. Valid values:
|
| success | The success callback. |
| failure | The failure callback. |
Example
ObjC:
[self.ptzManager setCruiseState:ThingSmartPTZControlCruiseStateCollectionPoint success:^{
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
Swift:
ptzManager?.setCruiseState(.collectionPoint, success: {
print("success")
}, failure: { (error) in
print("failure")
})
API description
Sets the auto-patrol schedule.
- (void)setCruiseCustomWithStartTime:(NSString *)startTime endTime:(NSString *)endTime success:(ThingSuccessHandler)success failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| startTime | The start time. Format: 00:00. |
| endTime | The end time. Format: 00:00. |
| success | The success callback. |
| failure | The failure callback. |
Example
ObjC:
ThingSmartPTZControlCruiseTimeMode currentTimeModel = self.ptzManager.getCurrentCruiseTimeMode;
if (currentTimeModel == ThingSmartPTZControlCruiseTimeModeCustom) {
NSLog(@"Custom Time mode");
[self.ptzManager setCruiseCustomWithStartTime:@"09:00" endTime:@"15:00" success:^{
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
} else {
NSLog(@"All day mode");
}
Swift:
let currentTimeModel = ptzManager!.getCurrentCruiseTimeMode()
if currentTimeModel == .custom {
print("Custom Time mode.")
ptzManager?.setCruiseCustomWithStartTime("09:00", endTime: "15:00", success: {
print("success")
}, failure: { (error) in
print("failure")
})
} else {
print("All day mode.")
}
API description
Indicates whether motion tracking is supported.
- (BOOL)isSupportMotionTracking;
Return value
| Value type | Description |
|---|---|
| BOOL | Valid values:
|
Example
ObjC:
if ([self.ptzManager isSupportMotionTracking]) {
NSLog(@"Is support.");
} else {
NSLog(@"Not support.");
}
Swift:
if ptzManager!.isSupportMotionTracking() {
print("Is support.")
} else {
print("Not support.")
}
API description
Indicates whether motion tracking is enabled.
- (BOOL)isOpenMotionTracking;
Return value
| Value type | Description |
|---|---|
| BOOL | Valid values:
|
Example
ObjC:
if ([self.ptzManager isOpenMotionTracking]) {
NSLog(@"Is opened.");
} else {
NSLog(@"Is closed.");
}
Swift:
if ptzManager!.isOpenMotionTracking() {
print("Is opened.")
} else {
print("Is closed.")
}
API description
Enables or disables motion tracking.
- (void)setMotionTrackingState:(BOOL)isOpen success:(ThingSuccessHandler)success failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| isOpen | Valid values:
|
| success | The success callback. |
| failure | The failure callback. |
Example
ObjC:
[self.ptzManager setMotionTrackingState:YES success:^{
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
Swift:
ptzManager?.setMotionTrackingState(true, success: {
print("success")
}, failure: { (error) in
print("failure")
})
API description
Indicates whether preset points are supported.
- (BOOL)isSupportPresetPoint;
Return value
| Value type | Description |
|---|---|
| BOOL | Valid values:
|
Example
ObjC:
if ([self.ptzManager isSupportPresetPoint]) {
NSLog(@"Is support.");
} else {
NSLog(@"Not support.");
}
Swift:
if ptzManager!.isSupportPresetPoint() {
print("Is support.")
} else {
print("Not support.")
}
API description
Returns a list of preset points.
- (NSArray *)requestSupportedPresetPoints;
Return value
| Value type | Description |
|---|---|
| NSArray | The list of preset point indexes. For example, if preset point indexes 1, 2, 3, and 4 are available, ["1","2","3","4"] is returned. |
Example
ObjC:
NSArray *points = [self.ptzManager requestSupportedPresetPoints];
for (NSString *indexStr in points) {
NSLog(@"index:%@", indexStr);
}
Swift:
let points = ptzManager?.requestSupportedPresetPoints() ?? []
for indexStr in points {
print("index:\(indexStr)")
}
API description
Navigates to a specified preset point.
- (void)viewPresetPointWithIndex:(NSInteger)index success:(ThingSuccessID)success failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| index | The index of the target preset point. |
| success | The success callback. |
| failure | The failure callback. |
Example
ObjC:
int index = 1;
[self.ptzManager viewPresetPointWithIndex:index success:^(id result) {
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
Swift:
let index = 1
ptzManager?.viewPresetPoint(with: index, success: { (obj) in
print("success")
}, failure: { (error) in
print("failure")
})
API description
Sets a preset point with a specified index.
- (void)setPresetPointWithIndex:(NSInteger)index success:(ThingSuccessID)success failure:(ThingFailureError)failure;
Parameters
| Parameter | Description |
|---|---|
| index | The index of the target preset point. |
| success | The success callback. |
| failure | The failure callback. |
Example
ObjC:
[self.ptzManager setPresetPointWithIndex:index success:^(id result) {
NSLog(@"success");
} failure:^(NSError *error) {
NSLog(@"failure");
}];
Swift:
ptzManager?.setPresetPointWith(index, success: { (obj) in
print("success")
}, failure: { (error) in
print("failure")
})
The PTZ management class ThingSmartPTZManager supports delegate callbacks.
Property description
@property (nonatomic, weak) id<ThingSmartPTZManagerDeletate> delegate;
API description
Indicates the current operation of site favorites.
- (void)collectionPointAction:(ThingSmartPTZManager *)manager actionType:(NSInteger)type;
Parameters
| Parameter | Description |
|---|---|
| manager | The PTZ management class. |
| type | The operation type. Valid values:
|
API description
Indicates the current auto-patrol switch status.
- (void)didUpdateCruiseSwitchState:(ThingSmartPTZManager *)manager isOpen:(BOOL)isOpen;
Parameters
| Parameter | Description |
|---|---|
| manager | The PTZ management class. |
| isOpen | Indicates whether the auto-patrol mode is enabled. Valid values:
|
API description
Indicates the current auto-patrol mode.
- (void)didUpdateCruiseMode:(ThingSmartPTZManager *)manager currentCruiseMode:(ThingSmartPTZControlCruiseMode)currentCruiseMode;
Parameters
| Parameter | Description |
|---|---|
| manager | The PTZ management class. |
| currentCruiseMode | The current auto-patrol mode. Valid values:
|
API description
Indicates the current auto-patrol schedule mode.
- (void)didUpdateCruiseTimeMode:(ThingSmartPTZManager *)manager currentTimeMode:(ThingSmartPTZControlCruiseTimeMode)currentTimeMode;
Parameters
| Parameter | Description |
|---|---|
| manager | The PTZ management class. |
| currentTimeMode | The current auto-patrol schedule mode. Valid values:
|
API description
Indicates the current auto-patrol schedule.
- (void)didUpdateCruiseTimeModeTime:(ThingSmartPTZManager *)manager startTime:(NSString *)startTime endTime:(NSString *)endTime;
Parameters
| Parameter | Description |
|---|---|
| manager | The PTZ management class. |
| startTime | The current start time. |
| endTime | The current end time. |
API description
Indicates the current motion tracking switch status.
- (void)didUpdateMotionTrackingState:(ThingSmartPTZManager *)manager isOpen:(BOOL)isOpen;
Parameters
| Parameter | Description |
|---|---|
| manager | The PTZ management class. |
| isOpen | Valid values:
|
The following table shows the error codes of PTZ features.
| Error codes | Description |
|---|---|
| -2001 | Site favorites cannot be added during panoramic auto-patrol and site favorite auto-patrol. |
| -2002 | The number of site favorites is less than 2 so that site favorite auto-patrol cannot be enabled. |
Is this page helpful?
YesFeedbackIs this page helpful?
YesFeedback