/** * Humidifier Service Handler * * Implements the HomeKit HumidifierDehumidifier service for Dyson PH models. * Provides humidifier control with target humidity setting. */ import type { API, Logging, PlatformAccessory, Service } from 'homebridge'; import type { DysonLinkDevice } from '../../devices/dysonLinkDevice.js'; /** * Configuration for HumidifierControlService */ export interface HumidifierControlServiceConfig { accessory: PlatformAccessory; device: DysonLinkDevice; api: API; log: Logging; /** Enable full humidity range (0-100%) instead of Dyson default (30-70%) */ fullRangeHumidity?: boolean; /** Primary service to link this service to */ primaryService?: Service; } /** * HumidifierControlService handles the HomeKit HumidifierDehumidifier service * * Maps HomeKit characteristics to Dyson device state: * - Active: Humidifier on/off * - CurrentHumidifierDehumidifierState: OFF, IDLE, HUMIDIFYING * - TargetHumidifierDehumidifierState: HUMIDIFIER or AUTO * - CurrentRelativeHumidity: Current room humidity * - RelativeHumidityHumidifierThreshold: Target humidity * - WaterLevel: Water tank status */ export declare class HumidifierControlService { private readonly service; private readonly device; private readonly log; private readonly api; private readonly humidityMin; private readonly humidityMax; private readonly boundHandleStateChange; constructor(config: HumidifierControlServiceConfig); /** * Get the underlying HomeKit service */ getService(): Service; /** * Clean up event listeners */ destroy(): void; /** * Handle Active GET request */ private handleActiveGet; /** * Handle Active SET request */ private handleActiveSet; /** * Handle CurrentHumidifierDehumidifierState GET request */ private handleCurrentStateGet; /** * Handle TargetHumidifierDehumidifierState GET request */ private handleTargetStateGet; /** * Handle TargetHumidifierDehumidifierState SET request */ private handleTargetStateSet; /** * Handle CurrentRelativeHumidity GET request */ private handleCurrentHumidityGet; /** * Handle RelativeHumidityHumidifierThreshold GET request */ private handleTargetHumidityGet; /** * Handle RelativeHumidityHumidifierThreshold SET request */ private handleTargetHumiditySet; /** * Handle WaterLevel GET request * Returns 100 if tank is full, 0 if empty */ private handleWaterLevelGet; /** * Handle device state changes */ private handleStateChange; /** * Update characteristics from current device state */ updateFromState(): void; } //# sourceMappingURL=humidifierControlService.d.ts.map