UNPKG

lavva.exalushome

Version:

Library implementing communication and abstraction layers for ExalusHome system

93 lines (92 loc) 2.55 kB
import { DeviceResponseType } from "../Devices/IDevice"; import { EnergyMeasurementParameter, FloodSensorStates, MovementStateEnum } from "../Devices/IDeviceState"; export interface IAvailableState { get StateObjectType(): string; get StateInterfaceType(): string; get StateResponseType(): DeviceResponseType; } export interface IAvailableStatePerChannel { get DeviceGuid(): string; get Channel(): number; get AvailableStates(): IAvailableState[]; } export declare enum StateInterval { None = 0, DataRange = 1, Hour = 2, Day = 3, Week = 4, Month = 5, Year = 6 } export declare enum AggregateDataType { Min = "Min", Max = "Max", Avg = "Avg" } export declare class AvailableState implements IAvailableState { private _objectType; private _stateInterfaceType; get StateObjectType(): string; get StateInterfaceType(): string; get StateResponseType(): DeviceResponseType; set StateObjectType(value: string); set StateInterfaceType(value: string); } export declare class StateDataResponse<T> { DeviceGuid: string; DeviceChannel: number; Count: number; IsNextPageAvailable: boolean; Limit: number; Offset: number; Data: StateData<T>[]; AggregateDataList: AggregateDataEntry[]; } export declare class AggregateDataEntry { DataEntryIdentity: string; AggregateData: Map<AggregateDataType, any>; } export declare class StateData<T> { Time: string; Values: T | null; AggregatedBy: string; } export interface AveragingStateValues { get LastValue(): number; get Average(): number; get Mode(): number; get Min(): number; get Max(): number; } export interface BrightnessHistory { get LuxValue(): number; get LuxToLinearScale(): number; get LightCondition(): LightCondition; } export declare enum LightCondition { Unknown = -1, PitchBlack = 0, VeryDark = 1, DarkIndoors = 2, DimIndoors = 3, NormalIndoors = 4, BrightIndoors = 5, DimOutdoors = 6, CloudyOutdoors = 7, DirectSunlight = 8 } export interface ReedStateHistory { get State(): boolean; } export interface FloodStateHistory { get State(): FloodSensorStates; } export interface MovementStateHistory { get Movement(): MovementStateEnum; get Intensity(): number; } export interface EnergyHistory { get MeasurementAveragingParameters(): Map<EnergyMeasurementParameter, AveragingStateValues>; get MeasurementNonAveragingParmeters(): Map<EnergyMeasurementParameter, number>; }