node-switchbot 4.0.0-beta.11 → 4.0.0-beta.13
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/dist/ble.d.ts +10 -0
- package/dist/ble.d.ts.map +1 -1
- package/dist/ble.js +157 -29
- package/dist/ble.js.map +1 -1
- package/dist/devices/base.d.ts +45 -0
- package/dist/devices/base.d.ts.map +1 -1
- package/dist/devices/base.js +116 -0
- package/dist/devices/base.js.map +1 -1
- package/dist/devices/index.d.ts +7 -0
- package/dist/devices/index.d.ts.map +1 -1
- package/dist/devices/index.js +7 -0
- package/dist/devices/index.js.map +1 -1
- package/dist/devices/wo-ai-hub.d.ts +6 -0
- package/dist/devices/wo-ai-hub.d.ts.map +1 -0
- package/dist/devices/wo-ai-hub.js +7 -0
- package/dist/devices/wo-ai-hub.js.map +1 -0
- package/dist/devices/wo-air-purifier-pm25.d.ts +6 -0
- package/dist/devices/wo-air-purifier-pm25.d.ts.map +1 -0
- package/dist/devices/wo-air-purifier-pm25.js +7 -0
- package/dist/devices/wo-air-purifier-pm25.js.map +1 -0
- package/dist/devices/wo-air-purifier.d.ts +18 -1
- package/dist/devices/wo-air-purifier.d.ts.map +1 -1
- package/dist/devices/wo-air-purifier.js +74 -10
- package/dist/devices/wo-air-purifier.js.map +1 -1
- package/dist/devices/wo-blind-tilt.d.ts +1 -0
- package/dist/devices/wo-blind-tilt.d.ts.map +1 -1
- package/dist/devices/wo-blind-tilt.js +41 -2
- package/dist/devices/wo-blind-tilt.js.map +1 -1
- package/dist/devices/wo-bulb.d.ts +27 -1
- package/dist/devices/wo-bulb.d.ts.map +1 -1
- package/dist/devices/wo-bulb.js +124 -34
- package/dist/devices/wo-bulb.js.map +1 -1
- package/dist/devices/wo-candle-warmer-lamp.d.ts +6 -0
- package/dist/devices/wo-candle-warmer-lamp.d.ts.map +1 -0
- package/dist/devices/wo-candle-warmer-lamp.js +7 -0
- package/dist/devices/wo-candle-warmer-lamp.js.map +1 -0
- package/dist/devices/wo-curtain.d.ts +17 -1
- package/dist/devices/wo-curtain.d.ts.map +1 -1
- package/dist/devices/wo-curtain.js +106 -2
- package/dist/devices/wo-curtain.js.map +1 -1
- package/dist/devices/wo-hand.d.ts +1 -1
- package/dist/devices/wo-hand.d.ts.map +1 -1
- package/dist/devices/wo-hand.js +1 -2
- package/dist/devices/wo-hand.js.map +1 -1
- package/dist/devices/wo-humi.d.ts +17 -1
- package/dist/devices/wo-humi.d.ts.map +1 -1
- package/dist/devices/wo-humi.js +42 -2
- package/dist/devices/wo-humi.js.map +1 -1
- package/dist/devices/wo-humi2.d.ts +0 -12
- package/dist/devices/wo-humi2.d.ts.map +1 -1
- package/dist/devices/wo-humi2.js +0 -18
- package/dist/devices/wo-humi2.js.map +1 -1
- package/dist/devices/wo-pan-tilt-cam-plus-3k.d.ts +6 -0
- package/dist/devices/wo-pan-tilt-cam-plus-3k.d.ts.map +1 -0
- package/dist/devices/wo-pan-tilt-cam-plus-3k.js +7 -0
- package/dist/devices/wo-pan-tilt-cam-plus-3k.js.map +1 -0
- package/dist/devices/wo-relay-switch-1.d.ts +14 -0
- package/dist/devices/wo-relay-switch-1.d.ts.map +1 -1
- package/dist/devices/wo-relay-switch-1.js +47 -10
- package/dist/devices/wo-relay-switch-1.js.map +1 -1
- package/dist/devices/wo-relay-switch-2pm.d.ts.map +1 -1
- package/dist/devices/wo-relay-switch-2pm.js +4 -6
- package/dist/devices/wo-relay-switch-2pm.js.map +1 -1
- package/dist/devices/wo-remote-with-screen.d.ts +6 -0
- package/dist/devices/wo-remote-with-screen.d.ts.map +1 -0
- package/dist/devices/wo-remote-with-screen.js +7 -0
- package/dist/devices/wo-remote-with-screen.js.map +1 -0
- package/dist/devices/wo-rgbic-neon-wire-rope-light.d.ts +6 -0
- package/dist/devices/wo-rgbic-neon-wire-rope-light.d.ts.map +1 -0
- package/dist/devices/wo-rgbic-neon-wire-rope-light.js +7 -0
- package/dist/devices/wo-rgbic-neon-wire-rope-light.js.map +1 -0
- package/dist/devices/wo-water-detector.d.ts +6 -0
- package/dist/devices/wo-water-detector.d.ts.map +1 -0
- package/dist/devices/wo-water-detector.js +7 -0
- package/dist/devices/wo-water-detector.js.map +1 -0
- package/dist/errors.d.ts +20 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +31 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/settings.d.ts +5 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +17 -1
- package/dist/settings.js.map +1 -1
- package/dist/switchbot.d.ts.map +1 -1
- package/dist/switchbot.js +14 -0
- package/dist/switchbot.js.map +1 -1
- package/dist/types/device.d.ts +28 -3
- package/dist/types/device.d.ts.map +1 -1
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/relay-encryption.d.ts +10 -0
- package/dist/utils/relay-encryption.d.ts.map +1 -0
- package/dist/utils/relay-encryption.js +23 -0
- package/dist/utils/relay-encryption.js.map +1 -0
- package/dist/utils/retry.d.ts.map +1 -1
- package/dist/utils/retry.js +49 -6
- package/dist/utils/retry.js.map +1 -1
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/APIError.html +2 -2
- package/docs/classes/APINotAvailableError.html +2 -2
- package/docs/classes/BLEConnection.html +11 -9
- package/docs/classes/BLENotAvailableError.html +2 -2
- package/docs/classes/BLEScanner.html +9 -9
- package/docs/classes/CommandFailedError.html +2 -2
- package/docs/classes/ConnectionTimeoutError.html +2 -2
- package/docs/classes/DeviceManager.html +13 -13
- package/docs/classes/DeviceNotFoundError.html +2 -2
- package/docs/classes/DeviceOverrideStateDuringConnection.html +55 -28
- package/docs/classes/DiscoveryError.html +2 -2
- package/docs/classes/OpenAPIClient.html +24 -24
- package/docs/classes/SequenceDevice.html +56 -29
- package/docs/classes/SwitchBot.html +11 -11
- package/docs/classes/SwitchBotDevice.html +55 -28
- package/docs/classes/SwitchBotError.html +2 -2
- package/docs/classes/ValidationError.html +2 -2
- package/docs/classes/WoAIHub.html +83 -0
- package/docs/classes/WoAirPurifier.html +56 -33
- package/docs/classes/WoAirPurifierPM25.html +83 -0
- package/docs/classes/WoAirPurifierTable.html +56 -33
- package/docs/classes/WoArtFrame.html +67 -35
- package/docs/classes/WoBlindTilt.html +63 -34
- package/docs/classes/WoBulb.html +67 -35
- package/docs/classes/WoCandleWarmerLamp.html +83 -0
- package/docs/classes/WoCeilingLight.html +67 -35
- package/docs/classes/WoCirculatorFan.html +56 -33
- package/docs/classes/WoClimatePanel.html +56 -33
- package/docs/classes/WoContact.html +55 -28
- package/docs/classes/WoCurtain.html +64 -32
- package/docs/classes/WoFloorLamp.html +67 -35
- package/docs/classes/WoGarageDoorOpener.html +62 -32
- package/docs/classes/WoHand.html +56 -38
- package/docs/classes/WoHub2.html +55 -28
- package/docs/classes/WoHub3.html +55 -28
- package/docs/classes/WoHubMiniMatter.html +55 -28
- package/docs/classes/WoHumi.html +58 -32
- package/docs/classes/WoHumi2.html +58 -38
- package/docs/classes/WoIOSensorTH.html +55 -28
- package/docs/classes/WoKeypad.html +55 -28
- package/docs/classes/WoKeypadVision.html +55 -28
- package/docs/classes/WoKeypadVisionPro.html +55 -28
- package/docs/classes/WoLeak.html +55 -28
- package/docs/classes/WoPanTiltCamPlus3K.html +83 -0
- package/docs/classes/WoPlugMiniJP.html +58 -31
- package/docs/classes/WoPlugMiniUS.html +58 -31
- package/docs/classes/WoPresence.html +55 -28
- package/docs/classes/WoRGBICBulb.html +69 -37
- package/docs/classes/WoRGBICNeonWireRopeLight.html +83 -0
- package/docs/classes/WoRGBICWWFloorLamp.html +69 -37
- package/docs/classes/WoRGBICWWStripLight.html +69 -37
- package/docs/classes/WoRelaySwitch1.html +62 -32
- package/docs/classes/WoRelaySwitch1PM.html +62 -32
- package/docs/classes/WoRelaySwitch2PM.html +64 -34
- package/docs/classes/WoRemote.html +55 -28
- package/docs/classes/WoRemoteWithScreen.html +83 -0
- package/docs/classes/WoRollerShade.html +64 -32
- package/docs/classes/WoSensorTH.html +55 -28
- package/docs/classes/WoSensorTHPlus.html +55 -28
- package/docs/classes/WoSensorTHPro.html +55 -28
- package/docs/classes/WoSensorTHProCO2.html +55 -28
- package/docs/classes/WoSmartLock.html +58 -31
- package/docs/classes/WoSmartLockLite.html +58 -31
- package/docs/classes/WoSmartLockPro.html +60 -33
- package/docs/classes/WoSmartLockProWiFi.html +60 -33
- package/docs/classes/WoSmartLockVision.html +58 -31
- package/docs/classes/WoSmartLockVisionPro.html +60 -33
- package/docs/classes/WoSmartThermostatRadiator.html +56 -33
- package/docs/classes/WoStrip.html +67 -35
- package/docs/classes/WoStripLight3.html +67 -35
- package/docs/classes/WoVacuum.html +63 -36
- package/docs/classes/WoVacuumK10Plus.html +63 -36
- package/docs/classes/WoVacuumK10Pro.html +63 -36
- package/docs/classes/WoVacuumK10ProCombo.html +63 -36
- package/docs/classes/WoVacuumK11Plus.html +63 -36
- package/docs/classes/WoVacuumK20.html +63 -36
- package/docs/classes/WoVacuumS10.html +63 -36
- package/docs/classes/WoVacuumS20.html +63 -36
- package/docs/classes/WoWaterDetector.html +83 -0
- package/docs/enums/LogLevel.html +2 -2
- package/docs/enums/SwitchBotBLEModel.html +2 -2
- package/docs/enums/SwitchBotBLEModelName.html +2 -2
- package/docs/functions/updateBaseURL.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/APICommandRequest.html +2 -2
- package/docs/interfaces/APICommandResponse.html +2 -2
- package/docs/interfaces/APIDevice.html +2 -2
- package/docs/interfaces/APIDeviceStatus.html +2 -2
- package/docs/interfaces/APIErrorResponse.html +2 -2
- package/docs/interfaces/APIResponse.html +2 -2
- package/docs/interfaces/AirPurifierCommands.html +3 -2
- package/docs/interfaces/AirPurifierServiceData.html +14 -14
- package/docs/interfaces/AirPurifierStatus.html +7 -7
- package/docs/interfaces/BLEAdvertisement.html +2 -2
- package/docs/interfaces/BLEScanOptions.html +5 -5
- package/docs/interfaces/BLEServiceData.html +14 -14
- package/docs/interfaces/BlindTiltCommands.html +2 -2
- package/docs/interfaces/BlindTiltServiceData.html +14 -14
- package/docs/interfaces/BlindTiltStatus.html +7 -6
- package/docs/interfaces/BotCommands.html +2 -2
- package/docs/interfaces/BotServiceData.html +14 -14
- package/docs/interfaces/BotStatus.html +6 -6
- package/docs/interfaces/BulbCommands.html +4 -2
- package/docs/interfaces/BulbServiceData.html +14 -14
- package/docs/interfaces/BulbStatus.html +6 -6
- package/docs/interfaces/CeilingLightCommands.html +4 -2
- package/docs/interfaces/CeilingLightServiceData.html +14 -14
- package/docs/interfaces/CeilingLightStatus.html +6 -6
- package/docs/interfaces/CommandResult.html +6 -6
- package/docs/interfaces/ContactServiceData.html +14 -14
- package/docs/interfaces/ContactStatus.html +6 -6
- package/docs/interfaces/CurtainCommands.html +5 -2
- package/docs/interfaces/CurtainExtendedInfo.html +4 -0
- package/docs/interfaces/CurtainServiceData.html +14 -14
- package/docs/interfaces/CurtainStatus.html +6 -6
- package/docs/interfaces/DeviceInfo.html +18 -18
- package/docs/interfaces/DeviceListResponse.html +2 -2
- package/docs/interfaces/DeviceStatus.html +6 -6
- package/docs/interfaces/DiscoveryOptions.html +7 -7
- package/docs/interfaces/HubServiceData.html +14 -14
- package/docs/interfaces/HubStatus.html +6 -6
- package/docs/interfaces/HumidifierCommands.html +6 -2
- package/docs/interfaces/HumidifierServiceData.html +15 -15
- package/docs/interfaces/HumidifierStatus.html +6 -6
- package/docs/interfaces/KeypadStatus.html +6 -6
- package/docs/interfaces/LeakServiceData.html +14 -14
- package/docs/interfaces/LeakStatus.html +6 -6
- package/docs/interfaces/LockCommands.html +2 -2
- package/docs/interfaces/LockServiceData.html +15 -15
- package/docs/interfaces/LockStatus.html +6 -6
- package/docs/interfaces/MeterServiceData.html +14 -14
- package/docs/interfaces/MeterStatus.html +6 -6
- package/docs/interfaces/MotionServiceData.html +14 -14
- package/docs/interfaces/MotionStatus.html +6 -6
- package/docs/interfaces/PlugCommands.html +2 -2
- package/docs/interfaces/PlugServiceData.html +14 -14
- package/docs/interfaces/PlugStatus.html +6 -6
- package/docs/interfaces/PresenceServiceData.html +14 -14
- package/docs/interfaces/PresenceStatus.html +6 -6
- package/docs/interfaces/RelaySwitchCommands.html +2 -2
- package/docs/interfaces/RelaySwitchServiceData.html +14 -14
- package/docs/interfaces/RelaySwitchStatus.html +6 -6
- package/docs/interfaces/RemoteStatus.html +6 -6
- package/docs/interfaces/SceneListResponse.html +2 -2
- package/docs/interfaces/StripCommands.html +4 -2
- package/docs/interfaces/StripServiceData.html +14 -14
- package/docs/interfaces/StripStatus.html +6 -6
- package/docs/interfaces/SwitchBotConfig.html +15 -15
- package/docs/interfaces/VacuumCommands.html +2 -2
- package/docs/interfaces/VacuumStatus.html +6 -6
- package/docs/interfaces/WebhookConfig.html +2 -2
- package/docs/interfaces/WebhookDetails.html +2 -2
- package/docs/interfaces/WebhookQueryResponse.html +2 -2
- package/docs/interfaces/WebhookSetupResponse.html +2 -2
- package/docs/modules.html +1 -1
- package/docs/types/ConnectionType.html +1 -1
- package/docs/types/PhysicalDeviceType.html +1 -1
- package/docs/types/VirtualDeviceType.html +1 -1
- package/docs/variables/urls.html +1 -1
- package/package.json +2 -2
- package/todo/PYSWITCHBOT_COMPARISON.md +5 -9
- package/todo/completed.md +179 -0
- package/todo/todo.md +54 -122
package/dist/utils/retry.js
CHANGED
|
@@ -3,6 +3,30 @@
|
|
|
3
3
|
* utils/retry.ts: SwitchBot v4.0.0 - Retry Logic with Exponential Backoff
|
|
4
4
|
*/
|
|
5
5
|
import { Logger } from './index.js';
|
|
6
|
+
// BLEAK_RETRY_EXCEPTIONS: error messages/types that should trigger a retry
|
|
7
|
+
const BLEAK_RETRY_EXCEPTIONS = [
|
|
8
|
+
'Device with address',
|
|
9
|
+
'Failed to connect to peripheral',
|
|
10
|
+
'org.freedesktop.DBus.Error',
|
|
11
|
+
'org.bluez.Error',
|
|
12
|
+
'Connection was reset',
|
|
13
|
+
'Connection timed out',
|
|
14
|
+
'Operation already in progress',
|
|
15
|
+
'Operation failed',
|
|
16
|
+
'Not connected',
|
|
17
|
+
'No such device',
|
|
18
|
+
'Resource temporarily unavailable',
|
|
19
|
+
'Software caused connection abort',
|
|
20
|
+
'Connection refused',
|
|
21
|
+
'Connection reset by peer',
|
|
22
|
+
'Connection aborted',
|
|
23
|
+
'Connection error',
|
|
24
|
+
'TimeoutError',
|
|
25
|
+
];
|
|
26
|
+
/**
|
|
27
|
+
* DBus/BlueZ error regex (moved to module scope for performance)
|
|
28
|
+
*/
|
|
29
|
+
const DBUS_ERROR_REGEX = /org\.freedesktop\.DBus|org\.bluez|DBus|BlueZ/i;
|
|
6
30
|
/**
|
|
7
31
|
* Retry executor with exponential backoff
|
|
8
32
|
*/
|
|
@@ -54,23 +78,42 @@ export class RetryExecutor {
|
|
|
54
78
|
}
|
|
55
79
|
catch (error) {
|
|
56
80
|
lastError = error instanceof Error ? error : new Error(String(error));
|
|
81
|
+
const errorMsg = lastError.message || String(lastError);
|
|
82
|
+
const isDBusError = DBUS_ERROR_REGEX.test(errorMsg);
|
|
83
|
+
const isBleakRetry = BLEAK_RETRY_EXCEPTIONS.some(msg => errorMsg.includes(msg));
|
|
57
84
|
const elapsedMs = Date.now() - (Date.now() - totalTimeMs);
|
|
58
85
|
totalTimeMs += elapsedMs;
|
|
59
|
-
if (attemptNumber < this.config.maxAttempts) {
|
|
86
|
+
if (attemptNumber < this.config.maxAttempts && (isDBusError || isBleakRetry || attemptNumber < this.config.maxAttempts)) {
|
|
87
|
+
// DBus error: always backoff 0.25s (250ms) before normal backoff
|
|
88
|
+
if (isDBusError) {
|
|
89
|
+
this.logger.warn(`${description} DBus error detected on attempt ${attemptNumber}, applying 250ms backoff`, { error: errorMsg });
|
|
90
|
+
await new Promise(resolve => setTimeout(resolve, 250));
|
|
91
|
+
}
|
|
60
92
|
const delayMs = this.calculateDelay(attemptNumber);
|
|
61
|
-
this.logger.warn(`${description} failed on attempt ${attemptNumber}/${this.config.maxAttempts}, retrying in ${delayMs}ms`, {
|
|
62
|
-
|
|
93
|
+
this.logger.warn(`${description} failed on attempt ${attemptNumber}/${this.config.maxAttempts}, retrying in ${delayMs}ms`, {
|
|
94
|
+
error: errorMsg,
|
|
95
|
+
attempt: attemptNumber,
|
|
96
|
+
errorType: lastError.name,
|
|
97
|
+
isDBusError,
|
|
98
|
+
isBleakRetry,
|
|
99
|
+
});
|
|
63
100
|
await new Promise(resolve => setTimeout(resolve, delayMs));
|
|
64
101
|
}
|
|
65
102
|
else {
|
|
66
|
-
this.logger.error(`${description} failed after ${attemptNumber} attempts`, {
|
|
103
|
+
this.logger.error(`${description} failed after ${attemptNumber} attempts`, {
|
|
104
|
+
error: errorMsg,
|
|
105
|
+
attempt: attemptNumber,
|
|
106
|
+
errorType: lastError.name,
|
|
107
|
+
isDBusError,
|
|
108
|
+
isBleakRetry,
|
|
109
|
+
});
|
|
67
110
|
}
|
|
68
111
|
}
|
|
69
112
|
}
|
|
70
113
|
return {
|
|
71
114
|
success: false,
|
|
72
|
-
error: lastError ||
|
|
73
|
-
attemptsCount: attemptNumber,
|
|
115
|
+
error: new Error(`Retry failed after ${attemptNumber - 1} attempts. Last error: ${lastError?.name || 'Unknown'}: ${lastError?.message || 'Unknown error'}`),
|
|
116
|
+
attemptsCount: attemptNumber - 1,
|
|
74
117
|
totalTimeMs,
|
|
75
118
|
};
|
|
76
119
|
}
|
package/dist/utils/retry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"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"}
|
package/docs/assets/hierarchy.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.hierarchyData = "
|
|
1
|
+
window.hierarchyData = "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"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.navigationData = "
|
|
1
|
+
window.navigationData = "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"
|