更新时间:2022-02-17 05:45:59下载pdf
接口说明
TuyaCommercialLightingProject.newProjectInstance(long projectId)
.getAreaList(ITuyaResultCallback<List<AreaBean>> callback);
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
示例代码
TuyaCommercialLightingProject.newProjectInstance(projectId).getAreaList(
new ITuyaResultCallback<List<AreaBean>>() {
@Override
public void onSuccess(List<AreaBean> result) {
//success callback
}
@Override
public void onError(String errorCode, String errorMessage) {
// error callback
}
});
接口说明
TuyaCommercialLightingArea.newAreaInstance(long projectId, long areaId).getSubAreaList(
ITuyaResultCallback<List<AreaBean>> listener
);
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
示例代码
TuyaCommercialLightingArea.newAreaInstance(long projectId, long areaId).getSubAreaList(
new ITuyaResultCallback<List<AreaBean>>() {
@Override
public void onSuccess(List<AreaBean> result) {
//success callback
}
@Override
public void onError(String errorCode, String errorMessage) {
// error callback
}
}
);
接口说明
获取项目下的一级层级列表
TuyaCommercialLightingProject.newProjectInstance(long projectId).getAreaLevels(
boolean needUnassignedArea,
boolean needPublicArea,
ITuyaResultCallback<AreaListInProjectResponse> callback
) ;
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
needUnassignedArea | 是否返回未分区层级 |
needPublicArea | 是否返回公共区域层级 |
示例代码
TuyaCommercialLightingProject.newProjectInstance(projectId).getAreaLevels(needUnassignedArea, needPublicArea, new ITuyaResultCallback<AreaListInProjectResponse>() {
@Override
public void onSuccess(AreaListInProjectResponse result) {
//success callback
}
@Override
public void onError(String errorCode, String errorMessage) {
//error callback
}
});
接口说明
TuyaCommercialLightingArea.newAreaInstance(long projectId, long areaId).getAreaInfo(
ITuyaResultCallback<SimpleAreaBean> callback
);
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
示例代码
TuyaCommercialLightingArea.newAreaInstance(projectId, areaId).getAreaInfo(new ITuyaResultCallback<SimpleAreaBean>() {
@Override
public void onSuccess(SimpleAreaBean result) {
//success callback
}
@Override
public void onError(String errorCode, String errorMessage) {
//error callback
}
});
接口说明
TuyaCommercialLightingArea.newAreaInstance(long projectId, long areaId).queryDeviceListInArea(
String tag, int limit, String offsetKey, ITuyaResultCallback<LightingDeviceListBean> callback
);
参数说明
参数 | 说明 |
---|---|
tag | 设备列表条件分类,默认传空 |
limit | 每页请求的设备数量 |
offsetKey | 当前页码,第一页传1,后续页数依次递增 |
callback | 结果回调 |
示例代码
TuyaCommercialLightingArea.newAreaInstance(mProjectId, mAreaId).queryDeviceListInArea("", 20,
"1", new ITuyaResultCallback<LightingDeviceListBean>() {
@Override
public void onSuccess(LightingDeviceListBean result) {
//success callback0
}
@Override
public void onError(String errorCode, String errorMessage) {
//error callback
}
});
接口说明
TuyaCommercialLightingArea.getLightingAreaManager().createArea(
long projectId,
long currentAreaId,
String name,
int roomLevel,
ITuyaResultCallback<SimpleAreaBean> callback
);
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
currentAreaId | 当前区域ID,若无传 0 |
name | 区域名称 |
roomLevel | 创建的区域层级ID |
示例代码
TuyaCommercialLightingArea.getLightingAreaManager().createArea(projectId, currentAreaId, name, roomLevel, new ITuyaResultCallback<SimpleAreaBean>() {
@Override
public void onSuccess(SimpleAreaBean result) {
//success callback
}
@Override
public void onError(String errorCode, String errorMessage) {
//error callback
}
});
接口说明
TuyaCommercialLightingArea.getLightingAreaManager().createArea(
long projectId,
long currentAreaId,
String name,
int roomLevel,
double longitude,
double latitude,
String address,
ITuyaResultCallback<SimpleAreaBean> callback
);
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
currentAreaId | 当前区域ID,若无传 0 |
name | 区域名称 |
roomLevel | 创建的区域层级ID |
longitude | 当前区域位置的经度 |
latitude | 当前区域位置的维度 |
address | 当前区域地址 |
callback | 回调 |
示例代码
TuyaCommercialLightingArea.getLightingAreaManager().createArea(projectId, currentAreaId, name, roomLevel, longitude, latitude, address, new ITuyaResultCallback<SimpleAreaBean>() {
@Override
public void onSuccess(SimpleAreaBean result) {
//success callback
}
@Override
public void onError(String errorCode, String errorMessage) {
//error callback
}
});
接口说明
TuyaCommercialLightingArea.newAreaInstance(long projectId, long areaId).createSubArea(
String subAreaName,
ITuyaResultCallback<SimpleAreaBean> callback
);
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
subAreaName | 子区域名称 |
示例代码
TuyaCommercialLightingArea.newAreaInstance(projectId, areaId).createSubArea(subAreaName, new ITuyaResultCallback<SimpleAreaBean>() {
@Override
public void onSuccess(SimpleAreaBean result) {
//success callback
}
@Override
public void onError(String errorCode, String errorMessage) {
//error callback
}
});
接口说明
TuyaCommercialLightingArea.newAreaInstance(long projectId, long areaId).createSubArea(
String subAreaName,
double longitude,
double latitude,
String address,
ITuyaResultCallback<SimpleAreaBean> callback
);
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
subAreaName | 子区域名称 |
longitude | 区域位置经度 |
latitude | 区域位置纬度 |
address | 区域实际位置地址:经纬度定位到的位置 |
示例代码
TuyaCommercialLightingArea.newAreaInstance(projectId, areaId).createSubArea(subAreaName, longitude, latitude, address, new ITuyaResultCallback<SimpleAreaBean>() {
@Override
public void onSuccess(SimpleAreaBean result) {
//success callback
}
@Override
public void onError(String errorCode, String errorMessage) {
//error callback
}
});
接口说明
TuyaCommercialLightingArea.newAreaInstance(long projectId, long areaId).createParentArea(
String parentAreaName,
ITuyaResultCallback<SimpleAreaBean> callback
);
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
parentAreaName | 父区域名称 |
示例代码
TuyaCommercialLightingArea.newAreaInstance(projectId, areaId).createParentArea(parentAreaName, new ITuyaResultCallback<SimpleAreaBean>() {
@Override
public void onSuccess(SimpleAreaBean result) {
//success callback
}
@Override
public void onError(String errorCode, String errorMessage) {
//error callback
}
});
接口说明
TuyaCommercialLightingArea.newAreaInstance(long projectId, long areaId).createParentArea(
String parentAreaName,
double longitude,
double latitude,
String address,
ITuyaResultCallback<SimpleAreaBean> callback
);
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
parentAreaName | 父区域名称 |
longitude | 区域位置经度 |
latitude | 区域位置纬度 |
address | 区域实际位置地址:经纬度定位到的位置 |
示例代码
TuyaCommercialLightingArea.newAreaInstance(projectId, areaId).createParentArea(parentAreaName, longitude, latitude, address, new ITuyaResultCallback<SimpleAreaBean>() {
@Override
public void onSuccess(SimpleAreaBean result) {
//success callback
}
@Override
public void onError(String errorCode, String errorMessage) {
//error callback
}
});
接口说明
TuyaCommercialLightingArea.newAreaInstance(long projectId, long areaId).updateName(
String name,
ITuyaResultCallback<Boolean> callback
);
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
name | 区域名称 |
示例代码
TuyaCommercialLightingArea.newAreaInstance(projectId, areaId).updateName(name, new ITuyaResultCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
//success callback
}
@Override
public void onError(String errorCode, String errorMessage) {
//error callback
}
});
接口说明
TuyaCommercialLightingArea.newAreaInstance(long projectId, long areaId).updateAreaInfo(
String name,
double longitude,
double latitude,
String address,
ITuyaResultCallback<Boolean> callback
);
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
name | 区域名称 |
longitude | 区域位置经度 |
latitude | 区域位置纬度 |
address | 区域实际位置地址:经纬度定位到的位置 |
示例代码
TuyaCommercialLightingArea.newAreaInstance(projectId, areaId).updateAreaInfo(name,longitude,latitude,address, new ITuyaResultCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
//success callback
}
@Override
public void onError(String errorCode, String errorMessage) {
//error callback
}
});
接口说明
TuyaCommercialLightingArea.newAreaInstance(long projectId, long areaId).delete(
ITuyaResultCallback<Boolean> callback
);
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
示例代码
TuyaCommercialLightingArea.newAreaInstance(long projectId, long areaId).delete(
new ITuyaResultCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
//success callback
}
@Override
public void onError(String errorCode, String errorMessage) {
//error callback
}
}
);
设备转移是指将部分设备从一个区域转移到另外一个区域的操作,设备转移过程较复杂,下图为设备转移的大致流程:
接口说明
TuyaCommercialLightingArea
.newAreaInstance(long projectId, long areaId)
.transferDevices(List<String> devIds,DefaultDeviceTransferListener transferListener)
参数说明
参数 | 说明 |
---|---|
devIds | 设备ID集合 |
transferListener | 区域转移过程及结果回调 |
其中,DefaultDeviceTransferListener回调各方法说明如下:
public abstract class DefaultDeviceTransferListener implements IDeviceTransferListener {
@Override
public void onFilterMeshDeviceFail(String errorMsg, String errorCode) {
//过滤mesh设备失败回调
}
@Override
public void removeDeviceFromGroupByLocalError(long groupId, List<String> devIds, String errorMsg, String errorCode) {
//将设备从本地群组中移除操作失败
}
@Override
public void removeDeviceFromGroupByCloudError(long groupId, List<String> devIds, String errorMsg, String errorCode) {
//将设备从云端群组中移除失败
}
@Override
public void saveDevicesToNewAreaError(long areaId, List<String> devIds, String errorMsg, String errorCode) {
//将设备分配到新区域下操作失败
}
@Override
public void createNewGroupError(long areaId, List<String> devIds, String errorMsg, String errorCode) {
//创建新群组失败
}
@Override
public void bindDeviceToGroupByLocalError(long groupId, String devId, String errorMsg, String errorCode) {
//本地将mesh设备绑定到群组中操作失败
}
@Override
public void bindDeviceToGroupByGroupError(long groupId, List<String> devId, String errorMsg, String errorCode) {
//云端将设备绑定到群组中操作失败
}
@Override
public void onTransferStateChanged(@TransferState int state) {
//无须关注
}
@Override
public void onDeviceOperationByLocal(@TransferState int state, @DeviceOperationType int operationType,
List<ComplexDeviceBean> deviceBeans, boolean success) {
//无须关注
}
@Override
public void onResult(List<FilterGroup> filterGroups) {
//过时的结果回调,请勿使用,可使用handleResult回调
}
//最终结果回调,流程结束后会走到该回调
@Override
public abstract void handleResult(TransferResultSummary transferResultSummary);
//异常回调,走到该回调表示设备转移操作出现异常,此时不会触发handleResult回调
@Override
public abstract void onError(String errorMsg, String errorCode);
}
接口说明
ILightingStandardAreaDpsManager areaDpsManager = TuyaCommercialLightingArea
.newAreaInstance(long projectId,long areaId)
.getLightingStandardAreaDpsManagerInstance();
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
示例代码
ILightingStandardAreaDpsManager areaDpsManager = TuyaCommercialLightingArea
.newAreaInstance(projectId,areaId)
.getLightingStandardAreaDpsManagerInstance();
接口说明
TuyaCommercialLightingArea
.newAreaInstance(long projectId,long areaId)
.getLightingStandardAreaDpsManagerInstance()
.getDps();
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
示例代码
String areaDps = TuyaCommercialLightingArea
.newAreaInstance(projectId,areaId)
.getLightingStandardAreaDpsManagerInstance()
.getDps();
接口说明
TuyaCommercialLightingArea
.newAreaInstance(long projectId,long areaId)
.getLightingStandardAreaDpsManagerInstance()
.getSwitchStatus()
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
示例代码
boolean switchOn = TuyaCommercialLightingArea
.newAreaInstance(projectId,areaId)
.getLightingStandardAreaDpsManagerInstance()
.getSwitchStatus()
接口说明
TuyaCommercialLightingArea
.newAreaInstance(long projectId,long areaId)
.getLightingStandardAreaDpsManagerInstance()
.getBrightPercent()
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
示例代码
int brightnessPercent = TuyaCommercialLightingArea
.newAreaInstance(projectId,areaId)
.getLightingStandardAreaDpsManagerInstance()
.getBrightPercent()
接口说明
TuyaCommercialLightingArea
.newAreaInstance(long projectId,long areaId)
.getLightingStandardAreaDpsManagerInstance()
.getTemperaturePercent()
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
示例代码
int temperaturePercent = TuyaCommercialLightingArea
.newAreaInstance(projectId,areaId)
.getLightingStandardAreaDpsManagerInstance()
.getTemperaturePercent();
接口说明
TuyaCommercialLightingArea
.newAreaInstance(long projectId,long areaId)
.getLightingStandardAreaDpsManagerInstance()
.getColorData();
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
示例代码
String colorData = TuyaCommercialLightingArea
.newAreaInstance(projectId,areaId)
.getLightingStandardAreaDpsManagerInstance()
.getColorData();
接口说明
TuyaCommercialLightingArea
.newAreaInstance(long projectId,long areaId)
.getLightingStandardAreaDpsManagerInstance()
.getSceneStatus();
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
示例代码
LightDefaultSceneType sceneType = TuyaCommercialLightingArea
.newAreaInstance(projectId,areaId)
.getLightingStandardAreaDpsManagerInstance()
.getSceneStatus();
接口说明
TuyaCommercialLightingArea
.newAreaInstance(long projectId,long areaId)
.getLightingStandardAreaDpsManagerInstance()
.getCurrentMode();
参数说明
参数 | 说明 |
---|---|
projectId | 项目ID |
areaId | 区域ID |
示例代码
AreaDpMode areaDpMode = TuyaCommercialLightingArea
.newAreaInstance(projectId,areaId)
.getLightingStandardAreaDpsManagerInstance()
.getCurrentMode();
区域群控是指对该区域下的设备进行总控的一种功能,目前支持的区域总控功能为开关
、亮度
、模式
、色温
等,该部分功能必须在TuyaCommercialLightingArea#newAreaInstance#getSubAreaList接口调用后获取当前区域的AreaBean信息后再进行!
接口说明
TuyaCommercialLightingArea
.newAreaInstance(long projectId,long areaId)
.getLightingStandardAreaDpsManagerInstance()
.publishSwitchStatus(boolean status, final IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
status | 开关状态,true:开启 false:关闭 |
callback | 执行结果回调 |
示例代码
TuyaCommercialLightingArea
.newAreaInstance(projectId,areaId)
.getLightingStandardAreaDpsManagerInstance()
.publishSwitchStatus(true,new IResultCallback() {
@Override
public void onError(String errorCode, String errorMsg) {
if (callback != null) {
callback.onError(errorCode, errorMsg);
}
}
@Override
public void onSuccess() {
if (callback != null) {
callback.onSuccess();
}
}
});
接口说明
当前支持三种灯光模式,分别为白光模式、彩光模式和场景模式,分别对应AreaDpMode枚举中的MODE_WHITE_LIGHT、MDOE_COLORFUL_LIGHT和MODE_SCENE。
接口说明
TuyaCommercialLightingArea
.newAreaInstance(long projectId,long areaId)
.getLightingStandardAreaDpsManagerInstance()
.publishWorkMode(AreaDpMode mode, IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
mode | 要切换的模式的枚举值,包含MODE_WHITE_LIGHT、MDOE_COLORFUL_LIGHT和MODE_SCENE |
callback | 执行结果回调 |
示例代码
TuyaCommercialLightingArea
.newAreaInstance(projectId,areaId)
.getLightingStandardAreaDpsManagerInstance()
.publishWorkMode(AreaDpMode.MODE_WHITE_LIGHT, new IResultCallback() {
@Override
public void onError(String errorCode, String errorMsg) {
if (callback != null) {
callback.onError(errorCode, errorMsg);
}
}
@Override
public void onSuccess() {
if (callback != null) {
callback.onSuccess();
}
}
});
该操作仅支持在白光模式下进行。
接口说明
TuyaCommercialLightingArea
.newAreaInstance(long projectId,long areaId)
.getLightingStandardAreaDpsManagerInstance()
.publishTemperaturePercent(int value, IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
value | 色温值,取值范围0-1000 |
callback | 执行结果回调 |
示例代码
TuyaCommercialLightingArea
.newAreaInstance(projectId,areaId)
.getLightingStandardAreaDpsManagerInstance()
.publishTemperaturePercent(50, new IResultCallback() {
@Override
public void onError(String errorCode, String errorMsg) {
if (callback != null) {
callback.onError(errorCode, errorMsg);
}
}
@Override
public void onSuccess() {
if (callback != null) {
callback.onSuccess();
}
}
});
该操作仅支持在场景模式下进行。
接口说明
TuyaCommercialLightingArea
.newAreaInstance(long projectId,long areaId)
.getLightingStandardAreaDpsManagerInstance()
.publishSceneStatus(LightDefaultSceneType type, IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
type | 场景类型,包含NONE、WORK、MEETING、SIESTA、OFF_DUTY,分表表示无模式、会议模式灯光、工作模式灯光、午休模式灯光和下班模式灯光。 |
callback | 执行结果回调 |
示例代码
TuyaCommercialLightingArea
.newAreaInstance(projectId,areaId)
.getLightingStandardAreaDpsManagerInstance()
.publishSceneStatus(LightDefaultSceneType.WORK, new IResultCallback() {
@Override
public void onError(String errorCode, String errorMsg) {
if (callback != null) {
callback.onError(errorCode, errorMsg);
}
}
@Override
public void onSuccess() {
if (callback != null) {
callback.onSuccess();
}
}
});
该操作仅支持在彩光模式下进行。
通过getColorData获取到彩光模式的数据,该数据为12位的组合数据,组合的规则为hhhhssssvvvv,其中hhhh表示16进制后的色调值,ssss表示16进制后的饱和度值,vvvv表示16进制后的亮度值,可使用stringToHSV方法将colorData转换成hsv的值,代码如下:
public static float[] stringToHSV(String hsv){
int h = Integer.valueOf(hsv.substring(0,4),16);
int s = Integer.valueOf(hsv.substring(4,8),16);
int v = Integer.valueOf(hsv.substring(8,12),16);
return new float[]{(float)h,(float)s,(float)v};
}
并可通过hsvToString将HSV的值转换成colorData,代码如下:
public static String hsvToString(int[] hsv) {
String h = numToHex4(hsv[0]);
String s = numToHex4(hsv[1]);
String v = numToHex4(hsv[2]);
String hhhhssssvvvv = h + s + v;
return hhhhssssvvvv;
}
public static String numToHex4(int num) {
return String.format("%04x", num);
}
接口说明
TuyaCommercialLightingArea
.newAreaInstance(long projectId,long areaId)
.getLightingStandardAreaDpsManagerInstance()
.publishColors(String color, IResultCallback callback);
参数说明
参数 | 说明 |
---|---|
color | 颜色值,16位字符串,格式为hhhhssssvvvv |
callback | 执行结果回调 |
示例代码
TuyaCommercialLightingArea
.newAreaInstance(projectId,areaId)
.getLightingStandardAreaDpsManagerInstance()
.publishColors("hhhhssssvvvv", new IResultCallback() {
@Override
public void onError(String errorCode, String errorMsg) {
if (callback != null) {
callback.onError(errorCode, errorMsg);
}
}
@Override
public void onSuccess() {
if (callback != null) {
callback.onSuccess();
}
}
});
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈