UNPKG

lavva.exalushome

Version:

Library implementing communication and abstraction layers for ExalusHome system

55 lines (54 loc) 2.95 kB
import { Status } from "../../DataFrame"; import { IDIService } from "../../IDIService"; import { ITypedEvent } from "../../TypedEvent"; import { DeviceUsedInScenes } from "./DevicesService"; import { DeviceTasksInfo, IDevice, ManuallyPairedDevice } from './IDevice'; import { IDeviceChannel } from "./IDeviceChannel"; import { IDeviceState, IDeviceStateData } from './IDeviceState'; import { IDeviceTask } from "./IDeviceTask"; import { DeviceTaskExecutionResult } from './TaskExecutionResult'; export interface IDevicesService extends IDIService { OnDeviceStateChangedEvent(): ITypedEvent<{ Device: IDevice; State: IDeviceState<IDeviceStateData>; }>; OnDeviceStateRefreshedOrChangedEvent(): ITypedEvent<{ Device: IDevice; State: IDeviceState<IDeviceStateData>; }>; OnDeviceRegisteredEvent(): ITypedEvent<IDevice>; OnDeviceRemovedEvent(): ITypedEvent<IDevice>; OnDeviceFoundEvent(): ITypedEvent<IDevice>; OnDevicesTasksExecutionChangeEvent(): ITypedEvent<DeviceTasksInfo[]>; CanEditDevicesInfo(): boolean; CanAddAndRemoveAndConfigureDevices(): boolean; GetDeviceChannelByChannelId(channelId: string): IDeviceChannel | null; GetDevicesAsync(): Promise<IDevice[]>; GetDevicesAsync(withScenes: boolean): Promise<IDevice[]>; SyncDevicesStatesAsync(forceSlow?: boolean): Promise<boolean>; GetDevice(guid: string): IDevice | undefined; FindDevicesAsync(): Promise<void>; GetFoundDevicesAsync(): Promise<IDevice[]>; StopSearchingForDevices(): Promise<void>; RegisterDeviceAsync(device: IDevice): Promise<DeviceTaskExecutionResult>; RemoveDeviceAsync(device: IDevice, force?: boolean): Promise<DeviceTaskExecutionResult>; ExecuteDeviceTaskAsync(device: IDevice, task: IDeviceTask): Promise<DeviceTaskExecutionResult>; WaitForSynchronizationAsync(): Promise<void>; WaitForDevicesStatesSynchronizationAsync(): Promise<void>; ExecuteDevicesTasksAsync(tasks: [Device: IDevice, Task: IDeviceTask][]): Promise<DeviceTaskPairExecutionResult[]>; GetDevicesForManualPairingAsync(protocolExtensionGuids?: string[]): Promise<ManuallyPairedDevice[]>; GetDevicesForManualPairingAsync(protocolExtensionGuid?: string): Promise<ManuallyPairedDevice[]>; AddManuallyPairedDevice(device: ManuallyPairedDevice): Promise<DeviceTaskExecutionResult>; CheckIfDeviceUsedInScenesAsync(deviceGuid: string): Promise<DeviceUsedInScenes | Status>; CheckIfDeviceUsedInScenesAsync(device: IDevice): Promise<DeviceUsedInScenes | Status>; EnableFastStatesSyncAsync(): Promise<Status>; DisableFastStatesSyncAsync(): Promise<Status>; IsFastStatesSyncEnabledAsync(): Promise<boolean | Status>; ProtocolGuidToProtocolName(guid: string): string | null; } export declare class DeviceTaskPairExecutionResult { Device: IDevice | null; Channel: number; Task: IDeviceTask | null; Result: DeviceTaskExecutionResult; }