/** * Device Command Codes Catalog * * Centralized repository of all command codes extracted from device handlers. * This allows multiple handlers to share the same codes and makes it easy * to add new device support without duplicating code. */ /** * Lock control codes (shared by most purifiers) */ export declare const LOCK_CODES: { readonly on: "MxABAAAAAAAAAAAAAAAAAAAAACI="; readonly off: "MxAAAAAAAAAAAAAAAAAAAAAAACM="; }; /** * Display light codes (shared by most purifiers) */ export declare const DISPLAY_CODES: { readonly on: "MxYBAAAAAAAAAAAAAAAAAAAAACQ="; readonly off: "MxYAAAAAAAAAAAAAAAAAAAAAACU="; }; /** * Device state on/off codes (shared by heaters and fans) */ export declare const DEVICE_STATE_CODES: { readonly on: "MwEBAAAAAAAAAAAAAAAAAAAAADM="; readonly off: "MwEAAAAAAAAAAAAAAAAAAAAAADI="; }; /** * Swing/oscillation codes for heaters (H7130) */ export declare const HEATER_SWING_CODES: { readonly on: "MxgBAAAAAAAAAAAAAAAAAAAAACo="; readonly off: "MxgAAAAAAAAAAAAAAAAAAAAAACs="; }; /** * Swing/oscillation codes for fans (H7102) */ export declare const FAN_SWING_CODES: { readonly on: "Mx8BAQAAAAAAAAAAAAAAAAAAACw="; readonly off: "Mx8BAAAAAAAAAAAAAAAAAAAAAC0="; }; /** * Speed codes for H7130/H7131 heater (3 speeds at 33% increments) * 33=low, 66=medium, 99=high */ export declare const HEATER_H7130_SPEED_CODES: Record; /** * Speed labels for heater */ export declare const HEATER_SPEED_LABELS: Record; /** * Temperature codes for H7130 heater in auto mode (5-30°C) */ export declare const HEATER_H7130_TEMP_CODES_AUTO: Record; /** * Temperature codes for H7130 heater in heat mode (5-30°C) */ export declare const HEATER_H7130_TEMP_CODES_HEAT: Record; /** * Heater temperature range constants */ export declare const HEATER_TEMP_MIN = 5; export declare const HEATER_TEMP_MAX = 30; /** * Swing codes for Heater 2 (H7131/H7132) */ export declare const HEATER2_SWING_CODES: { readonly on: "Mx8BAQAAAAAAAAAAAAAAAAAAACw="; readonly off: "Mx8BAAAAAAAAAAAAAAAAAAAAAC0="; }; /** * Lock codes for Heater 2 (H7131/H7132) */ export declare const HEATER2_LOCK_CODES: { readonly on: "Mx8CAQAAAAAAAAAAAAAAAAAAAC8="; readonly off: "Mx8CAAAAAAAAAAAAAAAAAAAAAC4="; }; /** * Speed codes for Heater 2 (H7131/H7132) * 25=fan-only, 50=low, 75=medium, 100=high */ export declare const HEATER2_SPEED_CODES: Record; /** * Speed labels for Heater 2 */ export declare const HEATER2_SPEED_LABELS: Record; /** * Temperature codes for Heater 2 in auto mode (5-30°C) */ export declare const HEATER2_TEMP_CODES_AUTO: Record; /** * Temperature codes for Heater 2 in auto mode (turn on) (5-30°C) */ export declare const HEATER2_TEMP_CODES_AUTO_TURN: Record; /** * Speed codes for H7102 fan (8 speeds at 11% increments) */ export declare const FAN_H7102_SPEED_CODES: Record; /** * Fan speed step size constants */ export declare const FAN_SPEED_STEP = 11; export declare const FAN_MAX_SPEED = 8; /** * Speed codes for H7140 humidifier (8 speeds) */ export declare const HUMIDIFIER_H7140_SPEED_CODES: Record; /** * Speed codes for H7142 humidifier (9 speeds) */ export declare const HUMIDIFIER_H7142_SPEED_CODES: Record; /** * UV light code for H7142 humidifier */ export declare const HUMIDIFIER_H7142_UV_ON = "MxoBAAAAAAAAAAAAAAAAAAAAACg="; /** * Kettle mode codes for H7170/H7171 */ export declare const KETTLE_MODE_CODES: { readonly greenTea: "MwUAAgAAAAAAAAAAAAAAAAAAADQ="; readonly oolongTea: "MwUAAwAAAAAAAAAAAAAAAAAAADU="; readonly coffee: "MwUABAAAAAAAAAAAAAAAAAAAADI="; readonly blackTea: "MwUABQAAAAAAAAAAAAAAAAAAADM="; readonly customMode1: "MwUAAQEAAAAAAAAAAAAAAAAAADY="; readonly customMode2: "MwUAAQIAAAAAAAAAAAAAAAAAADU="; readonly boil: "MwEBAAAAAAAAAAAAAAAAAAAAADM="; }; /** * Ice maker command codes for H7172 */ export declare const ICE_MAKER_CODES: { readonly startMakingIce: "MwUCAAAAAAAAAAAAAAAAAAAAADQ="; readonly cancel: "MxkAAAAAAAAAAAAAAAAAAAAAACo="; }; /** * Speed codes for H7120/H7121 purifier (4 speeds at 25% increments) * 1=sleep, 2=low, 3=medium, 4=high */ export declare const PURIFIER_H7120_SPEED_CODES: Record; /** * Night light codes for H7120/H7121 purifier */ export declare const PURIFIER_H7120_NIGHT_LIGHT_CODES: { readonly on: "MxgBMgAAAAAAAAAAAAAAAAAAABg="; readonly off: "MxgAMgAAAAAAAAAAAAAAAAAAABk="; }; /** * Speed codes for H7122 purifier (5 modes at 20% increments) * 1=sleep, 2=low, 3=med, 4=high, 5=auto */ export declare const PURIFIER_H7122_SPEED_CODES: Record; /** * Speed codes for H7123/H7124 purifier (5 modes at 20% increments) * Same as H7122 */ export declare const PURIFIER_H7123_SPEED_CODES: Record; /** * Speed codes for H7126 purifier (3 speeds at 33% increments) * 1=sleep, 2=low, 3=high */ export declare const PURIFIER_H7126_SPEED_CODES: Record; /** * Speed codes for H7127/H7128/H7129/H712C purifier (3 speeds at 33% increments) * Same as H7126 */ export declare const PURIFIER_H7127_SPEED_CODES: Record; /** * Speed mode labels for 4-speed purifiers */ export declare const SPEED_LABELS_4: readonly ["off", "sleep", "low", "medium", "high"]; /** * Speed mode labels for 5-speed purifiers */ export declare const SPEED_LABELS_5: readonly ["off", "sleep", "low", "medium", "high", "auto"]; /** * Speed mode labels for 3-speed purifiers */ export declare const SPEED_LABELS_3: readonly ["off", "sleep", "low", "high"]; /** * External command prefixes for purifier speed updates */ export declare const PURIFIER_SPEED_COMMAND_MAP: Record; /** * Air quality labels based on HomeKit values */ export declare const AIR_QUALITY_LABELS: Record; /** * PM2.5 thresholds for air quality determination (µg/m³) * Based on Govee manual guidelines */ export declare const PM25_THRESHOLDS: { readonly excellent: 12; readonly good: 35; readonly fair: 75; readonly inferior: 115; }; /** * Get air quality value from PM2.5 reading */ export declare function getAirQualityFromPM25(pm25: number): number; /** * Get air quality label from PM2.5 reading */ export declare function getAirQualityLabelFromPM25(pm25: number): string; /** * Debounce delay for brightness updates (milliseconds) */ export declare const DEBOUNCE_BRIGHTNESS_MS = 350; /** * Debounce delay for color/hue updates (milliseconds) */ export declare const DEBOUNCE_COLOR_MS = 300; /** * Debounce delay for color temperature updates (milliseconds) */ export declare const DEBOUNCE_COLOR_TEMP_MS = 300; /** * Delay before sending kettle boil command (milliseconds) */ export declare const KETTLE_MODE_DELAY_MS = 1000; export type LockCodes = typeof LOCK_CODES; export type DisplayCodes = typeof DISPLAY_CODES; export type SpeedCodes = Record; export type OnOffCodes = { on: string; off: string; }; declare const _default: { LOCK_CODES: { readonly on: "MxABAAAAAAAAAAAAAAAAAAAAACI="; readonly off: "MxAAAAAAAAAAAAAAAAAAAAAAACM="; }; DISPLAY_CODES: { readonly on: "MxYBAAAAAAAAAAAAAAAAAAAAACQ="; readonly off: "MxYAAAAAAAAAAAAAAAAAAAAAACU="; }; DEVICE_STATE_CODES: { readonly on: "MwEBAAAAAAAAAAAAAAAAAAAAADM="; readonly off: "MwEAAAAAAAAAAAAAAAAAAAAAADI="; }; HEATER_SWING_CODES: { readonly on: "MxgBAAAAAAAAAAAAAAAAAAAAACo="; readonly off: "MxgAAAAAAAAAAAAAAAAAAAAAACs="; }; FAN_SWING_CODES: { readonly on: "Mx8BAQAAAAAAAAAAAAAAAAAAACw="; readonly off: "Mx8BAAAAAAAAAAAAAAAAAAAAAC0="; }; HEATER_H7130_SPEED_CODES: Record; HEATER_SPEED_LABELS: Record; HEATER_H7130_TEMP_CODES_AUTO: Record; HEATER_H7130_TEMP_CODES_HEAT: Record; HEATER_TEMP_MIN: number; HEATER_TEMP_MAX: number; HEATER2_SWING_CODES: { readonly on: "Mx8BAQAAAAAAAAAAAAAAAAAAACw="; readonly off: "Mx8BAAAAAAAAAAAAAAAAAAAAAC0="; }; HEATER2_LOCK_CODES: { readonly on: "Mx8CAQAAAAAAAAAAAAAAAAAAAC8="; readonly off: "Mx8CAAAAAAAAAAAAAAAAAAAAAC4="; }; HEATER2_SPEED_CODES: Record; HEATER2_SPEED_LABELS: Record; HEATER2_TEMP_CODES_AUTO: Record; HEATER2_TEMP_CODES_AUTO_TURN: Record; FAN_H7102_SPEED_CODES: Record; FAN_SPEED_STEP: number; FAN_MAX_SPEED: number; HUMIDIFIER_H7140_SPEED_CODES: Record; HUMIDIFIER_H7142_SPEED_CODES: Record; HUMIDIFIER_H7142_UV_ON: string; KETTLE_MODE_CODES: { readonly greenTea: "MwUAAgAAAAAAAAAAAAAAAAAAADQ="; readonly oolongTea: "MwUAAwAAAAAAAAAAAAAAAAAAADU="; readonly coffee: "MwUABAAAAAAAAAAAAAAAAAAAADI="; readonly blackTea: "MwUABQAAAAAAAAAAAAAAAAAAADM="; readonly customMode1: "MwUAAQEAAAAAAAAAAAAAAAAAADY="; readonly customMode2: "MwUAAQIAAAAAAAAAAAAAAAAAADU="; readonly boil: "MwEBAAAAAAAAAAAAAAAAAAAAADM="; }; ICE_MAKER_CODES: { readonly startMakingIce: "MwUCAAAAAAAAAAAAAAAAAAAAADQ="; readonly cancel: "MxkAAAAAAAAAAAAAAAAAAAAAACo="; }; PURIFIER_H7120_SPEED_CODES: Record; PURIFIER_H7120_NIGHT_LIGHT_CODES: { readonly on: "MxgBMgAAAAAAAAAAAAAAAAAAABg="; readonly off: "MxgAMgAAAAAAAAAAAAAAAAAAABk="; }; PURIFIER_H7122_SPEED_CODES: Record; PURIFIER_H7123_SPEED_CODES: Record; PURIFIER_H7126_SPEED_CODES: Record; PURIFIER_H7127_SPEED_CODES: Record; SPEED_LABELS_3: readonly ["off", "sleep", "low", "high"]; SPEED_LABELS_4: readonly ["off", "sleep", "low", "medium", "high"]; SPEED_LABELS_5: readonly ["off", "sleep", "low", "medium", "high", "auto"]; AIR_QUALITY_LABELS: Record; PM25_THRESHOLDS: { readonly excellent: 12; readonly good: 35; readonly fair: 75; readonly inferior: 115; }; DEBOUNCE_BRIGHTNESS_MS: number; DEBOUNCE_COLOR_MS: number; DEBOUNCE_COLOR_TEMP_MS: number; KETTLE_MODE_DELAY_MS: number; getAirQualityFromPM25: typeof getAirQualityFromPM25; getAirQualityLabelFromPM25: typeof getAirQualityLabelFromPM25; }; export default _default;