lavva.exalushome
Version:
Library implementing communication and abstraction layers for ExalusHome system
82 lines (81 loc) • 2.9 kB
TypeScript
import { Hours, Minutes, Seconds } from "../../Helpers";
import { DeviceResponseType } from "../Devices/IDevice";
import { IDeviceStateData } from "../Devices/IDeviceState";
/**
* Day of week, from monday to sunday
*/
export type DayOfWeekArgument = 1 | 2 | 3 | 4 | 5 | 6 | 7;
export declare class DeviceStateArgument {
private _comparisonParams;
private _checkDeviceState;
/**
* Field is set when the method SetCheckDeviceState<T extends IDeviceStateData> is called,
* type is set based on instancof state: T - so this object so this object must have a prototype.
*
* If the object has no prototypes you need to set this field manually AFTER calling SetCheckDeviceState<T extends IDeviceStateData>(state: T)
*/
Type: DeviceResponseType;
DeviceGuid: string;
ComparisonMethod: DeviceStateComparisonMethod;
GetCheckDeviceState<T extends IDeviceStateData>(): T;
SetCheckDeviceState<T extends IDeviceStateData>(state: T): void;
GetComparisonParam<E extends IDeviceStateComparisonParams>(comparisonParam: DeviceStateComparisonParams): E;
GetComparisonParams(): Map<DeviceStateComparisonParams, IDeviceStateComparisonParams>;
SetComparisonParam<E extends IDeviceStateComparisonParams>(comparisonParam: DeviceStateComparisonParams, value: E): void;
}
export interface IDeviceStateComparisonParams {
get Value(): any;
}
export declare class NumberParam implements IDeviceStateComparisonParams {
private _value;
constructor(val: number);
get Value(): number;
set Value(val: number);
}
export declare class TimeSpanParam implements IDeviceStateComparisonParams {
private _value;
constructor(rawValue: string);
constructor(seconds: Seconds, minutes: Minutes, hours: Hours, days: number);
SetTimeSpan(seconds: Seconds, minutes: Minutes, hours: Hours, days: number): void;
get Value(): string;
}
export declare enum DeviceStateComparisonMethod {
Default = 0,
Delta = 1,
StateRepeat = 2
}
export declare enum DeviceStateComparisonParams {
DeltaValue = 0,
DeltaCalculationTimeRange = 1,
StateRepeatCount = 2,
StateRepeatTimeRange = 3
}
export declare class AstronomicalClockArgument {
Position: SunPosition;
}
export declare class AstronomicalClockWithOffsetArgument {
Position: SunPosition;
Offset: number;
}
export declare enum SunPosition {
SunRise = 1,
SunSet = 2
}
export declare class TimeArgument {
constructor(seconds: Seconds, minutes: Minutes, hours: Hours);
constructor();
Hour: Hours;
Minute: Minutes;
Second: Seconds;
}
export declare class SimpleTimeSpanArgument {
constructor(seconds: Seconds, minutes: Minutes, hours: Hours, days: number);
constructor();
hours: Hours;
minutes: Minutes;
seconds: Seconds;
days: number;
}
export declare class ConditionInfoArgument {
DeviceGuid: string;
}