/** * Thermostat Service Handler * * Implements the HomeKit Thermostat service for Dyson Hot+Cool devices. * Provides heating control with target temperature setting. */ import type { API, Logging, PlatformAccessory, Service } from 'homebridge'; import type { DysonLinkDevice } from '../../devices/dysonLinkDevice.js'; /** * Configuration for ThermostatService */ export interface ThermostatServiceConfig { accessory: PlatformAccessory; device: DysonLinkDevice; api: API; log: Logging; /** Primary service to link this service to */ primaryService?: Service; } /** * ThermostatService handles the HomeKit Thermostat service for HP models * * Maps HomeKit characteristics to Dyson device state: * - CurrentHeatingCoolingState: OFF (0) or HEAT (1) based on heatingEnabled * - TargetHeatingCoolingState: OFF (0) or HEAT (1) for control * - CurrentTemperature: Current room temperature * - TargetTemperature: Target heating temperature */ export declare class ThermostatService { private readonly service; private readonly device; private readonly log; private readonly api; private readonly boundHandleStateChange; constructor(config: ThermostatServiceConfig); /** * Get the underlying HomeKit service */ getService(): Service; /** * Clean up event listeners */ destroy(): void; /** * Handle CurrentHeatingCoolingState GET request * Returns 0 (OFF) or 1 (HEAT) */ private handleCurrentStateGet; /** * Handle TargetHeatingCoolingState GET request */ private handleTargetStateGet; /** * Handle TargetHeatingCoolingState SET request */ private handleTargetStateSet; /** * Handle CurrentTemperature GET request */ private handleCurrentTempGet; /** * Handle TargetTemperature GET request */ private handleTargetTempGet; /** * Handle TargetTemperature SET request */ private handleTargetTempSet; /** * Convert Dyson temperature (Kelvin × 10) to Celsius */ private convertTemperature; /** * Convert Dyson target temperature (Kelvin × 10) to Celsius */ private convertTargetTemperature; /** * Handle device state changes */ private handleStateChange; /** * Update characteristics from current device state */ updateFromState(): void; } //# sourceMappingURL=thermostatService.d.ts.map