Last Updated on : 2024-08-28 01:53:19download
Request the devices and scenes in a room and access methods related to scenes. Device and scene data uses RoomInfoBean
, which contains the following properties.
Property | Type | Description |
---|---|---|
ruleList | List |
The list of scenes in a room. |
deviceSortList | List |
The list of devices in a room. |
Properties of SceneInRoom
:
Property | Type | Description |
---|---|---|
ruleId | String | The scene ID. |
ruleName | int | The scene name. |
background | String | The background color, for example, #ffffff. |
icon | String | The scene icon. |
Properties of DeviceOrGroupInRoom
:
Property | Type | Description |
---|---|---|
bizId | String | The ID of the device or group. |
bizType | int | Type
|
displayOrder | int | The display order. |
Access the method in the Home SDK through PluginManager.service(IThingHomePlugin::class.java).newHomeInstance(homeId)
.
API description
void queryRoomDevSceneList(long roomId, IThingResultCallback<RoomInfoBean> callback);
Parameters
Parameter | Description |
---|---|
roomId | The room ID. |
callback | The success callback. |
Example
val homePlugin = PluginManager.service(IThingHomePlugin::class.java)
homePlugin.newHomeInstance(homeId).queryRoomDevSceneList(id,object :
IThingResultCallback<RoomInfoBean>{
override fun onSuccess(result: RoomInfoBean?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
Sort the devices or groups in a room, and move a device or group to another room (add and delete a device or group). Pass in the room ID after sorting and the device or group to edit. Make a callback
on success.
API description
void moveRoomDevGroupList(long roomId,List<DeviceInRoomBean> devicesInRoom,IFamilyDataCallback<Boolean> callback);
Parameters
Parameter | Description |
---|---|
roomId | The room ID. |
devicesInRoom | The list of devices or groups. |
callback | The callback. |
Example
var rooId = 0L //0L...
var room:TRoomBean? = null// getRoomList()[0]...
var devinRoomsList = room?.ids
devinRoomsList?.sortedBy { it.id } //sort
devinRoomsList?.removeAt(0)//remove
//add
devinRoomsList?.add(DeviceInRoomBean().apply {
id = "devid"
type = BizParentTypeEnum.DEVICE.getType()
})
devinRoomsList?.add(DeviceInRoomBean().apply {
id = "groupid"
type = BizParentTypeEnum.GROUP.getType()
})
FamilyManagerCoreKit.getRoomUseCase().moveRoomDevGroupList(rooId, devinRoomsList , object :IFamilyDataCallback<Boolean>{
override fun onSuccess(result: Boolean?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
Add a paired device to a room. Make a callback
on success.
API description
void addDeviceInRoom(long roomId,String devId,
IFamilyDataCallback<Boolean> callback) ;
Parameters
Parameter | Description |
---|---|
deviceId | The ID of the target device. |
roomId | The room ID. |
callback | The callback. |
Example
FamilyManagerCoreKit.getRoomUseCase().addDeviceInRoom(homeId, devId , object :IFamilyDataCallback<Boolean>{
override fun onSuccess(result: Boolean?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
Remove a device from a room. This operation does not remove the device from the home. Make a callback
on success.
API description
void removeDeviceFromRoom(long roomId,String devId,IFamilyDataCallback<Boolean> callback) ;
Parameters
Parameter | Description |
---|---|
devId | The ID of the target device. |
roomId | The room ID. |
callback | The callback. |
Example
FamilyManagerCoreKit.getRoomUseCase().removeDeviceFromRoom(homeId, devId , object :IFamilyDataCallback<Boolean>{
override fun onSuccess(result: Boolean?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
Add a group to a room. Make a callback on success
.
API description
void addGroupInRoom(long roomId,long gId,IFamilyDataCallback<Boolean> callback) ;
Parameters
Parameter | Description |
---|---|
gId | The ID of the target group. |
roomId | The room ID. |
callback | The callback. |
Example
FamilyManagerCoreKit.getRoomUseCase().addGroupInRoom(homeId, gid , object :IFamilyDataCallback<Boolean>{
override fun onSuccess(result: Boolean?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
Remove a group from a room. Make a callback on success
. This operation does not remove the group from the home.
API description
void removeGroupFromRoom(long roomId, long gId, IFamilyDataCallback<Boolean> callback) ;
Parameters
Parameter | Description |
---|---|
gId | The ID of the target group. |
roomId | The room ID. |
callback | The success callback. |
Example
FamilyManagerCoreKit.getRoomUseCase().removeGroupFromRoom(homeId, gId , object :IFamilyDataCallback<Boolean>{
override fun onSuccess(result: Boolean?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
Is this page helpful?
YesFeedbackIs this page helpful?
YesFeedback