homebridge-tsvesync 1.0.97 → 1.0.99

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,42 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.99 (2025-08-18)
4
+
5
+ ### Fixed
6
+ - **Session Management**: Fixed token expiry handling to properly recognize VeSync JWT tokens as valid for 30 days
7
+ - Updated TOKEN_EXPIRY from 1 hour to 25 days to prevent unnecessary re-authentication
8
+ - Reduced authentication frequency from hourly to every 25 days for improved stability
9
+ - Enhanced session management with proper JWT token lifetime recognition
10
+ - **Cross-Region Authentication**: Updated to tsvesync v1.0.99 with enhanced cross-region retry logic
11
+ - Improved authentication reliability for international users with automatic region switching
12
+ - Enhanced authentication script with cross-region error handling and automatic retry mechanisms
13
+ - Better handling of cross-region authentication errors with intelligent fallback
14
+ - **Authentication Script**: Enhanced vesync-auth-test.sh with cross-region retry handling
15
+ - Added automatic detection and retry for cross-region authentication errors
16
+ - Improved error handling with region change token support
17
+ - Enhanced debugging capabilities for cross-region authentication scenarios
18
+
19
+ ### Dependencies
20
+ - Updated tsvesync from 1.0.98 to 1.0.99 for enhanced cross-region authentication support
21
+
22
+ ### Migration Notes
23
+ - No configuration changes required - authentication improvements are automatic
24
+ - Users should experience significantly reduced authentication requests (from hourly to every 25 days)
25
+ - International users should experience better authentication success rates with cross-region support
26
+ - Existing device functionality remains unchanged with improved underlying session management
27
+
28
+ ## 1.0.98 (2025-08-17)
29
+
30
+ ### Fixed
31
+ - **Authentication Stability**: Updated to tsvesync v1.0.98 with enhanced authentication flow fixes
32
+ - Resolved bizToken handling issues in VeSync authentication requests
33
+ - Improved reliability of new two-step authentication flow with better error handling
34
+ - Enhanced terminalId generation consistency across authentication steps
35
+ - Fixed authentication payload structure to better match VeSync API requirements
36
+ - **Testing Infrastructure**: Updated authentication testing script for better reliability
37
+ - Enhanced test script to properly handle null bizToken scenarios
38
+ - Improved authentication flow validation and error reporting
39
+
3
40
  ## 1.0.97 (2025-08-16)
4
41
 
5
42
  ### Added
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAO5G,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEhF;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,qBAAqB;aAsB1C,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,sBAAsB;aAC9B,GAAG,EAAE,GAAG;IAvB1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyC;IAE3E,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,qBAAqB,CAAgB;IAC7C,OAAO,CAAC,sBAAsB,CAAc;IAC5C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,gBAAgB,CAAqB;gBAG3B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,sBAAsB,EAC9B,GAAG,EAAE,GAAG;IA4E1B;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBrC;;OAEG;YACW,kBAAkB;IAmChC;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAK/C;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;YACW,WAAW;IAwDzB;;OAEG;YACW,kBAAkB;IAIhC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;OAEG;IACG,eAAe;IA0IrB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;CAO3B"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAO5G,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEhF;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,qBAAqB;aAwB1C,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,sBAAsB;aAC9B,GAAG,EAAE,GAAG;IAzB1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyC;IAE3E,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,qBAAqB,CAAgB;IAC7C,OAAO,CAAC,sBAAsB,CAAc;IAC5C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAGvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,gBAAgB,CAAqB;gBAG3B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,sBAAsB,EAC9B,GAAG,EAAE,GAAG;IA4E1B;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBrC;;OAEG;YACW,kBAAkB;IAmChC;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAK/C;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;YACW,WAAW;IAwDzB;;OAEG;YACW,kBAAkB;IAIhC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;OAEG;IACG,eAAe;IA0IrB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;CAO3B"}
package/dist/platform.js CHANGED
@@ -23,7 +23,9 @@ class TSVESyncPlatform {
23
23
  this.lastLoginAttempt = new Date(0);
24
24
  this.loginBackoffTime = 10000; // Start with 10 seconds
25
25
  this.isInitialized = false;
26
- this.TOKEN_EXPIRY = 60 * 60 * 1000; // 1 hour in milliseconds
26
+ // VeSync JWT tokens are valid for 30 days (verified by decoding the JWT)
27
+ // We'll refresh at 25 days to ensure we never hit expiration
28
+ this.TOKEN_EXPIRY = 25 * 24 * 60 * 60 * 1000; // 25 days in milliseconds
27
29
  this.lastTokenRefresh = new Date(0);
28
30
  // Create initialization promise
29
31
  this.initializationPromise = new Promise((resolve) => {
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;AACA,yCAAwD;AAExD,2DAAuD;AAEvD,2CAA8C;AAC9C,iDAA4D;AAG5D;;;;GAIG;AACH,MAAa,gBAAgB;IAqB3B,YACkB,GAAW,EACX,MAA8B,EAC9B,GAAQ;QAFR,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAwB;QAC9B,QAAG,GAAH,GAAG,CAAK;QAvBV,YAAO,GAAmB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/C,mBAAc,GAA0B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QAEpF,oDAAoD;QACpC,gBAAW,GAAwB,EAAE,CAAC;QACrC,sBAAiB,GAA+B,IAAI,GAAG,EAAE,CAAC;QAMnE,qBAAgB,GAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,qBAAgB,GAAG,KAAK,CAAC,CAAC,wBAAwB;QAGlD,kBAAa,GAAG,KAAK,CAAC;QAEb,iBAAY,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,yBAAyB;QACjE,qBAAgB,GAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAO3C,gCAAgC;QAChC,IAAI,CAAC,qBAAqB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACnD,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,kCAAkC;QAClC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAEnC,oBAAoB;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAErD,yBAAyB;QACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;YACnF,OAAO;SACR;QAED,kDAAkD;QAClD,IAAI,CAAC,MAAM,GAAG,IAAA,mCAAuB,EACnC,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,EAChD,IAAI,CAAC,KAAK,EACV,IAAI,EAAE,wBAAwB;QAC9B,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,MAAM,EACX,MAAM,CAAC,OAAO,EACd,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CACjE,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;YACrD,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEtE,8FAA8F;QAC9F,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAE1D,IAAI;gBACF,sBAAsB;gBACtB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAEpC,mGAAmG;gBACnG,MAAM,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,kCAAkC;gBACtG,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;oBAC3C,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC,CAAC;gBAEnC,IAAI,uBAAuB,GAAG,IAAI,CAAC,cAAc,EAAE;oBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,IAAI,CAAC,cAAc,OAAO,uBAAuB,2DAA2D,CAAC,CAAC;iBAClK;aACE;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;gBAC3D,kDAAkD;gBAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;aAC/B;QACH,CAAC,CAAC,CAAC;QAEH,8BAA8B;QAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAC3B,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;aAC1C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI;gBACF,sDAAsD;gBACtD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBACrD,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAClF,CAAC,CAAC,CAAC;gBAEH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAC;aAClE;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;gBAC5D,gEAAgE;gBAChE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,MAAM,KAAK,CAAC;aACb;SACF;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB;QAC9B,IAAI;YACF,qBAAqB;YACrB,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE;gBAC7B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;aAClD;YAED,uBAAuB;YACvB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAE3B,mBAAmB;YACnB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE7B,sDAAsD;YACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAE9B,6BAA6B;YAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE;;gBAC1F,MAAM,UAAU,GAAG,CAAA,MAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,0CAAE,WAAW,KAAI,IAAI,CAAC;gBACxF,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC5E,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SACjC;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YAC3D,4DAA4D;YAC5D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,SAA4B;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,OAAO;YACL,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI;YACnB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;YACtB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ;YACvB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK;SACrB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,MAAW;QACrC,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;YACpC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;SAC5B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,UAAU,GAAG,KAAK;;QAC1C,+BAA+B;QAC/B,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC1E,IAAI,CAAC,UAAU,IAAI,oBAAoB,GAAG,IAAI,CAAC,YAAY,EAAE;YAC3D,OAAO,IAAI,CAAC,CAAC,uBAAuB;SACrC;QAED,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,OAAO,CAAC,UAAU,EAAE,EAAG,+BAA+B;YACpD,IAAI;gBACF,uCAAuC;gBACvC,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC1E,IAAI,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,EAAE;oBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC;oBAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,QAAQ,wCAAwC,CAAC,CAAC;oBAC/E,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;iBAC7D;gBAED,sBAAsB;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;gBAElG,IAAI,CAAC,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC;gBACnC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAE9C,IAAI,CAAC,WAAW,EAAE;oBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;oBACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;oBACpE,SAAS,CAAE,0BAA0B;iBACtC;gBAED,kEAAkE;gBAClE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC;gBACnC,UAAU,GAAG,IAAI,CAAC;gBAClB,OAAO,IAAI,CAAC;aACb;YAAC,OAAO,KAAK,EAAE;gBACd,yBAAyB;gBACzB,MAAM,QAAQ,GAAG,KAAY,CAAC;gBAC9B,MAAM,QAAQ,GAAG,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,0CAAE,GAAG,MAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAA,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;gBAExE,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;oBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBACxD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;oBAC9D,SAAS,CAAE,0BAA0B;iBACtC;gBAED,qDAAqD;gBACrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;gBAEpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBACzC,SAAS,CAAE,0BAA0B;aACtC;SACF;QACD,OAAO,IAAI,CAAC,CAAE,0DAA0D;IAC1E,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB;QAC9B,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,MAAW;;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,KAAK,CAAC;SACd;QAED,oBAAoB;QACpB,IAAI,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE;YAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,UAAU,aAAa,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YACzF,OAAO,IAAI,CAAC;SACb;QAED,qBAAqB;QACrB,IAAI,MAAA,OAAO,CAAC,KAAK,0CAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE;YAC/F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,UAAU,cAAc,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAC1F,OAAO,IAAI,CAAC;SACb;QAED,yBAAyB;QACzB,IAAI,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE;YACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,UAAU,sBAAsB,CAAC,CAAC;YAC/E,OAAO,IAAI,CAAC;SACb;QAED,sBAAsB;QACtB,IAAI,OAAO,CAAC,WAAW,EAAE;YACvB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE;gBACzC,IAAI;oBACF,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;oBAClC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE;wBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,UAAU,qBAAqB,OAAO,EAAE,CAAC,CAAC;wBACvF,OAAO,IAAI,CAAC;qBACb;iBACF;gBAAC,OAAO,KAAK,EAAE;oBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,OAAO,EAAE,CAAC,CAAC;iBACzE;aACF;SACF;QAED,gCAAgC;QAChC,IAAI,CAAA,MAAA,OAAO,CAAC,EAAE,0CAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAI,MAAA,OAAO,CAAC,EAAE,0CAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,EAAE;YACzE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,UAAU,WAAW,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/F,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,IAAI;YACF,qBAAqB;YACrB,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE;gBAC7B,OAAO;aACR;YAED,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,0BAA0B;YAC1B,OAAO,CAAC,OAAO,EAAE;gBACf,IAAI;oBACF,8BAA8B;oBAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC3B,OAAO,GAAG,IAAI,CAAC;iBAChB;gBAAC,OAAO,KAAK,EAAE;oBACd,UAAU,EAAE,CAAC;oBACb,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;oBACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,UAAU,aAAa,WAAW,GAAC,IAAI,aAAa,CAAC,CAAC;oBACzG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;oBAE/D,0DAA0D;oBAC1D,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE;wBAC7B,SAAS;qBACV;iBACF;aACF;YAED,kBAAkB;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YAEzF,yCAAyC;YACzC,IAAI,OAAQ,IAAI,CAAC,MAAc,CAAC,sBAAsB,KAAK,UAAU,EAAE;gBACpE,IAAI,CAAC,MAAc,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;aAC3E;YAED,sCAAsC;YACtC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;YAE/C,yDAAyD;YACzD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC5B,yCAAyC;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAC7C,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAE/B,uCAAuC;gBACvC,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBAEhE,IAAI,SAAS,EAAE;oBACb,2BAA2B;oBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;oBAEjF,+BAA+B;oBAC/B,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBAE5D,mBAAmB;oBACnB,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;iBACjD;qBAAM;oBACL,yBAAyB;oBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;oBAE7D,uBAAuB;oBACvB,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CACxC,MAAM,CAAC,UAAU,EACjB,IAAI,EACJ,8BAAa,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CACtD,CAAC;oBAEF,sCAAsC;oBACtC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;iBAC7D;gBAED,+BAA+B;gBAC/B,MAAM,eAAe,GAAG,8BAAa,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC/E,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;gBAElD,2BAA2B;gBAC3B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;oBACpD,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,sBAAW,EAAE,wBAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC9E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAClC;gBAED,0CAA0C;gBAC1C,IAAI,eAAe,GAAG,CAAC,CAAC;gBACxB,IAAI,YAAY,GAAG,KAAK,CAAC;gBACzB,OAAO,CAAC,YAAY,IAAI,eAAe,GAAG,CAAC,EAAE,EAAE,8BAA8B;oBAC3E,IAAI;wBACF,MAAM,eAAe,CAAC,eAAe,EAAE,CAAC;wBACxC,YAAY,GAAG,IAAI,CAAC;qBACrB;oBAAC,OAAO,KAAK,EAAE;wBACd,eAAe,EAAE,CAAC;wBAClB,yCAAyC;wBACzC,IAAI,eAAe,GAAG,CAAC,EAAE;4BACvB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,KAAK,CAAC,CAAC;4BACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,MAAM,CAAC,UAAU,mBAAmB,eAAe,aAAa,WAAW,GAAC,IAAI,aAAa,CAAC,CAAC;4BACnJ,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;4BAE/D,0DAA0D;4BAC1D,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE;gCAC7B,SAAS;6BACV;yBACF;6BAAM;4BACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,MAAM,CAAC,UAAU,UAAU,eAAe,sBAAsB,CAAC,CAAC;4BACvH,qDAAqD;4BACrD,MAAM;yBACP;qBACF;iBACF;aACF;YAED,uEAAuE;YACvE,IAAI,CAAC,WAAW;iBACb,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;iBAC9D,OAAO,CAAC,SAAS,CAAC,EAAE;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;gBACxE,IAAI;oBACF,iDAAiD;oBACjD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBAClD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;wBACd,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;qBACnC;oBACD,yCAAyC;oBACzC,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,sBAAW,EAAE,wBAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;iBACjF;gBAAC,OAAO,KAAK,EAAE;oBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,SAAS,CAAC,WAAW,qCAAqC,EAAE,KAAK,CAAC,CAAC;iBACxH;gBACD,+CAA+C;gBAC/C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;SAEN;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;SACzD;IACH,CAAC;IAED;;;;OAIG;IACK,kBAAkB,CAAC,MAAoE;QAC7F,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;QACpB,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE;YAC1D,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;CACF;AAtdD,4CAsdC"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "homebridge-tsvesync",
3
- "version": "1.0.97",
3
+ "version": "1.0.99",
4
4
  "description": "Homebridge plugin for VeSync devices including Levoit air purifiers, humidifiers, and Etekcity smart outlets",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -98,7 +98,7 @@
98
98
  "axios": "^1.6.5",
99
99
  "dotenv": "^16.3.1",
100
100
  "js-yaml": "^4.1.0",
101
- "tsvesync": "1.0.97"
101
+ "tsvesync": "1.0.99"
102
102
  },
103
103
  "devDependencies": {
104
104
  "@types/jest": "^29.5.11",
@@ -308,7 +308,18 @@ test_new_authentication() {
308
308
 
309
309
  local timestamp2=$(date +%s)
310
310
  local biz_token=$(extract_json_value "$auth_response" "result.bizToken")
311
- local token_payload="{\"method\":\"loginByAuthorizeCode4Vesync\",\"authorizeCode\":\"$authorize_code\",\"acceptLanguage\":\"en\",\"accountID\":\"\",\"clientInfo\":\"SM N9005\",\"clientType\":\"vesyncApp\",\"clientVersion\":\"VeSync 5.6.60\",\"debugMode\":false,\"emailSubscriptions\":false,\"osInfo\":\"Android\",\"terminalId\":\"$TERMINAL_ID\",\"timeZone\":\"America/New_York\",\"token\":\"\",\"bizToken\":\"$biz_token\",\"regionChange\":\"\",\"userCountryCode\":\"$region\",\"traceId\":\"APP${APP_ID}${timestamp2}\"}"
311
+
312
+ # Build token payload - omit bizToken if null/empty
313
+ local token_payload="{\"method\":\"loginByAuthorizeCode4Vesync\",\"authorizeCode\":\"$authorize_code\",\"acceptLanguage\":\"en\",\"clientInfo\":\"SM N9005\",\"clientType\":\"vesyncApp\",\"clientVersion\":\"VeSync 5.6.60\",\"debugMode\":false,\"emailSubscriptions\":false,\"osInfo\":\"Android\",\"terminalId\":\"$TERMINAL_ID\",\"timeZone\":\"America/New_York\",\"userCountryCode\":\"$region\",\"traceId\":\"APP${APP_ID}${timestamp2}\"}"
314
+
315
+ # Only add bizToken if it exists and is not "null"
316
+ if [[ -n "$biz_token" && "$biz_token" != "null" ]]; then
317
+ # Insert bizToken before userCountryCode
318
+ token_payload="${token_payload/\"userCountryCode\"/\"bizToken\":\"$biz_token\",\"userCountryCode\"}"
319
+ fi
320
+
321
+ log "DEBUG" "Token exchange payload: $token_payload"
322
+ log "DEBUG" "Token exchange endpoint: $base_url/user/api/accountManage/v1/loginByAuthorizeCode4Vesync"
312
323
 
313
324
  local token_response=$(curl -s --connect-timeout $DEFAULT_TIMEOUT --max-time $DEFAULT_TIMEOUT \
314
325
  -X POST \
@@ -332,6 +343,55 @@ test_new_authentication() {
332
343
  echo -e " ${ARROW} Account ID: $(redact_pii "$account_id" "account_id")"
333
344
  echo -e " ${ARROW} Country: ${country_code:-unknown}"
334
345
  return 0
346
+ elif [[ "$token_code" == "-11260022" ]]; then
347
+ # Handle cross-region error with retry (like pyvesync PR #340)
348
+ echo -e "${YELLOW}${WARNING}${NC} Cross-region error detected, attempting retry..."
349
+
350
+ local region_change_token=$(extract_json_value "$token_response" "result.bizToken")
351
+ local new_country_code=$(extract_json_value "$token_response" "result.countryCode")
352
+
353
+ if [[ -n "$region_change_token" && "$region_change_token" != "null" ]]; then
354
+ echo -e " ${ARROW} Got region change token from error response"
355
+ echo -e " ${ARROW} New country code: ${new_country_code:-unknown}"
356
+
357
+ # Step 2 Retry: Use region change token
358
+ echo -e "\n${CYAN}Testing Step 2 Retry: With region change token...${NC}"
359
+
360
+ local timestamp3=$(date +%s)
361
+ local retry_payload="{\"method\":\"loginByAuthorizeCode4Vesync\",\"authorizeCode\":\"$authorize_code\",\"acceptLanguage\":\"en\",\"clientInfo\":\"SM N9005\",\"clientType\":\"vesyncApp\",\"clientVersion\":\"VeSync 5.6.60\",\"debugMode\":false,\"emailSubscriptions\":false,\"osInfo\":\"Android\",\"terminalId\":\"$TERMINAL_ID\",\"timeZone\":\"America/New_York\",\"bizToken\":\"$region_change_token\",\"regionChange\":\"last_region\",\"userCountryCode\":\"${new_country_code:-$region}\",\"traceId\":\"APP${APP_ID}${timestamp3}\"}"
362
+
363
+ log "DEBUG" "Retry payload: $retry_payload"
364
+
365
+ local retry_response=$(curl -s --connect-timeout $DEFAULT_TIMEOUT --max-time $DEFAULT_TIMEOUT \
366
+ -X POST \
367
+ -H "Content-Type: application/json" \
368
+ -H "Accept: application/json" \
369
+ -H "User-Agent: VeSync/5.6.60 (Android; SM N9005)" \
370
+ -d "$retry_payload" \
371
+ "$base_url/user/api/accountManage/v1/loginByAuthorizeCode4Vesync" 2>/dev/null || echo '{"error":"network_error"}')
372
+
373
+ save_debug_response "$retry_response" "new_auth_${region_lower2}_step2_retry"
374
+
375
+ local retry_code=$(extract_json_value "$retry_response" "code")
376
+ local retry_token=$(extract_json_value "$retry_response" "result.token")
377
+ local retry_account_id=$(extract_json_value "$retry_response" "result.accountID")
378
+ local retry_country=$(extract_json_value "$retry_response" "result.countryCode")
379
+
380
+ if [[ "$retry_code" == "0" && -n "$retry_token" && "$retry_token" != "null" ]]; then
381
+ echo -e "${GREEN}${SUCCESS}${NC} NEW Authentication Step 2 Retry successful!"
382
+ echo -e " ${ARROW} Token: $(redact_pii "$retry_token" "token")"
383
+ echo -e " ${ARROW} Account ID: $(redact_pii "$retry_account_id" "account_id")"
384
+ echo -e " ${ARROW} Country: ${retry_country:-$new_country_code}"
385
+ return 0
386
+ else
387
+ echo -e "${RED}${FAILURE}${NC} NEW Authentication Step 2 Retry failed"
388
+ explain_error_code "$retry_code" "$(extract_json_value "$retry_response" "msg")"
389
+ return 1
390
+ fi
391
+ else
392
+ echo -e "${RED}${FAILURE}${NC} No region change token in error response"
393
+ return 1
394
+ fi
335
395
  else
336
396
  echo -e "${RED}${FAILURE}${NC} NEW Authentication Step 2 failed"
337
397
  explain_error_code "$token_code" "$response_msg"
package/src/platform.ts CHANGED
@@ -30,7 +30,9 @@ export class TSVESyncPlatform implements DynamicPlatformPlugin {
30
30
  private initializationResolver!: () => void;
31
31
  private isInitialized = false;
32
32
  private readonly logger!: PluginLogger;
33
- private readonly TOKEN_EXPIRY = 60 * 60 * 1000; // 1 hour in milliseconds
33
+ // VeSync JWT tokens are valid for 30 days (verified by decoding the JWT)
34
+ // We'll refresh at 25 days to ensure we never hit expiration
35
+ private readonly TOKEN_EXPIRY = 25 * 24 * 60 * 60 * 1000; // 25 days in milliseconds
34
36
  private lastTokenRefresh: Date = new Date(0);
35
37
 
36
38
  constructor(