homebridge-tsvesync 1.1.2 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,304 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.3.3 (2025-01-05)
4
+
5
+ ### Fixed
6
+ - **⏰ Extended Timeout Chain Fix**: Enhanced proactive token refresh system to handle very long-duration tokens
7
+ - **🔧 Timeout Chaining**: Implemented timeout chaining for refresh delays exceeding Node.js setTimeout maximum (~24.8 days)
8
+ - **🛡️ Robust Scheduling**: Prevents timer overflow errors with automatic timer chaining for extended token lifetimes
9
+ - **⚡ Seamless Operation**: Long-duration token refresh scheduling now works reliably without timing limitations
10
+ - **🎯 Precision Handling**: Maintains accurate refresh timing even for tokens with extended lifetimes
11
+ - **📊 Enhanced Logging**: Improved logging for chained timer operations and extended refresh scheduling
12
+
13
+ - **🔄 Session Hydration Compatibility**: Enhanced session recovery with backward compatibility
14
+ - **🛡️ Fallback Support**: Added backward-compatible session hydration for older tsvesync versions
15
+ - **⚡ Direct Field Setting**: Automatic fallback to direct field setting when hydrateSession method unavailable
16
+ - **🔧 Improved Reliability**: Enhanced session recovery across different tsvesync library versions
17
+ - **📊 Better Error Handling**: Graceful handling of version compatibility during session restoration
18
+
19
+ ### Enhanced
20
+ - **🎯 Timer Management**: Advanced timer management system for extended timeout scenarios
21
+ - **🔧 MAX_DELAY Handling**: Proper handling of Node.js setTimeout maximum delay limitations (2,147,483,647 ms)
22
+ - **⚡ Chain Calculation**: Intelligent timer chaining with accurate remaining time calculations
23
+ - **🛡️ Error Prevention**: Prevents timer overflow errors and ensures reliable long-duration scheduling
24
+ - **📈 Performance**: Optimized timer chaining with minimal overhead for standard use cases
25
+
26
+ ### Technical Details
27
+ - **🏗️ Timeout Architecture**: Enhanced proactive refresh system with timeout chaining support
28
+ - **📊 Timer Chain Logic**: Automatic detection and handling of timeouts exceeding Node.js limitations
29
+ - **🔧 Compatibility Layer**: Backward-compatible session hydration for various tsvesync versions
30
+ - **⚡ Precision Timing**: Maintains accurate refresh timing regardless of token lifetime duration
31
+
32
+ ### Dependencies
33
+ - **📦 tsvesync**: Updated to 1.3.3 for enhanced cross-project version synchronization
34
+
35
+ ### Summary of All Enhancements from v1.2.0 onwards
36
+
37
+ #### Session Management & Authentication System (v1.2.0-1.3.3)
38
+ - **💾 Complete Session Persistence**: Sessions survive across Homebridge restarts with enhanced validation
39
+ - **⏰ Advanced Proactive Token Refresh**: Intelligent refresh scheduling with extended timeout support (v1.3.0-1.3.3)
40
+ - **🔐 Enhanced Security**: Username validation and account isolation for multi-user environments
41
+ - **📊 JWT Token Mastery**: Complete lifecycle management with normalized timestamp handling
42
+ - **🛡️ Secure Storage**: Protected session storage with comprehensive validation and recovery
43
+ - **🚀 Performance Optimization**: Reduced authentication overhead with intelligent session reuse
44
+ - **🔄 Cross-Region Support**: Enhanced compatibility with different VeSync regional endpoints
45
+ - **🎯 Extended Timeout Handling**: Reliable scheduling for very long-duration token refresh scenarios (NEW in 1.3.3)
46
+
47
+ #### Speed Control & HomeKit Integration (v1.2.0-1.3.1)
48
+ - **🎛️ Advanced Speed Control**: Dynamic support for 3-4+ speed air purifiers with model-specific logic
49
+ - **🌙 Intelligent Sleep Mode**: Sleep mode integration as first notch on HomeKit slider
50
+ - **🎯 Precision Mapping**: Accurate percentage-to-speed conversions for different device capabilities
51
+ - **📱 Enhanced UX**: Improved slider positions, speed transitions, and HomeKit responsiveness
52
+ - **🔄 Smart Notch System**: Automatic adjustment based on device capabilities and speed ranges
53
+
54
+ Full changelog: https://github.com/mickgiles/homebridge-tsvesync/blob/main/CHANGELOG.md
55
+
56
+ ## 1.3.2 (2025-01-05)
57
+
58
+ ### Enhanced
59
+ - **🔐 Advanced Session Management**: Comprehensive improvements to session persistence and authentication reliability
60
+ - **👤 Enhanced Username Validation**: Session reuse now validates username to prevent cross-account authentication conflicts
61
+ - **🔒 Improved Account Isolation**: Persisted sessions are properly isolated and validated against configured accounts
62
+ - **💾 Optimized Session Persistence**: Best-effort session saving immediately after successful authentication
63
+ - **📝 Detailed Session Logging**: Comprehensive debug logging for session save/load operations with expiration tracking
64
+ - **🛡️ Robust Error Handling**: Enhanced error messages and recovery flows for session hydration failures
65
+
66
+ - **🔧 JWT Timestamp Precision Handling**: Enhanced token timestamp processing for consistent authentication
67
+ - **📊 Timestamp Normalization**: Automatic detection and conversion of millisecond timestamps to seconds
68
+ - **⚡ Improved Token Validation**: Ensures accurate token expiration calculations across different token formats
69
+ - **🔄 Cross-Region Compatibility**: Better handling of JWT tokens from different VeSync regional endpoints
70
+ - **🛡️ Edge Case Prevention**: Fixes authentication issues with tokens using inconsistent timestamp precision
71
+
72
+ ### Fixed
73
+ - **🎛️ Session Hydration Reliability**: Improved session recovery and validation processes
74
+ - **🔍 Better Error Detection**: Enhanced detection of invalid or corrupted session data
75
+ - **📈 Startup Performance**: Optimized authentication flow to reduce unnecessary login attempts
76
+ - **⚡ Token Lifecycle Management**: Better coordination with tsvesync library's token refresh mechanisms
77
+ - **🛡️ Authentication Stability**: Reduced authentication interruptions during long-running sessions
78
+
79
+ ### Technical Details
80
+ - **🏗️ Session Architecture**: Enhanced session store with improved persistence and validation logic
81
+ - **📊 Token Management**: Advanced JWT token handling with normalized timestamp precision
82
+ - **🔧 Error Handling**: Comprehensive error recovery flows with detailed logging and debugging
83
+ - **⚡ Performance**: Optimized session operations for better startup performance and reliability
84
+
85
+ ### Dependencies
86
+ - **📦 tsvesync**: Updated to 1.3.2 for enhanced JWT timestamp handling and session management improvements
87
+
88
+ ### Summary of All Enhancements from v1.2.0 onwards
89
+
90
+ #### Session Management & Authentication System (v1.2.0-1.3.2)
91
+ - **💾 Complete Session Persistence**: Sessions survive across Homebridge restarts with enhanced validation
92
+ - **⏰ Advanced Proactive Token Refresh**: Intelligent refresh scheduling prevents JWT expiration (v1.3.0)
93
+ - **🔐 Enhanced Security**: Username validation and account isolation for multi-user environments
94
+ - **📊 JWT Token Mastery**: Complete lifecycle management with normalized timestamp handling
95
+ - **🛡️ Secure Storage**: Protected session storage with comprehensive validation and recovery
96
+ - **🚀 Performance Optimization**: Reduced authentication overhead with intelligent session reuse
97
+ - **🔄 Cross-Region Support**: Enhanced compatibility with different VeSync regional endpoints
98
+
99
+ #### Speed Control & HomeKit Integration (v1.2.0-1.3.1)
100
+ - **🎛️ Advanced Speed Control**: Dynamic support for 3-4+ speed air purifiers with model-specific logic
101
+ - **🌙 Intelligent Sleep Mode**: Sleep mode integration as first notch on HomeKit slider
102
+ - **🎯 Precision Mapping**: Accurate percentage-to-speed conversions for different device capabilities
103
+ - **📱 Enhanced UX**: Improved slider positions, speed transitions, and HomeKit responsiveness
104
+ - **🔄 Smart Notch System**: Automatic adjustment based on device capabilities and speed ranges
105
+
106
+ Full changelog: https://github.com/mickgiles/homebridge-tsvesync/blob/main/CHANGELOG.md
107
+
108
+ ## 1.3.1 (2025-09-04)
109
+
110
+ ### Fixed
111
+ - **🔐 Enhanced Session Management**: Improved session persistence and authentication flow
112
+ - **👤 Username Validation**: Session reuse now validates username to prevent cross-account conflicts
113
+ - **🔒 Account Isolation**: Persisted sessions are ignored if they belong to a different configured account
114
+ - **⚡ Optimized Login Flow**: Authentication only occurs when necessary, relying on persisted tokens and library re-login
115
+ - **🛡️ Session Security**: Enhanced session storage with username tracking for better account management
116
+
117
+ - **🎛️ Core 200S Speed Control Improvements**: Enhanced air purifier speed control for Core 200S devices
118
+ - **🎯 Model-Specific Logic**: Core 200S now uses dedicated speed calculation method with proper 25% steps
119
+ - **📊 Accurate Mapping**: Improved speed-to-percentage conversion for devices with 3 manual speeds
120
+ - **🌙 Sleep Mode Integration**: Better sleep mode handling with model-specific speed ranges
121
+ - **🔄 Precise Notch Calculation**: Enhanced notch-to-speed mapping for more accurate HomeKit control
122
+
123
+ ### Enhanced
124
+ - **📝 Improved Logging**: Better debugging information for mode changes and device operations
125
+ - **🔍 Mode Change Tracking**: Enhanced logging for manual, auto, and sleep mode transitions
126
+ - **🎛️ Speed Control Logging**: More detailed logging for speed changes and slider operations
127
+ - **📱 HomeKit Integration**: Better visibility into device state changes and characteristic updates
128
+
129
+ ### Changed
130
+ - **🔄 Authentication Strategy**: Optimized authentication flow to reduce unnecessary login attempts
131
+ - **💾 Token Persistence**: Improved reliance on persisted tokens with library-managed re-authentication
132
+ - **⚡ Startup Performance**: Faster platform initialization by avoiding redundant login checks
133
+ - **🎯 Smart Re-login**: Authentication only triggered when API returns 401/419 status codes
134
+
135
+ ### Technical Details
136
+ - **🏗️ Session Architecture**: Enhanced session store with username tracking and validation
137
+ - **🎛️ Speed Control Algorithm**: Model-specific speed calculation methods for different device types
138
+ - **🔧 Authentication Flow**: Streamlined login logic with better token lifecycle management
139
+ - **📊 Core 200S Support**: Dedicated isCore200S() method for model-specific functionality
140
+
141
+ ### Dependencies
142
+ - **📦 tsvesync**: Updated to 1.3.1 for enhanced token expiration detection and authentication improvements
143
+
144
+ ## 1.3.0 (2025-09-04)
145
+
146
+ ### Added
147
+ - **⏰ Enhanced Proactive Token Refresh**: Advanced JWT token refresh system with intelligent scheduling
148
+ - **🎯 Smart Scheduling Policy**: Dynamic refresh timing based on token lifetime:
149
+ - >7 days remaining: refresh 5 days before expiry
150
+ - 1-7 days remaining: refresh 12 hours before expiry
151
+ - 1-24 hours remaining: refresh 1 hour before expiry
152
+ - <1 hour remaining: rely on 401-triggered re-login to prevent thrashing
153
+ - **📊 Accurate Lifetime Tracking**: Uses actual token issuance time (iat) for precise calculations
154
+ - **🛡️ Duplicate Prevention**: Guards against multiple timers for same token expiration
155
+ - **🔄 State Management**: Concurrent refresh protection with in-progress tracking
156
+ - **🧹 Clean Shutdown**: Proper timer cleanup on platform shutdown
157
+ - **⚡ Background Operation**: Seamless token refresh without service interruption
158
+
159
+ - **🔧 Advanced Session Management**: Enhanced integration with tsvesync v1.3.0
160
+ - **🔔 Token Change Integration**: Full utilization of tsvesync's onTokenChange callback system
161
+ - **📈 Reliability**: Eliminates VeSync connectivity interruptions from expired tokens
162
+ - **🎯 Optimal Timing**: Intelligent buffer calculation prevents both premature and late refreshes
163
+ - **⏰ Safety Floor**: Never schedules refresh less than 30 minutes from current time
164
+
165
+ ### Enhanced
166
+ - **🔐 Session Persistence**: Improved session management with proactive refresh integration
167
+ - **💾 Complete Session Recovery**: Sessions survive across Homebridge restarts with enhanced refresh
168
+ - **📊 JWT Integration**: Advanced token lifecycle management with expiration tracking
169
+ - **🛡️ Secure Storage**: Protected session storage in tsvesync subdirectory
170
+ - **🚀 Faster Startup**: Reduced authentication overhead via intelligent session reuse
171
+ - **🔄 Seamless Recovery**: Automatic fallback when persisted sessions are invalid
172
+
173
+ ### Changed
174
+ - **📚 Dependency Update**: Updated tsvesync dependency to 1.3.0 for enhanced session management
175
+ - **📝 Documentation**: Comprehensive release notes including all enhancements from 1.2.0 onwards
176
+ - **⚡ Performance**: Optimized token refresh logic for better performance and reliability
177
+
178
+ ### Technical Details
179
+ - **🔧 Advanced Token Lifecycle**: Proactive refresh ensures tokens never expire during operation
180
+ - **🎯 Progressive Buffer Strategy**: Smart refresh timing based on token lifetime for optimal reliability
181
+ - **📈 Enhanced Error Handling**: Comprehensive try/finally blocks for robust operation
182
+ - **🔄 State Coordination**: Prevents concurrent refresh operations with proper synchronization
183
+ - **🛡️ Authentication Stability**: Eliminates authentication interruptions during long-running sessions
184
+
185
+ ### Summary of All Features from v1.2.0 onwards
186
+
187
+ #### Session Management & Authentication (v1.2.0-1.3.0)
188
+ - **💾 Complete Session Persistence**: Sessions survive across Homebridge restarts
189
+ - **⏰ Enhanced Proactive Token Refresh**: Advanced refresh before JWT expiration (NEW in 1.3.0)
190
+ - **🔐 Automatic Recovery**: Seamless fallback when persisted sessions are invalid
191
+ - **📊 JWT Integration**: Full token lifecycle management with expiration tracking
192
+ - **🛡️ Secure Storage**: Protected session storage in tsvesync subdirectory
193
+ - **🚀 Faster Startup**: Reduced authentication overhead via session reuse
194
+
195
+ #### Speed Control & HomeKit Integration (v1.2.0)
196
+ - **🎛️ Advanced Speed Control**: Dynamic support for 3-4+ speed air purifiers
197
+ - **🌙 Sleep Mode Integration**: Sleep mode as first notch on HomeKit slider
198
+ - **🎯 Precision Mapping**: Accurate percentage-to-speed conversions
199
+ - **📱 Enhanced UX**: Improved slider positions and speed transitions
200
+ - **🔄 Smart Notch System**: Automatic adjustment based on device capabilities
201
+
202
+ Full changelog: https://github.com/mickgiles/homebridge-tsvesync/blob/main/CHANGELOG.md
203
+
204
+ ## 1.2.2 (2025-09-04)
205
+
206
+ ### Added
207
+ - **⏰ Proactive Token Refresh**: Intelligent JWT token refresh before expiration
208
+ - **🔄 Smart Scheduling**: Automatically schedules token refresh before JWT expiry
209
+ - **📊 Accurate Lifetime Tracking**: Uses actual token issuance time (iat) for precise calculations
210
+ - **🎯 Dynamic Buffer Calculation**: Refresh buffer is earlier of 5 days or 10% of token lifetime
211
+ - **🔔 Token Change Integration**: Leverages tsvesync's onTokenChange callback system
212
+ - **🧹 Clean Shutdown**: Properly clears refresh timer on platform shutdown
213
+ - **🛡️ Uninterrupted Service**: Prevents authentication failures during long-running sessions
214
+
215
+ ### Changed
216
+ - **📚 Dependency Update**: Updated tsvesync dependency to 1.2.2
217
+ - **📝 Documentation**: Comprehensive release notes including all changes from 1.2.0 onwards
218
+
219
+ ### Technical Details
220
+ - **🔧 Token Lifecycle**: Proactive refresh ensures tokens never expire during operation
221
+ - **📈 Reliability**: Eliminates VeSync connectivity interruptions from expired tokens
222
+ - **🎯 Buffer Strategy**: Minimum 1 day, maximum 5 days refresh buffer for optimal timing
223
+ - **⚡ Background Operation**: Token refresh happens seamlessly without service interruption
224
+
225
+ ### Summary of All Features from v1.2.0 onwards
226
+
227
+ #### Session Management & Authentication (v1.2.0-1.2.2)
228
+ - **💾 Complete Session Persistence**: Sessions survive across Homebridge restarts
229
+ - **⏰ Proactive Token Refresh**: Automatic refresh before JWT expiration (NEW in 1.2.2)
230
+ - **🔐 Automatic Recovery**: Seamless fallback when persisted sessions are invalid
231
+ - **📊 JWT Integration**: Full token lifecycle management with expiration tracking
232
+ - **🛡️ Secure Storage**: Protected session storage in tsvesync subdirectory
233
+ - **🚀 Faster Startup**: Reduced authentication overhead via session reuse
234
+
235
+ #### Speed Control & HomeKit Integration (v1.2.0)
236
+ - **🎛️ Advanced Speed Control**: Dynamic support for 3-4+ speed air purifiers
237
+ - **🌙 Sleep Mode Integration**: Sleep mode as first notch on HomeKit slider
238
+ - **🎯 Precision Mapping**: Accurate percentage-to-speed conversions
239
+ - **📱 Enhanced UX**: Improved slider positions and speed transitions
240
+ - **🔄 Smart Notch System**: Automatic adjustment based on device capabilities
241
+
242
+ Full changelog: https://github.com/mickgiles/homebridge-tsvesync/blob/main/CHANGELOG.md
243
+
244
+ ## 1.2.1 (2025-09-04)
245
+
246
+ ### Changed
247
+ - **📦 Re-release**: Version 1.2.1 re-release with comprehensive release notes from 1.2.0
248
+ - **📝 Documentation**: Enhanced release documentation and changelog formatting
249
+ - **🔄 Version Alignment**: Synchronized version numbers across tsvesync and homebridge-tsvesync
250
+ - **📚 Dependency Update**: Updated tsvesync dependency to 1.2.1
251
+
252
+ ## 1.2.0 (2025-09-04)
253
+
254
+ ### Added
255
+ - **💾 Session Persistence**: Comprehensive session management for improved reliability
256
+ - **🔐 Automatic Session Recovery**: VeSync sessions now persist across Homebridge restarts
257
+ - **📊 Token Lifecycle Management**: JWT token expiration tracking and automatic refresh
258
+ - **🛡️ Secure Storage**: Sessions stored with appropriate file permissions in tsvesync subdirectory
259
+ - **🚀 Faster Startup**: Reduced authentication overhead on Homebridge startup via session reuse
260
+ - **🔄 Seamless Recovery**: Automatic fallback to fresh login when persisted sessions are invalid
261
+
262
+ - **🎛️ Advanced Speed Control**: Enhanced speed control for air purifiers with 4+ manual speeds
263
+ - **🌟 Multi-Speed Support**: Dynamic step calculation for devices with 4+ manual speed levels
264
+ - **🎯 Precision Mapping**: Better percentage-to-speed conversion for devices with varying speed counts
265
+ - **🔄 Smart Notch System**: Automatic adjustment of speed notches based on device capabilities
266
+ - **📱 Improved HomeKit UX**: More accurate slider positions and speed transitions
267
+
268
+ ### Enhanced
269
+ - **🔧 API Integration**: Enhanced tsvesync library integration with session management
270
+ - **📦 Library Update**: Updated to tsvesync 1.2.0 with session persistence capabilities
271
+ - **🔗 Session Callbacks**: Integration with tsvesync session store for automatic persistence
272
+ - **⚡ Performance**: Reduced API calls through intelligent session reuse
273
+ - **🛡️ Reliability**: Better handling of authentication failures with automatic recovery
274
+
275
+ - **🌙 Sleep Mode Control**: Refined sleep mode speed control logic
276
+ - **🎛️ Dynamic Step Calculation**: Speed steps now adjust based on maximum device speeds (20% vs 25%)
277
+ - **🎯 Better Speed Mapping**: More accurate conversion between HomeKit percentages and device speeds
278
+ - **🔄 Consistent Behavior**: Unified speed control logic across all sleep-capable devices
279
+ - **📱 UI Responsiveness**: Improved HomeKit characteristic updates during sleep mode transitions
280
+
281
+ ### Fixed
282
+ - **🔧 Speed Control Accuracy**: Enhanced speed control precision for various device configurations
283
+ - **📊 Speed Calculation**: Fixed percentage calculation for devices with 4+ manual speeds
284
+ - **🎛️ Notch Mapping**: Improved notch-to-speed conversion with proper boundary checking
285
+ - **🔄 State Synchronization**: Better synchronization between device state and HomeKit display
286
+ - **🛡️ Edge Case Handling**: Enhanced handling of speed edge cases and boundary conditions
287
+
288
+ ### Technical Details
289
+ - **🏗️ Session Architecture**: Complete integration with tsvesync 1.2.0 session management system
290
+ - **🔧 FileSessionStore**: Dedicated session storage in ~/.homebridge/tsvesync/session.json
291
+ - **📊 JWT Integration**: Automatic JWT token expiration tracking and session validation
292
+ - **🎛️ Speed Algorithm**: Enhanced speed calculation algorithms for multi-speed device support
293
+ - **🔄 Promise Coordination**: Better coordination with tsvesync library's promise-based login system
294
+
295
+ ### Migration Notes
296
+ - **🚀 Automatic Enhancement**: Session persistence activates automatically after Homebridge restart
297
+ - **📁 New Storage**: Session files stored in new tsvesync subdirectory under Homebridge storage path
298
+ - **🔄 Backward Compatible**: All existing functionality preserved with enhanced capabilities
299
+ - **✅ No Configuration**: No configuration changes required - enhancements work automatically
300
+ - **🔧 Dependency Update**: tsvesync library automatically updated to version 1.2.0
301
+
3
302
  ## 1.1.2 (2025-09-03)
4
303
 
5
304
  ### Enhanced
@@ -24,6 +24,7 @@ export declare class AirPurifierAccessory extends BaseAccessory {
24
24
  * Get the maximum fan speed for the device
25
25
  */
26
26
  private getMaxFanSpeed;
27
+ private isCore200S;
27
28
  /**
28
29
  * Calculate the appropriate step size for discrete speed levels
29
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"air-purifier.accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/air-purifier.accessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAkC9E,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAC7C,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,cAAc,CAAkB;gBAGtC,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,iBAAiB;IAiD3B;;OAEG;IACH,OAAO,CAAC,UAAU;IAqIlB;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAmBvC;;OAEG;IACH,OAAO,CAAC,cAAc;IAiCtB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;;;;;;;;;;;OAYG;YACW,oCAAoC;IAoClD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAqI9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;OAEG;YACW,yBAAyB;IAOvC;;OAEG;YACW,kBAAkB;IAOhC;;OAEG;YACW,eAAe;IAI7B;;OAEG;IACH,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;IAcrD;;OAEG;cACa,0BAA0B,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAqHvE;;OAEG;YACW,cAAc;IAY5B;;OAEG;YACW,cAAc;IA2C5B;;OAEG;YACW,gBAAgB;IA0B9B;;OAEG;YACW,gBAAgB;YAgLhB,SAAS;YAIT,SAAS;CAoExB"}
1
+ {"version":3,"file":"air-purifier.accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/air-purifier.accessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAkC9E,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAC7C,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,cAAc,CAAkB;gBAGtC,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,iBAAiB;IAiD3B;;OAEG;IACH,OAAO,CAAC,UAAU;IAqIlB;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAmBvC;;OAEG;IACH,OAAO,CAAC,cAAc;IAiCtB,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAclC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;;;;;;;;;;OAYG;YACW,oCAAoC;IAoClD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAqI9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;OAEG;YACW,yBAAyB;IAOvC;;OAEG;YACW,kBAAkB;IAOhC;;OAEG;YACW,eAAe;IAI7B;;OAEG;IACH,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;IAcrD;;OAEG;cACa,0BAA0B,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsHvE;;OAEG;YACW,cAAc;IAY5B;;OAEG;YACW,cAAc;IA2C5B;;OAEG;YACW,gBAAgB;IA0B9B;;OAEG;YACW,gBAAgB;YAoLhB,SAAS;YAIT,SAAS;CAoExB"}
@@ -214,13 +214,20 @@ class AirPurifierAccessory extends base_accessory_1.BaseAccessory {
214
214
  // Default to 3 for unknown devices
215
215
  return 3;
216
216
  }
217
+ isCore200S() {
218
+ return (this.device.deviceType || '').toUpperCase().includes('CORE200S');
219
+ }
217
220
  /**
218
221
  * Calculate the appropriate step size for discrete speed levels
219
222
  */
220
223
  calculateRotationSpeedStep() {
221
- // Expose Sleep as the first notch when supported: 0,25,50,75,100
224
+ // Expose Sleep as the first notch when supported.
225
+ // Core 200S uses 3 manual speeds (25% step). 4-speed models use 20% step.
222
226
  if (this.hasFeature('sleep_mode')) {
223
- return 25;
227
+ if (this.isCore200S())
228
+ return 25;
229
+ const max = this.getMaxFanSpeed();
230
+ return max >= 4 ? 20 : 25;
224
231
  }
225
232
  const maxSpeed = this.getMaxFanSpeed();
226
233
  if (maxSpeed === 3)
@@ -233,15 +240,15 @@ class AirPurifierAccessory extends base_accessory_1.BaseAccessory {
233
240
  * Convert device speed to percentage
234
241
  */
235
242
  speedToPercentage(speed) {
236
- // Sleep as first notch: show manual 1→50, 2→75, 3+→100
243
+ // Sleep as first notch: map manual speeds to notches based on model
237
244
  if (this.hasFeature('sleep_mode')) {
238
245
  if (typeof speed !== 'number' || speed <= 0)
239
246
  return 0;
240
- if (speed === 1)
241
- return 50;
242
- if (speed === 2)
243
- return 75;
244
- return 100;
247
+ const step = this.calculateRotationSpeedStep();
248
+ const max = this.isCore200S() ? 3 : this.getMaxFanSpeed();
249
+ // Manual speeds occupy notches 2..(max+1)
250
+ const notch = Math.max(2, Math.min(max + 1, speed + 1));
251
+ return Math.min(100, notch * step);
245
252
  }
246
253
  const maxSpeed = this.getMaxFanSpeed();
247
254
  if (maxSpeed <= 0 || typeof speed !== 'number' || speed <= 0)
@@ -296,16 +303,16 @@ class AirPurifierAccessory extends base_accessory_1.BaseAccessory {
296
303
  * Convert percentage to device speed
297
304
  */
298
305
  percentageToSpeed(percentage) {
299
- // Sleep as first notch: round to nearest 25% and map 50/75/100 → 1/2/3
306
+ // Sleep as first notch: round to nearest step and map notches → speeds
300
307
  if (this.hasFeature('sleep_mode')) {
301
308
  if (typeof percentage !== 'number')
302
309
  return 1;
303
- const notch = Math.max(0, Math.min(4, Math.round(Math.min(100, Math.max(0, percentage)) / 25)));
304
- if (notch <= 2)
305
- return 1; // 50%
306
- if (notch === 3)
307
- return 2; // 75%
308
- return 3; // 100%
310
+ const step = this.calculateRotationSpeedStep();
311
+ const max = this.isCore200S() ? 3 : this.getMaxFanSpeed();
312
+ const maxNotch = max + 1; // include Sleep notch
313
+ const notch = Math.max(0, Math.min(maxNotch, Math.round(Math.min(100, Math.max(0, percentage)) / step)));
314
+ const manualNotch = Math.max(2, notch);
315
+ return Math.min(max, manualNotch - 1);
309
316
  }
310
317
  const maxSpeed = this.getMaxFanSpeed();
311
318
  if (maxSpeed <= 0 || typeof percentage !== 'number')
@@ -511,9 +518,10 @@ class AirPurifierAccessory extends base_accessory_1.BaseAccessory {
511
518
  this.service.updateCharacteristic(this.platform.Characteristic.TargetAirPurifierState, targetState);
512
519
  // Update rotation speed
513
520
  if (isOn && this.hasFeature('sleep_mode') && isSleep) {
514
- this.service.updateCharacteristic(this.platform.Characteristic.RotationSpeed, 25);
521
+ const step = this.calculateRotationSpeedStep();
522
+ this.service.updateCharacteristic(this.platform.Characteristic.RotationSpeed, step);
515
523
  this.lastSetSpeed = 0;
516
- this.lastSetPercentage = 25;
524
+ this.lastSetPercentage = step;
517
525
  }
518
526
  else if (isOn && details.speed !== undefined && details.speed !== null) {
519
527
  // Check if we should skip this update
@@ -595,7 +603,7 @@ class AirPurifierAccessory extends base_accessory_1.BaseAccessory {
595
603
  }
596
604
  // For all other devices, including Core300S, normal mode handling
597
605
  const mode = targetState === 1 ? 'auto' : 'manual';
598
- this.platform.log.debug(`Setting mode to ${mode} for device: ${this.device.deviceName}`);
606
+ this.platform.log.info(`Changing mode to ${mode} for device: ${this.device.deviceName}`);
599
607
  let success = false;
600
608
  // Use the appropriate method to set the mode
601
609
  if (targetState === 1 && typeof extendedDevice.autoMode === 'function') {
@@ -634,7 +642,7 @@ class AirPurifierAccessory extends base_accessory_1.BaseAccessory {
634
642
  // If in sleep mode, surface the first notch
635
643
  const extended = this.device;
636
644
  if (this.hasFeature('sleep_mode') && (extended.mode || '').toLowerCase() === 'sleep') {
637
- return 25;
645
+ return this.calculateRotationSpeedStep();
638
646
  }
639
647
  return 0;
640
648
  }
@@ -695,10 +703,13 @@ class AirPurifierAccessory extends base_accessory_1.BaseAccessory {
695
703
  }
696
704
  // When using sleep-as-first-notch, map slider notches robustly by rounding
697
705
  if (this.hasFeature('sleep_mode')) {
698
- const notch = Math.max(0, Math.min(4, Math.round(percentage / 25)));
706
+ const max = this.isCore200S() ? 3 : this.getMaxFanSpeed();
707
+ const step = this.calculateRotationSpeedStep();
708
+ const maxNotch = max + 1; // include Sleep notch
709
+ const notch = Math.max(0, Math.min(maxNotch, Math.round(percentage / step)));
699
710
  if (notch <= 1) {
700
711
  // Sleep
701
- this.platform.log.debug(`Setting sleep mode via slider on ${this.device.deviceName} (notch=${notch})`);
712
+ this.platform.log.info(`Changing mode to sleep for device: ${this.device.deviceName}`);
702
713
  let ok = false;
703
714
  if (typeof extendedDevice.sleepMode === 'function') {
704
715
  ok = await extendedDevice.sleepMode();
@@ -710,20 +721,21 @@ class AirPurifierAccessory extends base_accessory_1.BaseAccessory {
710
721
  throw new Error('Failed to set sleep mode');
711
722
  }
712
723
  // Immediate UI feedback
713
- this.service.updateCharacteristic(this.platform.Characteristic.RotationSpeed, 25);
724
+ this.service.updateCharacteristic(this.platform.Characteristic.RotationSpeed, step);
714
725
  this.service.updateCharacteristic(this.platform.Characteristic.Active, 1);
715
726
  this.service.updateCharacteristic(this.platform.Characteristic.CurrentAirPurifierState, 2);
716
727
  this.lastSetSpeed = 0;
717
- this.lastSetPercentage = 25;
728
+ this.lastSetPercentage = step;
718
729
  this.skipNextUpdate = true;
719
730
  return;
720
731
  }
721
732
  else {
722
- // Map notches 2/3/4 to speeds 1/2/3
723
- const desiredSpeed = Math.min(3, notch - 1);
733
+ // Map manual notches (2..maxNotch) to speeds 1..max
734
+ const desiredSpeed = Math.min(max, notch - 1);
724
735
  // Ensure manual mode before speed change if necessary
725
736
  const modeNow = (extendedDevice.mode || '').toLowerCase();
726
737
  if (modeNow === 'auto' || modeNow === 'sleep') {
738
+ this.platform.log.info(`Changing mode to manual for device: ${this.device.deviceName}`);
727
739
  if (typeof extendedDevice.manualMode === 'function') {
728
740
  await extendedDevice.manualMode();
729
741
  }
@@ -732,7 +744,7 @@ class AirPurifierAccessory extends base_accessory_1.BaseAccessory {
732
744
  }
733
745
  }
734
746
  // Update UI early
735
- const uiPct = desiredSpeed === 1 ? 50 : desiredSpeed === 2 ? 75 : 100;
747
+ const uiPct = Math.min(100, (desiredSpeed + 1) * step);
736
748
  this.service.updateCharacteristic(this.platform.Characteristic.RotationSpeed, uiPct);
737
749
  this.lastSetSpeed = desiredSpeed;
738
750
  this.lastSetPercentage = uiPct;
@@ -1 +1 @@
1
- {"version":3,"file":"air-purifier.accessory.js","sourceRoot":"","sources":["../../src/accessories/air-purifier.accessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"air-purifier.accessory.js","sourceRoot":"","sources":["../../src/accessories/air-purifier.accessory.ts"],"names":[],"mappings":"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"}