UNPKG

homebridge-pentair-intellicenter-ai

Version:

Homebridge plugin for the Pentair IntelliCenter pool control system (maintained with AI assistance)

205 lines 5.33 kB
export declare enum IntelliCenterResponseStatus { Ok = "200" } export declare enum IntelliCenterRequestCommand { GetQuery = "GetQuery", RequestParamList = "RequestParamList", SetParamList = "SetParamList" } export declare enum IntelliCenterResponseCommand { SendQuery = "SendQuery", NotifyList = "NotifyList", WriteParamList = "WriteParamList", Error = "Error" } export declare enum IntelliCenterQueryName { GetHardwareDefinition = "GetHardwareDefinition" } type CircuitStatusSubscribeRequest = { objnam: string; keys: ReadonlyArray<string>; }; export type CircuitParams = { STATUS?: string; SPEED?: number; [key: string]: string | number | boolean | undefined; }; export type BodyParams = { HEAT_MODE?: number; HEAT_SETPOINT?: number; HEAT_SOURCE?: string; LAST_TEMP?: number; [key: string]: string | number | boolean | undefined; }; export type SensorParams = { LAST_TEMP?: number; PROBE?: number; [key: string]: string | number | boolean | undefined; }; export type PumpParams = { STATUS?: string; SPEED?: number; RPM?: number; GPM?: number; WATTS?: number; SELECT?: string; [key: string]: string | number | boolean | undefined; }; export type GenericParams = { [key: string]: string | number | boolean | undefined; }; export type IntelliCenterParams = CircuitParams | BodyParams | SensorParams | PumpParams | GenericParams; export type CircuitStatusMessage = { objnam?: string; params?: IntelliCenterParams; changes?: ReadonlyArray<CircuitStatusMessage>; }; type IntelliCenterMessage = { queryName?: IntelliCenterQueryName; messageID: string; }; export type IntelliCenterRequest = { command: IntelliCenterRequestCommand; arguments?: string; objectList?: ReadonlyArray<CircuitStatusSubscribeRequest | CircuitStatusMessage>; } & IntelliCenterMessage; export type HardwareDefinitionAnswer = { [panelId: string]: { [moduleId: string]: { [objectId: string]: { OBJNAM: string; OBJTYP: string; SUBTYP?: string; HNAME?: string; [key: string]: string | number | boolean | undefined; }; }; }; }; export type DiscoveryAnswer = HardwareDefinitionAnswer | Record<string, unknown>; export type IntelliCenterResponse = { command: IntelliCenterResponseCommand; description: string; response: IntelliCenterResponseStatus; answer?: DiscoveryAnswer; objectList?: ReadonlyArray<CircuitStatusMessage>; } & IntelliCenterMessage; export declare enum CircuitType { IntelliBrite = "INTELLI", Generic = "GENERIC" } export declare enum TemperatureSensorType { Air = "AIR", Pool = "POOL" } export declare enum BodyType { Pool = "POOL", Spa = "SPA" } export type BaseCircuit = { id: string; }; export type Circuit = { id: string; name: string; objectType: ObjectType; type: CircuitType | BodyType; status?: CircuitStatus; } & BaseCircuit; export type Pump = { minRpm: number; maxRpm: number; minFlow: number; maxFlow: number; circuits?: ReadonlyArray<PumpCircuit>; rpm?: number; gpm?: number; watts?: number; [key: string]: unknown; } & Circuit; export type PumpCircuit = { id: string; pump: Pump; circuitId: string; speed: number; speedType: string; status?: CircuitStatus; rpm?: number; gpm?: number; watts?: number; } & BaseCircuit; export type Sensor = { id: string; name: string; objectType: ObjectType; type: TemperatureSensorType; probe: number; } & BaseCircuit; export declare enum CircuitStatus { On = "ON", Off = "OFF" } export declare enum PumpSpeedType { RPM = "RPM", GPM = "GPM" } export declare enum HeatMode { On = 2, Off = 1 } export type Body = { temperature?: number; highTemperature?: number; lowTemperature?: number; heaterId?: string; heatSource?: string; heatMode?: number; circuit?: BaseCircuit; [key: string]: unknown; } & Circuit; export type Heater = { bodyIds: ReadonlyArray<string>; coolingEnabled?: boolean; } & Circuit; export type Module = { id: string; features: ReadonlyArray<Circuit>; bodies: ReadonlyArray<Body>; heaters: ReadonlyArray<Heater>; }; export type Panel = { id: string; modules: ReadonlyArray<Module>; features: ReadonlyArray<Circuit>; pumps: ReadonlyArray<Pump>; sensors: ReadonlyArray<Sensor>; }; export declare enum ObjectType { Circuit = "CIRCUIT", Module = "MODULE", Panel = "PANEL", Body = "BODY", Heater = "HEATER", CircuitGroup = "CIRCGRP", Pump = "PUMP", Sensor = "SENSE" } export declare const CircuitTypes: ReadonlySet<ObjectType>; export declare const SensorTypes: ReadonlySet<ObjectType>; export declare enum TemperatureUnits { C = "C", F = "F" } export declare class Color { readonly intellicenterCode: string; readonly hue: number; readonly saturation: number; static readonly White: Color; static readonly Red: Color; static readonly Green: Color; static readonly Blue: Color; static readonly Magenta: Color; private constructor(); } export {}; //# sourceMappingURL=types.d.ts.map