UNPKG

lavva.exalushome.extalife

Version:

Library implementing communication and abstraction layers for ExtaLife API in ExalusHome system

248 lines (247 loc) 7.32 kB
export interface IRemoteDevice { get DeviceGuid(): string; get Channel(): number; get Guid(): string; get Name(): string; get RemoteChannelAmount(): number; get DeviceChannelAmount(): number; get DeviceType(): DeviceType; get RemoteMode(): RemoteMode; set RemoteMode(value: RemoteMode); get CurrentRemotePairingOptions(): DeviceTypeOptions; get RawCurrentRemoteOptions(): PairingOption; } export declare enum RemoteMode { OnOff = 1, Bistable = 2, Monostable = 3, Timer = 4, Local = 5, Central = 6, PixoBidi_1 = 7, PixoBidi_12 = 8, TwoButton = 9, OneButton = 10, Comfort = 11, TimerDimmer = 12, Gate = 13, GateWay = 14, NXZFBidi = 15, PXZFBidi = 16, WSZFBidi = 17 } export declare enum DeviceType { OnOff = 1, Blind = 2, Dimmer = 3, Gate = 4, Gateway = 5, Facade = 6 } type OnOff = { [RemoteMode.OnOff]: RemoteMode; [RemoteMode.Bistable]: RemoteMode; [RemoteMode.Monostable]: RemoteMode; [RemoteMode.Timer]: RemoteMode; }; type Blind = { [RemoteMode.PixoBidi_1]: RemoteMode; [RemoteMode.PixoBidi_12]: RemoteMode; }; type Dimmer = { [RemoteMode.TwoButton]: RemoteMode; [RemoteMode.OneButton]: RemoteMode; [RemoteMode.Comfort]: RemoteMode; [RemoteMode.TimerDimmer]: RemoteMode; }; type Gate = { [RemoteMode.Gate]: RemoteMode; [RemoteMode.Bistable]: RemoteMode; }; type Gateway = { [RemoteMode.GateWay]: RemoteMode; [RemoteMode.Bistable]: RemoteMode; }; type Facade = { [RemoteMode.NXZFBidi]: RemoteMode; [RemoteMode.PXZFBidi]: RemoteMode; [RemoteMode.WSZFBidi]: RemoteMode; }; type DeviceTypeRemoteMode = { [DeviceType.OnOff]: OnOff; [DeviceType.Blind]: Blind; [DeviceType.Dimmer]: Dimmer; [DeviceType.Gate]: Gate; [DeviceType.Gateway]: Gateway; [DeviceType.Facade]: Facade; }; export declare class DeviceTypeMode { static readonly AvailableModes: DeviceTypeRemoteMode; } declare class RemoteDeviceResponse { 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; } type DeviceTypeOptions = { [DeviceType.OnOff]: OnOffOptions; [DeviceType.Blind]: BlindOptions; [DeviceType.Dimmer]: DimmerOptions; [DeviceType.Gate]: GateOptions; [DeviceType.Gateway]: GateWayOptions; [DeviceType.Facade]: FacadeOptions; }; interface IOptions { ModeParams: any; } declare class OnOffParameters { private _remoteChannels; private _keyOn; private _keyOff; constructor(remoteChannels: number, options: PairingOption); get KeyOn(): number; get KeyOff(): number; set KeyOn(value: number); set KeyOff(value: number); } declare class ChannelParameters { private _remoteChannels; private _channel; constructor(remoteChannels: number, options: PairingOption); get Channel(): number; set Channel(value: number); } declare class BistableMonostableParameters { private _remoteChannels; private _keyOn; constructor(remoteChannels: number, options: PairingOption); get KeyOn(): number; set KeyOn(value: number); } declare class TimerParameters { private _remoteChannels; private _keyOn; private _timeOn; constructor(remoteChannels: number, options: PairingOption); get KeyOn(): number; set KeyOn(value: number); get TimeOn(): number; set TimeOn(value: number); } declare class DimmingBrighteningParameters { private _remoteChannels; private _keyOn; private _keyOff; private _keyBrightening; private _keyDimmer; constructor(remoteChannels: number, options: PairingOption); get KeyOn(): number; set KeyOn(value: number); get KeyOff(): number; set KeyOff(value: number); get KeyBrightening(): number; set KeyBrightening(value: number); get KeyDimmer(): number; set KeyDimmer(value: number); } type OnOffModes = { [RemoteMode.OnOff]: OnOffParameters; [RemoteMode.Bistable]: BistableMonostableParameters; [RemoteMode.Monostable]: BistableMonostableParameters; [RemoteMode.Timer]: TimerParameters; }; declare class OnOffOptions implements IOptions { ModeParams: OnOffModes; constructor(remoteChannels: number, options: PairingOption); } type BlindModes = { [RemoteMode.PixoBidi_1]: ChannelParameters; [RemoteMode.PixoBidi_12]: ChannelParameters; }; declare class BlindOptions implements IOptions { ModeParams: BlindModes; constructor(remoteChannels: number, options: PairingOption); } type DimmerModes = { [RemoteMode.TwoButton]: OnOffParameters; [RemoteMode.OneButton]: BistableMonostableParameters; [RemoteMode.Comfort]: DimmingBrighteningParameters; [RemoteMode.TimerDimmer]: TimerParameters; }; declare class DimmerOptions implements IOptions { ModeParams: DimmerModes; constructor(remoteChannels: number, options: PairingOption); } type GateModes = { [RemoteMode.Gate]: BistableMonostableParameters; [RemoteMode.Bistable]: BistableMonostableParameters; }; declare class GateOptions implements IOptions { ModeParams: GateModes; constructor(remoteChannels: number, options: PairingOption); } type GateWayModes = { [RemoteMode.GateWay]: BistableMonostableParameters; [RemoteMode.Bistable]: BistableMonostableParameters; }; declare class GateWayOptions implements IOptions { ModeParams: GateWayModes; constructor(remoteChannels: number, options: PairingOption); } type FacadeModes = { [RemoteMode.NXZFBidi]: ChannelParameters; [RemoteMode.PXZFBidi]: ChannelParameters; [RemoteMode.WSZFBidi]: null; }; declare class FacadeOptions implements IOptions { ModeParams: FacadeModes; constructor(remoteChannels: number, options: PairingOption); } export declare class RemoteDevice implements IRemoteDevice { private _configs; protected _deviceGuid: string; protected _channel: number; protected _guid: string; protected _name: string; protected _remoteChannelAmount: number; protected _deviceChannelAmount: number; protected _deviceType: DeviceType; protected _remoteMode: RemoteMode; protected _currentRemotePairingOptions: DeviceTypeOptions; protected _rawCurrentRemoteOptions: PairingOption; protected _rawOldRemoteOptions: PairingOption; constructor(data: RemoteDeviceResponse); get DeviceGuid(): string; set DeviceGuid(value: string); get Channel(): number; set Channel(value: number); get Guid(): string; set Guid(value: string); get Name(): string; set Name(value: string); get RemoteChannelAmount(): number; get DeviceChannelAmount(): number; get DeviceType(): DeviceType; set DeviceType(value: DeviceType); get RemoteMode(): RemoteMode; set RemoteMode(value: RemoteMode); get CurrentRemotePairingOptions(): DeviceTypeOptions; get RawCurrentRemoteOptions(): PairingOption; get RawOldRemoteOptions(): PairingOption; } export {};