UNPKG

lavva.exalushome

Version:

Library implementing communication and abstraction layers for ExalusHome system

82 lines (81 loc) 2.9 kB
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; }