设备分组
更新时间:2026-10-28 11:07:34
// 导入接口模块
import { RTCXDeviceGroupMgr, RTCXDeviceMgrTypes } from 'rtcxsdk'
对用户下的设备进行分组管理
/**
* 分组添加设备
*
* @param groupId - groupId 分组ID
* @param iotIdList - 设备ID列表
* @public
*/
declare function groupAddDevice(groupId: number, iotIdList: string[]): Promise<void>;
/**
* 创建分组
*
* @param name - 分组名称
* @param iotIdList - 设备ID列表 可选
* @param homeId - 家庭ID 可选
* @public
*/
declare function groupCreate(name: string, iotIdList?: string[], homeId?: number): Promise<void>;
/**
* 删除分组
*
* @param groupId - 分组ID
* @public
*/
declare function groupDelete(groupId: number): Promise<void>;
/**
* 分组删除设备
*
* @param groupId - 分组ID
* @param iotIdList - 设备ID列表
* @public
*/
declare function groupDeleteDevice(groupId: number, iotIdList: string[]): Promise<void>;
/**
* Group info
* @public
*/
declare interface GroupInfo {
/**
* 分组ID
*/
groupId: number;
/**
* 分组名称
*/
name: string;
/**
* 设备数量
*/
deviceCount: number;
/**
* 设备列表
*/
deviceList?: IDeviceInfo[];
}
/**
* 分组列表
*
* @param pageNo - 页码
* @param pageSize - 每页数量 最大20
* @param homeId - 家庭ID,为null查询普通分组列表
* @public
*/
declare function groupList(pageNo: number, pageSize: number, homeId?: number): Promise<GroupListRsp | undefined>;
/**
* 设备分组列表返回
* @public
*/
declare interface GroupListRsp {
/**
* 总数
*/
total: number;
/**
* 页码
*/
pageNo: number;
/**
* 每页数量
*/
pageSize: number;
/**
* 返回记录数
*/
items: GroupInfo[];
}
/**
* 更新分组名称
*
* @param groupId - 分组ID
* @param name - 分组名称
* @public
*/
declare function groupUpdate(groupId: number, name: string): Promise<void>;
/**
* Home info
*
* @public
*/
declare interface HomeInfo {
/**
* 家庭ID
*/
homeId: number;
/**
* 家庭名称
*/
name: string;
/**
* 是否是默认家庭
*/
isDefault: boolean;
deviceCount: number;
groupList?: GroupInfo[];
}
/**
* 家庭列表返回
*
* @public
*/
declare interface HomeListRsp {
/**
* 总数
*/
total: number;
/**
* 页码
*/
pageNo: number;
/**
* 每页数量
*/
pageSize: number;
/**
* 返回记录数
*/
items: HomeInfo[];
}
/**
* 创建家庭
*
* @param name - 家庭名称
* @param groupList - 新建分组列表 (可选)
* @public
*/
declare function homeManagerCreate(name: string, groupList?: string[]): Promise<void>;
/**
* 删除家庭
*
* @param homeId - 家庭ID
* @public
*/
declare function homeManagerDelete(homeId: number): Promise<void>;
/**
* 家庭列表
*
* @param pageNo - 页码
* @param pageSize - 每页数量
* @public
*/
declare function homeManagerList(pageNo: number, pageSize: number): Promise<HomeListRsp | undefined>;
/**
* 更新家庭信息 (仅支持修改名称)
*
* @param homeId - 家庭ID
* @param name - 家庭名称
* @public
*/
declare function homeManagerUpdate(homeId: number, name: string): Promise<void>;
export declare namespace RTCXDeviceGroupMgr {
export {
groupCreate,
groupDelete,
groupUpdate,
groupList,
groupAddDevice,
groupDeleteDevice,
homeManagerCreate,
homeManagerDelete,
homeManagerList,
homeManagerUpdate
}
}
创建分组
/**
* 创建分组
*
* @param name - 分组名称
* @param iotIdList - 设备ID列表 可选
* @param homeId - 家庭ID 可选
* @public
*/
declare function groupCreate(name: string, iotIdList?: string[], homeId?: number): Promise<void>;
示例
import { RTCXDeviceGroupMgr, RTCXDeviceMgrTypes } from 'rtcxsdk'
const submitGroupForm = async (name: string) => {
try {
await RTCXDeviceGroupMgr.groupCreate(name, undefined, groupForm.homeId)
fetchGroupList()
} catch (e) {
console.error('操作失败')
}
}
删除分组
/**
* 删除分组
*
* @param groupId - 分组ID
* @public
*/
declare function groupDelete(groupId: number): Promise<void>;
示例
import { RTCXDeviceGroupMgr, RTCXDeviceMgrTypes } from 'rtcxsdk'
const handleDeleteGroup = async (groupId: number) => {
try {
await RTCXDeviceGroupMgr.groupDelete(groupId)
console.info('删除成功')
fetchGroupList()
} catch (e) {
console.error('删除失败')
}
}
更新分组名称
/**
* 更新分组名称
*
* @param groupId - 分组ID
* @param name - 分组名称
* @public
*/
declare function groupUpdate(groupId: number, name: string): Promise<void>;
示例
import { RTCXDeviceGroupMgr, RTCXDeviceMgrTypes } from 'rtcxsdk'
const submitGroupForm = async (groupId:string, name: string) => {
try {
await RTCXDeviceGroupMgr.groupUpdate(groupId, name)
console.info('更新成功')
fetchGroupList()
} catch (e) {
console.error('操作失败')
}
}
分组列表
/**
* 分组列表
*
* @param pageNo - 页码
* @param pageSize - 每页数量 最大20
* @param homeId - 家庭ID,为null查询普通分组列表
* @public
*/
declare function groupList(pageNo: number, pageSize: number, homeId?: number): Promise<GroupListRsp | undefined>;
示例
import { RTCXDeviceGroupMgr, RTCXDeviceMgrTypes } from 'rtcxsdk'
const fetchGroupList = async (pageNo:number, pageSize:number) => {
try {
const res = (await RTCXDeviceGroupMgr.groupList(
pageNo,
pageSize
)) as RTCXDeviceMgrTypes.GroupListRsp
console.info(res)
} catch (e) {
console.error(e)
}
}
分组添加设备
/**
* 分组添加设备
*
* @param groupId - groupId 分组ID
* @param iotIdList - 设备ID列表
* @public
*/
declare function groupAddDevice(groupId: number, iotIdList: string[]): Promise<void>;
示例
import { RTCXDeviceGroupMgr, RTCXDeviceMgrTypes } from 'rtcxsdk'
const handleAddDevice = async (groupId: number, iotIdList: string[]) => {
try {
await RTCXDeviceGroupMgr.groupAddDevice(groupId, iotIdList)
console.info('添加设备成功')
} catch (e) {
console.error(e)
}
}
分组删除设备
/**
* 分组删除设备
*
* @param groupId - 分组ID
* @param iotIdList - 设备ID列表
* @public
*/
declare function groupDeleteDevice(groupId: number, iotIdList: string[]): Promise<void>;
示例
import { RTCXDeviceGroupMgr, RTCXDeviceMgrTypes } from 'rtcxsdk'
const handleDeleteDevice = async (groupId: number, iotIdList: string[]) => {
try {
await RTCXDeviceGroupMgr.groupDeleteDevice(groupId, iotIdList)
console.success('移除设备成功')
} catch (e) {
console.error(e)
}
}
创建家庭
/**
* 创建家庭
*
* @param name - 家庭名称
* @param groupList - 新建分组列表 (可选)
* @public
*/
declare function homeManagerCreate(name: string, groupList?: string[]): Promise<void>;
示例
import { RTCXDeviceGroupMgr, RTCXDeviceMgrTypes } from 'rtcxsdk'
const submitHomeForm = async (name: string, groupList?: string[]) => {
try {
const groupListArr = groupList.length > 0 ? groupList : undefined
await RTCXDeviceGroupMgr.homeManagerCreate(name, groupListArr)
console.info('创建成功')
fetchHomeList()
} catch (e) {
console.error('操作失败')
}
}
删除家庭
/**
* 删除家庭
*
* @param homeId - 家庭ID
* @public
*/
declare function homeManagerDelete(homeId: number): Promise<void>;
示例
import { RTCXDeviceGroupMgr, RTCXDeviceMgrTypes } from 'rtcxsdk'
const handleDeleteHome = async (homeId: number) => {
try {
await RTCXDeviceGroupMgr.homeManagerDelete(homeId)
console.info('删除成功')
fetchHomeList()
} catch (e) {
console.error('操作失败')
}
}
家庭列表
/**
* 家庭列表
*
* @param pageNo - 页码
* @param pageSize - 每页数量
* @public
*/
declare function homeManagerList(pageNo: number, pageSize: number): Promise<HomeListRsp | undefined>;
示例
import { RTCXDeviceGroupMgr, RTCXDeviceMgrTypes } from 'rtcxsdk'
const fetchHomeList = async (pageNo: number, pageSize: number) => {
try {
const res = (await RTCXDeviceGroupMgr.homeManagerList(
pageNo,
pageSize
)) as RTCXDeviceMgrTypes.HomeListRsp
console.info(res?.items || [])
} catch (e) {
console.error(e)
}
}
更新家庭信息
/**
* 更新家庭信息 (仅支持修改名称)
*
* @param homeId - 家庭ID
* @param name - 家庭名称
* @public
*/
declare function homeManagerUpdate(homeId: number, name: string): Promise<void>;
示例
import { RTCXDeviceGroupMgr, RTCXDeviceMgrTypes } from 'rtcxsdk'
const submitHomeForm = async (homeId: number, name: string) => {
try {
await RTCXDeviceGroupMgr.homeManagerUpdate(homeId, name)
console.info('更新成功')
fetchHomeList()
} catch (e) {
console.error('操作失败')
}
}