lavva.exalushome
Version:
Library implementing communication and abstraction layers for ExalusHome system
50 lines (49 loc) • 3.88 kB
TypeScript
import { Status } from "../../DataFrame";
import { ResponseResult } from "../FieldChangeResult";
import { AddNewGroupErrorCode, IChannelsGroup, IChannelsGroupsService, SetObjectsInGroupAndOrderResponseCode } from "./IChannelsGroupsService";
import { IDeviceChannel } from "./IDeviceChannel";
import { IDevice } from "./IDevice";
export declare class ChannelsGroupsService implements IChannelsGroupsService {
static readonly ServiceName: string;
private _connection;
private _synchronized;
private _synchronizationTaskCompletionSource;
private _groups;
private _objectsGroupingSupported;
private _configurationService;
constructor();
SetObjectsInGroupAndOrderAsync(group: IChannelsGroup, objects: (IDeviceChannel | IDevice)[]): Promise<ResponseResult<SetObjectsInGroupAndOrderResponseCode>>;
private IsDevice;
private IsDeviceChannel;
private LogGroupsOrder;
private LogObjectsInGroupOrder;
ChangeGroupsOrderAsync(orderedGroups: IChannelsGroup[]): Promise<Status>;
ChangeObjectsPositionsInGroupAsync(group: IChannelsGroup, channels: IDeviceChannel[]): Promise<Status>;
IsGroupsAndObjectsOrderingAvailable(): boolean;
MoveGroupPositionAsync(group: IChannelsGroup, newPosition: number): Promise<Status>;
MoveObjectInGroupPositionAsync(group: IChannelsGroup, channel: IDeviceChannel, newPosition: number): Promise<Status>;
AddDeviceChannelToGroupByGuidAsync(channel: IDeviceChannel, groupGuid: string): Promise<Status>;
AddDeviceChannelToGroupByGuidAsync(channel: IDeviceChannel, groupGuid: string, skipDataUpdate?: boolean): Promise<Status>;
RemoveDeviceChannelFromGroupByGuidAsync(channel: IDeviceChannel, groupGuid: string): Promise<Status>;
RemoveDeviceChannelFromGroupByGuidAsync(channel: IDeviceChannel, groupGuid: string, skipDataUpdate?: boolean): Promise<Status>;
UpsertGroupWithDevicesChannelsAsync(group: IChannelsGroup, deviceChannels: IDeviceChannel[]): Promise<ResponseResult<AddNewGroupErrorCode> | IChannelsGroup>;
UpdateGroupWithDevicesChannelsAsync(groupGuid: string, deviceChannels: IDeviceChannel[]): Promise<Status>;
ChangeGroupNameByGuidAsync(groupGuid: string, name: string): Promise<ResponseResult<AddNewGroupErrorCode>>;
ChangeGroupNameAndIconAsync(group: IChannelsGroup, name: string, iconName: string): Promise<ResponseResult<AddNewGroupErrorCode>>;
ChangeGroupNameAndIconByGuidAsync(groupGuid: string, name: string, iconName: string): Promise<ResponseResult<AddNewGroupErrorCode>>;
ChangeGroupIconNameByGuidAsync(groupGuid: string, iconName: string): Promise<ResponseResult<AddNewGroupErrorCode>>;
GetServiceName(): string;
WaitForSynchronizationAsync(): Promise<void>;
GetGroupByGuid(guid: string): IChannelsGroup | null;
ChangeGroupNameAsync(group: IChannelsGroup, name: string): Promise<ResponseResult<AddNewGroupErrorCode>>;
ChangeGroupIconNameAsync(group: IChannelsGroup, iconName: string): Promise<ResponseResult<AddNewGroupErrorCode>>;
RemoveGroupAsync(group: IChannelsGroup): Promise<Status>;
RemoveGroupByGuidAsync(groupGuid: string): Promise<Status>;
GetGroupsAsync(useCache?: boolean): Promise<IChannelsGroup[]>;
AddDeviceChannelToGroupAsync(channel: IDeviceChannel, group: IChannelsGroup): Promise<Status>;
AddDeviceChannelToGroupAsync(channel: IDeviceChannel, group: IChannelsGroup, skipDataUpdate?: boolean): Promise<Status>;
RemoveDeviceChannelFromGroupAsync(channel: IDeviceChannel, group: IChannelsGroup): Promise<Status>;
RemoveDeviceChannelFromGroupAsync(channel: IDeviceChannel, group: IChannelsGroup, skipDataUpdate?: boolean): Promise<Status>;
AddNewGroupAsync(name: string): Promise<IChannelsGroup | ResponseResult<AddNewGroupErrorCode>>;
AddNewGroupWithIconAsync(name: string, iconName: string): Promise<IChannelsGroup | ResponseResult<AddNewGroupErrorCode>>;
}