GizAepSceneManager 类
提供自动场景、手动场景、设备/分组场景的增删改查,以及地理围栏相关处理
目录
API 定义
[sharedInstance]
获取GizAepSceneManager单例的实例
定义
+ (instancetype _Nonnull)sharedInstance;
代码示例
GizAepSceneManager *sceneManager = [GizAepSceneManager sharedInstance];
[createAutoScene]
创建自动场景
定义
- (void)createAutoScene:(GizAutoScene * _Nonnull)autoScene homeId:(NSString * _Nonnull)homeId callback:(void (^)(AepApiResult* _Nonnull result, GizAutoScene* _Nullable autoScene))callback;
参数
属性名 |
描述 |
autoScene |
自动场景GizAutoScene |
homeId |
家庭id |
callback |
请求结果,可获取信息查看AepApiResult,GizAutoScene |
回调参数
属性名 |
描述 |
result |
详细见 AepApiResult 定义 |
autoScene |
创建场景成功返回的场景对象 |
代码示例
GizConditionWeather* weather = [GizConditionWeather new];
weather.cityName = @"广州";
weather.latitude = @"23.165204";
weather.longitude = @"113.314919";
weather.expressionOpt = GIZ_EXPRESSION_OPT_EQUAL;
weather.weatherType = GIZ_CONDITION_WEATHER_SUNSET;
weather.zone = 8;
GizAepSceneAction* action = [GizAepSceneAction new];
GizAepSceneNoticeAction* notice = [GizAepSceneNoticeAction new];
notice.type = GIZ_SCENE_NOTICE_APP;
action.notice = notice;
GizAutoScene* autoScene = [GizAutoScene new];
autoScene.actions = @[action];
autoScene.conditions = @[weather];
autoScene.name = @"日落通知";
[[GizAepSceneManager sharedInstance] createAutoScene:autoScene homeId:@"your_homeId" callback:^(AepApiResult * _Nonnull result, GizAutoScene * _Nonnull autoScene) {
}];
[getAutoSceneList]
获取自动场景列表
定义
- (void)getAutoSceneList:(NSString* _Nonnull)homeId callback:(void (^)(AepApiResult* _Nonnull result, NSArray<GizAutoScene *>* _Nullable autoSceneList))callback;
参数
属性名 |
描述 |
homeId |
家庭id |
callback |
获取自动场景列表结果回调 |
回调参数
属性名 |
描述 |
result |
详细见 AepApiResult 定义 |
autoSceneList |
获取到的自动场景列表 |
代码示例
[[GizAepSceneManager sharedInstance] getAutoSceneList:@"your_homeId" callback:^(AepApiResult * _Nonnull result, NSArray<GizAutoScene *> * _Nonnull autoSceneList) {
}];
[deleteAutoScene]
删除自动场景
定义
- (void)deleteAutoScene:(NSString* _Nonnull)autoSceneId homeId:(NSString* _Nonnull)homeId callback:(void (^)(AepApiResult* _Nonnull result))callback;
参数
属性名 |
描述 |
autoSceneId |
自动场景id |
homeId |
家庭id |
callback |
请求结果,可获取信息查看AepApiResult |
回调参数
属性名 |
描述 |
result |
详细见 AepApiResult 定义 |
代码示例
[[GizAepSceneManager sharedInstance] deleteAutoScene:@"your_autoSceneId" homeId:@"your_homeId" callback:^(AepApiResult * _Nonnull result) {
}];
[editAutoScene]
编辑自动场景
定义
- (void)editAutoScene:(GizAutoScene* _Nonnull)autoScene homeId:(NSString* _Nonnull)homeId callback:(void (^)(AepApiResult* _Nonnull result))callback;
参数
属性名 |
描述 |
autoScene |
自动场景对象 |
homeId |
家庭id |
callback |
请求结果,可获取信息查看AepApiResult |
回调参数
属性名 |
描述 |
result |
详细见 AepApiResult 定义 |
代码示例
[[GizAepSceneManager sharedInstance] getAutoSceneDetail:@"your_autoSceneId" homeId:@"your_homeId" callback:^(AepApiResult * _Nonnull result, GizAutoScene * _Nonnull autoScene) {
autoScene.name = @"new_autoSceneName";
[[GizAepSceneManager sharedInstance] editAutoScene:autoScene homeId:@"your_homeId" callback:^(AepApiResult * _Nonnull result) {
}];
}];
[editAutoScene]
编辑自动场景开关
定义
- (void)editAutoScene:(NSString* _Nonnull)autoSceneId open:(BOOL)open homeId:(NSString* _Nonnull)homeId callback:(void (^)(AepApiResult* _Nonnull result))callback;
参数
属性名 |
描述 |
autoSceneId |
自动场景id |
open |
自动场景是否开启 |
homeId |
家庭id |
callback |
请求结果,可获取信息查看AepApiResult |
回调参数
属性名 |
描述 |
result |
详细见 AepApiResult 定义 |
代码示例
[[GizAepSceneManager sharedInstance] getAutoSceneDetail:@"your_autoSceneId" homeId:@"your_homeId" callback:^(AepApiResult * _Nonnull result, GizAutoScene * _Nonnull autoScene) {
BOOL isOpen = !autoScene.open;
[[GizAepSceneManager sharedInstance] editAutoScene:autoScene.sceneId open:isOpen homeId:@"your_homeId" callback:^(AepApiResult * _Nonnull result) {
}];
}];
[getAutoSceneDetail]
获取自动场景详情
定义
- (void)getAutoSceneDetail:(NSString* _Nonnull)autoSceneId homeId:(NSString* _Nonnull)homeId callback:(void (^)(AepApiResult* _Nonnull result, GizAutoScene* _Nullable autoScene))callback;
参数
属性名 |
描述 |
autoSceneId |
自动场景id |
homeId |
家庭id |
callback |
获取自动场景详情结果回调 |
回调参数
属性名 |
描述 |
result |
详细见 AepApiResult 定义 |
autoScene |
获取到的场景对象 |
代码示例
[[GizAepSceneManager sharedInstance] getAutoSceneDetail:@"your_autoSceneId" homeId:@"your_homeId" callback:^(AepApiResult * _Nonnull result, GizAutoScene * _Nonnull autoScene) {
}];
[createManualScene]
创建手动场景
定义
- (void)createManualScene:(GizManualScene* _Nonnull)manualScene homeId:(NSString* _Nonnull)homeId callback:(void (^)(AepApiResult* _Nonnull result, GizManualScene* _Nullable manualScene))callback;
参数
属性名 |
描述 |
manualScene |
手动场景GizManualScene |
homeId |
家庭id |
callback |
请求结果,可获取信息查看AepApiResult,GizManualScene |
回调参数
属性名 |
描述 |
result |
详细见 AepApiResult 定义 |
manualScene |
创建成功获取的手动场景对象 |
代码示例
GizAepSceneAction* action = [GizAepSceneAction new];
GizAepSceneNoticeAction* notice = [GizAepSceneNoticeAction new];
notice.type = GIZ_SCENE_NOTICE_APP;
action.notice = notice;
GizManualScene* manualScene = [GizManualScene new];
manualScene.actions = @[action];
manualScene.name = @"your_manualScene_name";
[[GizAepSceneManager sharedInstance] createManualScene:manualScene homeId:@"your_homeId" callback:^(AepApiResult * _Nonnull result, GizManualScene * _Nonnull manualScene) {
}];
[getManualSceneList]
获取手动场景列表
定义
- (void)getManualSceneList:(NSString* _Nonnull)homeId callback:(void (^)(AepApiResult* _Nonnull result, NSArray<GizManualScene *>* _Nullable manualSceneList))callback;
参数
属性名 |
描述 |
homeId |
家庭id |
callback |
获取手动场景列表结果回调 |
回调参数
属性名 |
描述 |
result |
详细见 AepApiResult 定义 |
manualSceneList |
获取到的手动场景对象列表 |
代码示例
[[GizAepSceneManager sharedInstance] getManualSceneList:@"your_homeId" callback:^(AepApiResult * _Nonnull result, NSArray<GizManualScene *> * _Nonnull manualSceneList) {
}];
[deleteManualScene]
删除手动场景
定义
- (void)deleteManualScene:(NSString* _Nonnull)manualSceneId homeId:(NSString* _Nonnull)homeId callback:(void (^)(AepApiResult* _Nonnull result))callback;
参数
属性名 |
描述 |
manualSceneId |
自动场景id |
homeId |
家庭id |
callback |
请求结果,可获取信息查看AepApiResult |
回调参数
属性名 |
描述 |
result |
详细见 AepApiResult 定义 |
代码示例
[[GizAepSceneManager sharedInstance] deleteManualScene:@"your_manualSceneId" homeId:@"your_homeId" callback:^(AepApiResult * _Nonnull result) {
}];
[editManualScene]
编辑手动场景
定义
- (void)editManualScene:(GizManualScene* _Nonnull)manualScene homeId:(NSString* _Nonnull)homeId callback:(void (^)(AepApiResult* _Nonnull result))callback;
参数
属性名 |
描述 |
manualScene |
手动场景对象 |
homeId |
家庭id |
callback |
请求结果,可获取信息查看AepApiResult |
回调参数
属性名 |
描述 |
result |
详细见 AepApiResult 定义 |
代码示例
[[GizAepSceneManager sharedInstance] getManualSceneDetail:@"your_manualSceneId" homeId:@"your_homeId" callback:^(AepApiResult * _Nonnull result, GizManualScene * _Nonnull manualScene) {
manualScene.name = @"new_manualScene_name";
[[GizAepSceneManager sharedInstance] editManualScene:manualScene homeId:@"your_homeId" callback:^(AepApiResult * _Nonnull result) {
}];
}];
[executeManualScene]
执行手动场景
定义
- (void)executeManualScene:(NSString* _Nonnull)manualSceneId homeId:(NSString* _Nonnull)homeId callback:(void (^)(AepApiResult* _Nonnull result))callback;
参数
属性名 |
描述 |
manualSceneId |
手动场景id |
homeId |
家庭id |
callback |
请求结果,可获取信息查看AepApiResult |
回调参数
属性名 |
描述 |
result |
详细见 AepApiResult 定义 |
代码示例
[[GizAepSceneManager sharedInstance] executeManualScene:@"your_manualSceneId" homeId:@"your_homeId" callback:^(AepApiResult * _Nonnull result) {
}];
[getManualSceneDetail]
获取手动场景详情
定义
- (void)getManualSceneDetail:(NSString* _Nonnull)manualSceneId homeId:(NSString* _Nonnull)homeId callback:(void (^)(AepApiResult* _Nonnull result, GizManualScene* _Nullable manualScene))callback;
参数
属性名 |
描述 |
manualSceneId |
手动场景id |
homeId |
家庭id |
callback |
获取手动场景详情结果回调 |
回调参数
属性名 |
描述 |
result |
详细见 AepApiResult 定义 |
manualScene |
手动场景对象 |
代码示例
[[GizAepSceneManager sharedInstance] getManualSceneDetail:@"your_manualSceneId" homeId:@"your_homeId" callback:^(AepApiResult * _Nonnull result, GizManualScene * _Nonnull manualScene) {
}];
[getDeviceSceneList]
获取设备或分组场景列表
定义
- (void)getDeviceSceneList:(NSString* _Nonnull)groupOrSno type:(GizAepDeviceType)type callback:(void (^)(AepApiResult* _Nonnull result, NSArray<GizBaseScene *>* _Nullable sceneList))callback;
参数
属性名 |
描述 |
groupOrSno |
设备标识,分组传groupId,设备传sno |
type |
设备类型 |
callback |
获取手动场景列表结果回调 |
回调参数
属性名 |
描述 |
result |
详细见 AepApiResult 定义 |
sceneList |
场景列表 |
代码示例
[[GizAepSceneManager sharedInstance] getDeviceSceneList:@"your_sno" type:GIZ_AEP_DEVICE callback:^(AepApiResult * _Nonnull result, NSArray<GizBaseScene *> * _Nonnull sceneList) {
}];
[getEnclosureList]
获取地理围栏列表
定义
- (void)getEnclosureList:(NSArray<NSString*>* _Nonnull)homeIdList callback:(void (^)(AepApiResult* _Nonnull result, NSArray<GizEnclosure *>* _Nullable enclosureList))callback;
参数
属性名 |
描述 |
homeIdList |
家庭id列表 |
callback |
回调参数
属性名 |
描述 |
result |
详细见 AepApiResult 定义 |
enclosureList |
返回地理围栏对象列表 |
代码示例
[[GizAepSceneManager sharedInstance] getEnclosureList:@[@"your_homeId"] callback:^(AepApiResult * _Nonnull result, NSArray<GizEnclosure *> * _Nonnull enclosureList) {
}];
[reportEnclosureStatus]
上报地理围栏状态
定义
- (void)reportEnclosureStatus:(NSArray<GizEnclosure*>* _Nonnull)enclosureList callback:(void (^)(AepApiResult* _Nonnull result))callback;
参数
属性名 |
描述 |
enclosureList |
上报地理围栏场景状态,地理围栏对象传id,以及status状态值即可 |
callback |
上报地理围栏状态结果回调 |
回调参数
属性名 |
描述 |
result |
详细见 AepApiResult 定义 |
代码示例
[[GizAepSceneManager sharedInstance] getEnclosureList:@[@"hour_homeId"] callback:^(AepApiResult * _Nonnull result, NSArray<GizEnclosure *> * _Nonnull enclosureList) {
if(enclosureList && enclosureList.count > 0){
[[GizAepSceneManager sharedInstance] reportEnclosureStatus:enclosureList callback:^(AepApiResult * _Nonnull result) {
}];
}
}];