lavva.exalushome.extalife
Version:
Library implementing communication and abstraction layers for ExtaLife API in ExalusHome system
65 lines (64 loc) • 2.52 kB
TypeScript
import { IDevice } from 'lavva.exalushome/build/js/Services/Devices/IDevice';
import { ResponseResult } from 'lavva.exalushome/build/js/Services/FieldChangeResult';
import { DeviceType, IRemoteDevice, RemoteDevice, RemoteMode } from './RemoteParams';
import { Status } from 'lavva.exalushome/build/js/DataFrame';
import { IRemotesService } from './IRemotesService';
export declare class RemotesService implements IRemotesService {
private _connection;
private static _pairedRemoteCache;
static readonly ServiceName: string;
constructor();
GetServiceName(): string;
GetPairedRemotesAsync(device: IDevice, channel: number): Promise<IRemoteDevice[] | ResponseResult<RemoteServiceErrorCode>>;
GetAvailableRemotesForDeviceAsync(deviceToControl: IDevice, channelToControll: number): Promise<IRemoteDevice[]>;
EditRemoteOptionsAsync(remote: IRemoteDevice): Promise<ResponseResult<RemoteServiceErrorCode> | Status>;
AssingRemoteToDeviceAsync(remote: IRemoteDevice): Promise<ResponseResult<RemoteServiceErrorCode> | Status>;
RemoveRemoteFromDeviceAsync(remote: IRemoteDevice): Promise<Status>;
protected GenerateRemoteInitConfig(remoteDev: IDevice, deviceToControl: IDevice, channelToControll: number, remoteTypeInit: RemoteTypeInit): RemoteDevice;
protected GenerateRemoteRawObject(remote: IRemoteDevice): RemoteDeviceRawObject;
}
export declare enum RemoteServiceErrorCode {
OtherError = "OtherError",
InvalidChannelNumber = "InvalidChannelNumber",
NoData = "NoData",
IllegalButtonNumber = "IllegalButtonNumber",
ButtonAlreadyAssigned = "ButtonAlreadyAssigned",
IllegalTimeValue = "IllegalTimeValue",
NoPairedRemotes = "NoPairedRemotes"
}
declare enum RemoteTypeInit {
FacadeWindSensor = -1,
FacadeSingle = 0,
FacadeMultiple = 1,
BlindsSingle = 2,
BlindsMultiple = 3,
DimmerSingle = 4,
DimmerMultiple = 5,
OnOffSingle = 6,
OnOffMultiple = 7,
GateSingle = 8,
GateMultiple = 9,
GatewaySingle = 10,
GatewayMultiple = 11
}
declare class RemoteDeviceRawObject {
DeviceGuid: string;
Channel: number;
Guid: string;
Name: string;
RemoteChannelAmount: number;
DeviceChannelAmount: number;
PairingOption: PairingOption;
OldSettingsOptional: PairingOption;
DeviceType: DeviceType;
}
declare class PairingOption {
Mode: RemoteMode;
KeyOn: number;
KeyOff: number;
KeyBrightening: number;
KeyDimmer: number;
TimeOn: number;
Channel: number;
}
export {};