辅助功能

触发器功能SDK使用

触发相关的所有功能对应IOTSmartTrigger类。

获取手机与设备之间的触发规则

获取某设备已经配置的触发规则。获取成功返回IOTSmartTriggerListModel实体类对象数组。

请求参数:

参数名类型说明备注必需
deviceIOTSmartDevice设备类实体对象是

例子:

- (void)getTriggerList{ [IOTSmartTrigger IOTCloudSDK_getTriggerListWithDevice:@"your_device" success:^(NSArray<iotsmarttriggerlistmodel *=""> triggerListModelArr){ NSLog(@"getTriggerList success"); } failure:^(int errNo,NSStringerrMessage) { NSLog(@"getTriggerList failure: %@", errMessage); }]; }</iotsmarttriggerlistmodel>

获取手机与设备的数据点

获取触发设备可下发的数据点信息。获取成功返回IOTSmartStanceDPModel实体类对象数组。

请求参数:

参数名类型说明备注必需
deviceIOTSmartDevice设备类实体对象是

例子:

- (void)getTriggerDps{ [IOTSmartTrigger IOTCloudSDK_getTriggerDPsWithDevice:@"your_device" success:^(NSArray<iotsmartstancedpmodel *=""> conditionDPArr){ NSLog(@"getTriggerDps success"); } failure:^(int errNo,NSStringerrMessage) { NSLog(@"getTriggerDps failure: %@", errMessage); }]; }</iotsmartstancedpmodel>

保存手机与设备的触发规则

保存触发设备与某账户之间的一条触发规则。

请求参数:

参数名类型说明备注必需
deviceIOTSmartDevice设备类实体对象是
dpModelIOTSmartStanceDPAddModel是
accountModelIOTSmartStanceAccountAddModel是

例子:

- (void)saveTrigger{ [IOTSmartTrigger IOTCloudSDK_saveTriggerWithDevice:@"your_device" dpModel:@"your_dpModel" accountModel:@"your_accountModel" success:^{ NSLog(@"saveTrigger success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"saveTrigger failure: %@", errMessage); }]; }

删除手机与设备之间的触发规则

删除手机和某绑定设备之间的已经配置的触发规则。

请求参数:

参数名类型说明备注必需
triggerIdInt触发规则id是
deviceIOTSmartDevice设备类实体对象是

例子:

- (void)deleteTrigger{ [IOTSmartTrigger IOTCloudSDK_delTriggerWithTriggerId:@"your_triggerId" device:@"your_device" success:^{ NSLog(@"deleteTrigger success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"deleteTrigger failure: %@", errMessage); }]; }

联动功能SDK使用

联动相关的所有功能对应IOTSmartLink类。

获取两个设备之间的所有联动规则

获取两个设备之间的已经配置的联动规则。获取成功返回IOTSmartLinkListModel实体类对象数组。

请求参数:

参数名类型说明备注必需
sDeviceIOTSmartDevice设备类实体对象发起联动的设备是
dDeviceIOTSmartDevice设备类实体对象执行联动动作的设备是

例子:

- (void)getLinkList{ [IOTSmartLink IOTCloudSDK_getLinkListWithSDevice:@"your_sDevice" dDevice:@"your_dDevice" success:^( NSArray<iotsmartlinklistmodel *=""> linkListModelArr){ NSLog(@"getLinkList success"); } failure:^(int errNo,NSStringerrMessage) { NSLog(@"getLinkList failure: %@", errMessage); }]; }</iotsmartlinklistmodel>

获取两个设备的联动数据点

获取发起联动设备的可下发的数据点信息,执行联动动作的可上报数据点信息。

请求参数:

参数名类型说明备注必需
sDeviceIOTSmartDevice设备类实体对象发起联动的设备是
dDeviceIOTSmartDevice设备类实体对象执行联动动作的设备是

例子:

- (void)getLinkDps{ [IOTSmartLink IOTCloudSDK_getLinkDPsWithSDevice:@"your_sDevice" dDevice:@"your_dDevice" success:^(NSArray<iotsmartstancedpmodel *=""> conditionDPArr,NSArray<IOTSmartStanceDPModel> actionDPArr){ NSLog(@"getLinkDps success"); } failure:^(int errNo,NSStringerrMessage) { NSLog(@"getLinkDps failure: %@", errMessage); }]; }</iotsmartstancedpmodel>

保存两个设备之间的联动规则

保存两个设备之间的一条配置的联动规则。

请求参数:

参数名类型说明备注必需
sDeviceIOTSmartDevice设备类实体对象发起联动的设备是
dDeviceIOTSmartDevice设备类实体对象执行联动动作的设备是
sDPModelIOTSmartStanceDPAddModel是
dDPModelIOTSmartStanceDPAddModel是
titleString联动标题是

例子:

- (void)saveLink{ [IOTSmartLink IOTCloudSDK_saveLinkWithSDevice:@"your_sDevice" dDevice:@"your_dDevice" sDPModel:@"your_sDPModel" dDPModel:@"your_dDPModel " title: @"your_linkTitle" success:^{ NSLog(@"saveLink success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"saveLink failure: %@", errMessage); }]; }

保存两个设备之间的联动规则

保存两个设备之间的一条配置的联动规则。

请求参数:

参数名类型说明备注必需
sDeviceIOTSmartDevice设备类实体对象发起联动的设备是
dDeviceIOTSmartDevice设备类实体对象执行联动动作的设备是
sDPModelIOTSmartStanceDPAddModel~~~~~~~~是
dDPModelIOTSmartStanceDPAddModel~~~~~~~~是

~~例子:~~

~~- (**void**)saveLink{~~ ~~\[IOTSmartLink IOTCloudSDK\_saveLinkWithSDevice:@"your\_sDevice" dDevice:@"your\_dDevice" sDPModel:@"your\_sDPModel" dDPModel:@"your\_dDPModel " success:^{~~ ~~NSLog(@"saveLink success");~~ ~~} failure:^(int errNo,NSString \*errMessage) {~~ ~~NSLog(@"saveLink failure: %@", errMessage);~~ ~~}\];~~ ~~}~~

### 删除两个设备之间的联动规则

删除两个设备之间的一条已经配置的联动规则。

请求参数:

| 参数名 | 类型 | 说明 | 备注 | 必需 |
| --- | --- | --- | --- | --- |
| linkId | Int | 联动规则id | 是 |  |
| sDevice | IOTSmartDevice | 设备类实体对象 | 发起联动的设备 | 是 |
| dDevice | IOTSmartDevice | 设备类实体对象 | 执行联动动作的设备 | 是 |

例子:

\- (**void**)deleteLink{ \[IOTSmartLink IOTCloudSDK\_delLinkWithLinkId:@"your\_linkId" sDevice:@"your\_sDevice" dDevice:@"your\_dDevice" success:^{ NSLog(@"deleteLink success"); } failure:^(int errNo,NSString \*errMessage) { NSLog(@"deleteLink failure: %@", errMessage); }\]; }

## 设备分享

设备分享相关的所有功能对应IOTSmartDeviceShare类。(子设备目前不支持分享)

### 获取可分享的设备列表

获取可发起分享设备列表。获取成功返IOTSmartDeviceShareListModel实体类对象数组。

请求参数:无

例子:

\- (**void**)getShareDeviceList{ \[IOTSmartDeviceShare IOTCloudSDK\_getShareDeviceListSuccess:^(NSArray<iotsmartdevicesharelistmodel \*=""> *deviceShareListModelArr){ NSLog(@"getShareDeviceList success"); } failure:^(int errNo,NSString*errMessage) { NSLog(@"getShareDeviceList failure: %@", errMessage); }\]; }</iotsmartdevicesharelistmodel>

### 获取单个设备的分享状况

获取单个设备当前分享的用户以及状态。获取成功返IOTSmartDeviceShareSingleModel实体类对象数组。

请求参数:

| 参数名 | 类型 | 说明 | 备注 | 必需 |
| --- | --- | --- | --- | --- |
| device | IOTSmartDevice | 要查询分享状态的设备实体类对象 | 是 |  |

例子:

\- (**void**)getShareDeviceInfo{ \[IOTSmartDeviceShare IOTCloudSDK\_getDeviceShareInfoWithDevice:@"your\_device" success:^(NSArray<iotsmartdevicesharesinglemodel \*=""> *deviceShareListModelArr){ NSLog(@"getShareDeviceInfo success"); } failure:^(int errNo,NSString*errMessage) { NSLog(@"getShareDeviceInfo failure: %@", errMessage); }\]; }</iotsmartdevicesharesinglemodel>

### 取消对某用户的分享

取消对某用户的分享。取消成功后,默认会向被分享方发送取消分享消息。

请求参数:

| 参数名 | 类型 | 说明 | 备注 | 必需 |
| --- | --- | --- | --- | --- |
| shareSingleModel | IOTSmartDeviceShareSingleModel | 以上8.2接口获得 | 是 |  |
| device | IOTSmartDevice | 分享设备实体类对象 | 是 |  |

例子:

\- (**void**)cancleShare{ \[IOTSmartDeviceShare IOTCloudSDK\_cancleShareWithShareSingle:@"your\_shareSingleModel" device: @"your\_shareDevice" success:^ { NSLog(@"cancleShare success"); } failure:^(int errNo,NSString \*errMessage) { NSLog(@"cancleShare failure: %@", errMessage); }\]; }

### 最近分享用户列表

获取最近分享用户列表。获取成功返IOTSmartAccountModel实体类对象数组。

请求参数:无

例子:

\- (**void**)getRecentShareAccountList{ \[IOTSmartDeviceShare IOTCloudSDK\_getRecentShareAccountListSuccess:^( NSArray<iotsmartaccountmodel \*=""> *recentShareAccountListModelArr) { NSLog(@"getRecentShareAccountList success"); } failure:^(int errNo,NSString*errMessage) { NSLog(@"getRecentShareAccountList failure: %@", errMessage); }\]; }</iotsmartaccountmodel>

### 验证用户是否可以被分享

验证某设备是否可以被分享给某用户。success可以被分享,即未被分享过,failure已被分享过或其他错误。

验证手机号是否可以被分享。

请求参数:

| 参数名 | 类型 | 说明 | 备注 | 必需 |
| --- | --- | --- | --- | --- |
| phoneNum | String | 试图被分享用户手机号 | 是 |  |
| device | IOTSmartDevice | 分享设备实体类对象 | 是 |  |

例子:

\- (**void**)verifyShareUser{ \[IOTSmartDeviceShare IOTCloudSDK\_verifyShareUserWithPhone:@"your\_share\_phone" device: @"your\_shareDevice" success:^(IOTSmartAccountModel *accountModel) { NSLog(@"verifyShareUser success"); } failure:^(int errNo,NSString*errMessage) { NSLog(@"verifyShareUser failure: %@", errMessage); }\]; }

验证邮箱是否可以被分享。

请求参数:

| 参数名 | 类型 | 说明 | 备注 | 必需 |
| --- | --- | --- | --- | --- |
| email | String | 试图被分享用户邮箱 | 是 |  |
| device | IOTSmartDevice | 分享设备实体类对象 | 是 |  |

例子:

\- (**void**)verifyShareUser{ \[IOTSmartDeviceShare IOTCloudSDK\_verifyShareUserWithEmail:@"your\_share\_email" device: @"your\_shareDevice" success:^(IOTSmartAccountModel *accountModel) { NSLog(@"verifyShareUser success"); } failure:^(int errNo,NSString*errMessage) { NSLog(@"verifyShareUser failure: %@", errMessage); }\]; }

### 添加分享给某用户

分享某设备给某用户。分享成功默认会向被分享方发送添加分享消息。

手机号账户添加分享。

请求参数:

| 参数名 | 类型 | 说明 | 备注 | 必需 |
| --- | --- | --- | --- | --- |
| accountModel | IOTSmartAccountModel | 以上8.5.1接口获得 | 是 |  |
| device | IOTSmartDevice | 分享设备实体类对象 | 是 |  |

例子:

\- (**void**)addShare{ \[IOTSmartDeviceShare IOTCloudSDK\_addShareWithAccount:@"your\_share\_accountModel" device: @"your\_shareDevice" success:^ { NSLog(@"addShare success"); } failure:^(int errNo,NSString \*errMessage) { NSLog(@"addShare failure: %@", errMessage); }\]; }

\**8\*\***.6.2**\*\*、**邮箱账户添加分享。

请求参数:

| 参数名 | 类型 | 说明 | 备注 | 必需 |
| --- | --- | --- | --- | --- |
| accountModel | IOTSmartAccountModel | 以上8.5.2接口获得 | 是 |  |
| device | IOTSmartDevice | 分享设备实体类对象 | 是 |  |

例子:

\- (**void**)addShare{ \[IOTSmartDeviceShare IOTCloudSDK\_addShareWithEmailAccount:@"your\_share\_accountModel" device: @"your\_shareDevice" success:^ { NSLog(@"addShare success"); } failure:^(int errNo,NSString \*errMessage) { NSLog(@"addShare failure: %@", errMessage); }\]; }

### 删除来自某用户分享的设备

删除分享设备。删除成功默认会向分享方发送删除分享消息。

请求参数:

| 参数名 | 类型 | 说明 | 备注 | 必需 |
| --- | --- | --- | --- | --- |
| device | IOTSmartDevice | 分享设备实体类对象 | 是 |  |
| fUserId | Int | 分享方用户的id | 是 |  |

例子:

\- (**void**)delShare{ \[IOTSmartDeviceShare IOTCloudSDK\_delShareDeviceWithShareDevice:@"your\_shareDevice" fUserId: @"your\_shareDevice\_fUserId" success:^ { NSLog(@"delShare success"); } failure:^(int errNo,NSString \*errMessage) { NSLog(@"delShare failure: %@", errMessage); }\]; }

### 获取分享消息列表

获取用户分享消息列表。获取成功返回IOTSmartShareMessageListModel实体类对象数组。

请求参数:无

例子:

\- (**void**)getShareMsgList{ \[IOTSmartDeviceShare IOTCloudSDK\_getShareMsgListSuccess:^(NSArray<iotsmartsharemessagelistmodel \*=""> *deviceShareListModelArr) { NSLog(@"getShareMsgList success"); } failure:^(int errNo,NSString*errMessage) { NSLog(@"getShareMsgList failure: %@", errMessage); }\]; }</iotsmartsharemessagelistmodel>

### 接受来自某用户的设备分享

分享消息状态为待接受的可以选择接受分享。接受成功默认会向分享方发送接受分享消息。

请求参数:

| 参数名 | 类型 | 说明 | 备注 | 必需 |
| --- | --- | --- | --- | --- |
| messageListModel | IOTSmartShareMessageListModel | 通过以上接口8.8获得 | 是 |  |

例子:

\- (**void**)acceptShare{ \[IOTSmartDeviceShare IOTCloudSDK\_acceptShareWithMessageListMode:@"your\_shareMsgModel" success:^ { NSLog(@"acceptShare success"); } failure:^(int errNo,NSString \*errMessage) { NSLog(@"acceptShare failure: %@", errMessage); }\]; }

### 批量删除分享消息

删除分享消息,若要删除分享消息状态为待接受。删除成功默认会向分享方发送拒绝分享消息。

请求参数:

| 参数名 | 类型 | 说明 | 备注 | 必需 |
| --- | --- | --- | --- | --- |
| messageListModelArr | NSArray | 数组元素为IOTSmartShareMessageListModel实体类对象 | 通过以上接口8.8获得 | 是 |

例子:

\- (**void**)delShareMsg{ \[IOTSmartDeviceShare IOTCloudSDK\_delShareMsgWithMessageListModelArr:@"your\_shareMsgArr" success:^ { NSLog(@"delShareMsg success"); } failure:^(int errNo,NSString \*errMessage) { NSLog(@"delShareMsg failure: %@", errMessage); }\]; }

## 意见反馈

意见反馈相关的所有功能对应IOTSmartFeedback类。

### 获取某产品意见反馈列表

获取意见反馈列表。获取成功返回IOTSmartFeedBackListModel实体类对象数组。

请求参数:

| 参数名 | 类型 | 说明 | 备注 | 必需 |
| --- | --- | --- | --- | --- |
| device | IOTSmartDevice | 是 |  |  |

例子:

\- (**void**)getFeedbackList{ \[IOTSmartFeedback IOTCloudSDK\_getFeedBackListWithDevice:@"your\_device" success:^ (NSArray<iotsmartfeedbacklistmodel \*=""> *fbListModelArr){ NSLog(@"getFeedbackList success"); } failure:^(int errNo,NSString*errMessage) { NSLog(@"getFeedbackList failure: %@", errMessage); }\]; }</iotsmartfeedbacklistmodel>

### 获取某意见反馈类型

获取意见反馈类型。获取成功返回IOTSmartFeedBackTypeModel实体类对象数组。

请求参数:无

例子:

\- (**void**)getFeedbackType{ \[IOTSmartFeedback IOTCloudSDK\_getFeedBackTypeSuccess:^ (NSArray<iotsmartfeedbacktypemodel \*=""> *fbTypeModelArr){ NSLog(@"getFeedbackType success"); } failure:^(int errNo,NSString*errMessage) { NSLog(@"getFeedbackType failure: %@", errMessage); }\]; }</iotsmartfeedbacktypemodel>

### 提交意见反馈

请求参数:

| 参数名 | 类型 | 说明 | 备注 | 必需 |
| --- | --- | --- | --- | --- |
| device | IOTSmartDevice | 是 |  |  |
| fbTypemodel | IOTSmartFeedBackTypeModel | 从以上接口9.2获得 | 是 |  |
| account | String | 反馈账户 | 是 |  |
| content | String | 反馈内容 | 是 |  |
| imgDataArray | NSArray | 反馈图片数据数组 | 数组元素为NSData | 是 |

例子:

\- (**void**)submitFeedback{ \[IOTSmartFeedback IOTCloudSDK\_saveFeedBackWithDevice:@"your\_device" fbTypemodel:@"your\_fbTypeModel" account:@"your\_account" content:@"your\_feebbackContent" imgDataArray:@"your\_feedbackImgDataArr" success:^{ NSLog(@"submitFeedback success"); } failure:^(int errNo,NSString \*errMessage) { NSLog(@"submitFeedback failure: %@", errMessage); }\]; }

## 获取地理位置和实时天气

地理位置天气相关的所有功能对应IOTSmartLocationAndWeather类。

### 获取当前地理位置

获取地理位置。获取成功返回IOTSmartLocationModel实体类对象。

请求参数:无

例子:

\- (**void**)getLocation{ \[IOTSmartLocationAndWeather IOTCloudSDK\_getAppLocationSuccess:^ (IOTSmartLocationModel *locationModel){ NSLog(@"getLocation success"); } failure:^(int errNo,NSString*errMessage) { NSLog(@"getLocation failure: %@", errMessage); }\]; }

### 获取实时天气状况

获取实时天气。获取成功返回IOTSmartWeatherModel实体类对象。

请求参数:

| 参数名 | 类型 | 说明 | 备注 | 必需 |
| --- | --- | --- | --- | --- |
| lon | float | 经度 | 是 |  |
| lat | float | 纬度 | 是 |  |

例子:

\- (**void**)getWeather{ \[IOTSmartLocationAndWeather IOTCloudSDK\_getWeatherWithLon:@"your\_lon" lat:@"your\_lat" success:^(IOTSmartWeatherModel *weatherModel){ NSLog(@"getWeather success"); } failure:^(int errNo,NSString*errMessage) { NSLog(@"getWeather failure: %@", errMessage); }\]; }

### 获取设备所在地的省市及天气状况

获取某设备所在省市及天气。获取成功返回IOTSmartDeviceWeatherAndLocationModel实体类对象。

请求参数:

| 参数名 | 类型 | 说明 | 备注 | 必需 |
| --- | --- | --- | --- | --- |
| device | IOTSmartDevice | 是 |  |  |

例子:

\- (**void**)getDeviceLocationAndWeather{ \[IOTSmartLocationAndWeather IOTCloudSDK\_getDeviceLocationAndWeatherWithDevice:@"your\_device" success:^(IOTSmartDeviceWeatherAndLocationModel *weatherAndLocationModel){ NSLog(@"getDeviceLocationAndWeather success"); } failure:^(int errNo,NSString*errMessage) { NSLog(@"getDeviceLocationAndWeather failure: %@", errMessage); }\]; }