@switchbot/homebridge-switchbot 5.0.0-beta.6 → 5.0.0-beta.60
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 +15 -0
- package/README.md +45 -3
- package/config.schema.json +866 -13754
- package/dist/devices-hap/airpurifier.d.ts.map +1 -1
- package/dist/devices-hap/airpurifier.js +12 -6
- package/dist/devices-hap/airpurifier.js.map +1 -1
- package/dist/devices-hap/blindtilt.js +3 -3
- package/dist/devices-hap/bot.d.ts.map +1 -1
- package/dist/devices-hap/bot.js +16 -5
- package/dist/devices-hap/bot.js.map +1 -1
- package/dist/devices-hap/ceilinglight.d.ts.map +1 -1
- package/dist/devices-hap/ceilinglight.js +13 -7
- package/dist/devices-hap/ceilinglight.js.map +1 -1
- package/dist/devices-hap/colorbulb.d.ts.map +1 -1
- package/dist/devices-hap/colorbulb.js +49 -9
- package/dist/devices-hap/colorbulb.js.map +1 -1
- package/dist/devices-hap/contact.js +3 -3
- package/dist/devices-hap/curtain.js +2 -2
- package/dist/devices-hap/curtain.js.map +1 -1
- package/dist/devices-hap/device.d.ts +18 -8
- package/dist/devices-hap/device.d.ts.map +1 -1
- package/dist/devices-hap/device.js +141 -69
- package/dist/devices-hap/device.js.map +1 -1
- package/dist/devices-hap/fan.d.ts.map +1 -1
- package/dist/devices-hap/fan.js +12 -6
- package/dist/devices-hap/fan.js.map +1 -1
- package/dist/devices-hap/hub.d.ts.map +1 -1
- package/dist/devices-hap/hub.js +6 -5
- package/dist/devices-hap/hub.js.map +1 -1
- package/dist/devices-hap/humidifier.d.ts +5 -0
- package/dist/devices-hap/humidifier.d.ts.map +1 -1
- package/dist/devices-hap/humidifier.js +92 -4
- package/dist/devices-hap/humidifier.js.map +1 -1
- package/dist/devices-hap/iosensor.d.ts.map +1 -1
- package/dist/devices-hap/iosensor.js +36 -21
- package/dist/devices-hap/iosensor.js.map +1 -1
- package/dist/devices-hap/lightstrip.d.ts.map +1 -1
- package/dist/devices-hap/lightstrip.js +38 -8
- package/dist/devices-hap/lightstrip.js.map +1 -1
- package/dist/devices-hap/lock.d.ts.map +1 -1
- package/dist/devices-hap/lock.js +14 -6
- package/dist/devices-hap/lock.js.map +1 -1
- package/dist/devices-hap/meter.d.ts.map +1 -1
- package/dist/devices-hap/meter.js +6 -5
- package/dist/devices-hap/meter.js.map +1 -1
- package/dist/devices-hap/meterplus.d.ts.map +1 -1
- package/dist/devices-hap/meterplus.js +6 -5
- package/dist/devices-hap/meterplus.js.map +1 -1
- package/dist/devices-hap/meterpro.d.ts.map +1 -1
- package/dist/devices-hap/meterpro.js +7 -6
- package/dist/devices-hap/meterpro.js.map +1 -1
- package/dist/devices-hap/motion.js +3 -3
- package/dist/devices-hap/plug.d.ts.map +1 -1
- package/dist/devices-hap/plug.js +11 -6
- package/dist/devices-hap/plug.js.map +1 -1
- package/dist/devices-hap/relayswitch.js +3 -3
- package/dist/devices-hap/robotvacuumcleaner.d.ts.map +1 -1
- package/dist/devices-hap/robotvacuumcleaner.js +13 -6
- package/dist/devices-hap/robotvacuumcleaner.js.map +1 -1
- package/dist/devices-hap/waterdetector.js +3 -3
- package/dist/devices-matter/BaseMatterAccessory.d.ts +27 -0
- package/dist/devices-matter/BaseMatterAccessory.d.ts.map +1 -1
- package/dist/devices-matter/BaseMatterAccessory.js +169 -5
- package/dist/devices-matter/BaseMatterAccessory.js.map +1 -1
- package/dist/devices-matter/ColorLightAccessory.d.ts.map +1 -1
- package/dist/devices-matter/ColorLightAccessory.js +12 -12
- package/dist/devices-matter/ColorLightAccessory.js.map +1 -1
- package/dist/devices-matter/ColorTemperatureLightAccessory.d.ts.map +1 -1
- package/dist/devices-matter/ColorTemperatureLightAccessory.js +5 -7
- package/dist/devices-matter/ColorTemperatureLightAccessory.js.map +1 -1
- package/dist/devices-matter/DimmableLightAccessory.js +9 -9
- package/dist/devices-matter/DimmableLightAccessory.js.map +1 -1
- package/dist/devices-matter/ExtendedColorLightAccessory.d.ts.map +1 -1
- package/dist/devices-matter/ExtendedColorLightAccessory.js +14 -15
- package/dist/devices-matter/ExtendedColorLightAccessory.js.map +1 -1
- package/dist/devices-matter/OnOffLightAccessory.d.ts.map +1 -1
- package/dist/devices-matter/OnOffLightAccessory.js +8 -16
- package/dist/devices-matter/OnOffLightAccessory.js.map +1 -1
- package/dist/devices-matter/OnOffOutletAccessory.d.ts +2 -0
- package/dist/devices-matter/OnOffOutletAccessory.d.ts.map +1 -1
- package/dist/devices-matter/OnOffOutletAccessory.js +10 -7
- package/dist/devices-matter/OnOffOutletAccessory.js.map +1 -1
- package/dist/devices-matter/OnOffSwitchAccessory.js +2 -2
- package/dist/devices-matter/OnOffSwitchAccessory.js.map +1 -1
- package/dist/devices-matter/RoboticVacuumAccessory.d.ts +29 -43
- package/dist/devices-matter/RoboticVacuumAccessory.d.ts.map +1 -1
- package/dist/devices-matter/RoboticVacuumAccessory.js +287 -262
- package/dist/devices-matter/RoboticVacuumAccessory.js.map +1 -1
- package/dist/homebridge-ui/public/index.html +200 -18
- package/dist/homebridge-ui/server.js +82 -9
- package/dist/homebridge-ui/server.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -7
- package/dist/index.js.map +1 -1
- package/dist/irdevice/irdevice.d.ts +11 -10
- package/dist/irdevice/irdevice.d.ts.map +1 -1
- package/dist/irdevice/irdevice.js +76 -35
- package/dist/irdevice/irdevice.js.map +1 -1
- package/dist/platform-hap.d.ts +26 -15
- package/dist/platform-hap.d.ts.map +1 -1
- package/dist/platform-hap.js +333 -153
- package/dist/platform-hap.js.map +1 -1
- package/dist/platform-matter.d.ts +93 -6
- package/dist/platform-matter.d.ts.map +1 -1
- package/dist/platform-matter.js +1822 -224
- package/dist/platform-matter.js.map +1 -1
- package/dist/settings.d.ts +58 -7
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js.map +1 -1
- package/dist/test/apiRequestTracker.test.d.ts +2 -0
- package/dist/test/apiRequestTracker.test.d.ts.map +1 -0
- package/dist/test/apiRequestTracker.test.js +392 -0
- package/dist/test/apiRequestTracker.test.js.map +1 -0
- package/dist/test/hap/device-webhook-context.test.d.ts +2 -0
- package/dist/test/hap/device-webhook-context.test.d.ts.map +1 -0
- package/dist/test/hap/device-webhook-context.test.js +128 -0
- package/dist/test/hap/device-webhook-context.test.js.map +1 -0
- package/dist/test/hap/platform-hap.logging.test.d.ts +2 -0
- package/dist/test/hap/platform-hap.logging.test.d.ts.map +1 -0
- package/dist/test/hap/platform-hap.logging.test.js +33 -0
- package/dist/test/hap/platform-hap.logging.test.js.map +1 -0
- package/dist/test/hap/platform-hap.test.d.ts +2 -0
- package/dist/test/hap/platform-hap.test.d.ts.map +1 -0
- package/dist/test/hap/platform-hap.test.js +62 -0
- package/dist/test/hap/platform-hap.test.js.map +1 -0
- package/dist/test/helpers/platform-fixtures.d.ts +9 -0
- package/dist/test/helpers/platform-fixtures.d.ts.map +1 -0
- package/dist/test/helpers/platform-fixtures.js +30 -0
- package/dist/test/helpers/platform-fixtures.js.map +1 -0
- package/dist/test/homebridge-ui/server.test.d.ts +2 -0
- package/dist/test/homebridge-ui/server.test.d.ts.map +1 -0
- package/dist/test/homebridge-ui/server.test.js +445 -0
- package/dist/test/homebridge-ui/server.test.js.map +1 -0
- package/dist/{index.test.d.ts.map → test/index.test.d.ts.map} +1 -1
- package/dist/test/index.test.js +19 -0
- package/dist/test/index.test.js.map +1 -0
- package/dist/test/matter/devices-matter/baseMatterAccessory.test.d.ts +2 -0
- package/dist/test/matter/devices-matter/baseMatterAccessory.test.d.ts.map +1 -0
- package/dist/test/matter/devices-matter/baseMatterAccessory.test.js +71 -0
- package/dist/test/matter/devices-matter/baseMatterAccessory.test.js.map +1 -0
- package/dist/test/matter/devices-matter/roboticVacuumAccessory.test.d.ts +2 -0
- package/dist/test/matter/devices-matter/roboticVacuumAccessory.test.d.ts.map +1 -0
- package/dist/test/matter/devices-matter/roboticVacuumAccessory.test.js +366 -0
- package/dist/test/matter/devices-matter/roboticVacuumAccessory.test.js.map +1 -0
- package/dist/test/matter/platform-matter.additional.test.d.ts +2 -0
- package/dist/test/matter/platform-matter.additional.test.d.ts.map +1 -0
- package/dist/test/matter/platform-matter.additional.test.js +35 -0
- package/dist/test/matter/platform-matter.additional.test.js.map +1 -0
- package/dist/test/matter/platform-matter.bleparse.test.d.ts +2 -0
- package/dist/test/matter/platform-matter.bleparse.test.d.ts.map +1 -0
- package/dist/test/matter/platform-matter.bleparse.test.js +43 -0
- package/dist/test/matter/platform-matter.bleparse.test.js.map +1 -0
- package/dist/test/matter/platform-matter.cleanup.test.d.ts +2 -0
- package/dist/test/matter/platform-matter.cleanup.test.d.ts.map +1 -0
- package/dist/test/matter/platform-matter.cleanup.test.js +70 -0
- package/dist/test/matter/platform-matter.cleanup.test.js.map +1 -0
- package/dist/test/matter/platform-matter.keepstale.test.d.ts +2 -0
- package/dist/test/matter/platform-matter.keepstale.test.d.ts.map +1 -0
- package/dist/test/matter/platform-matter.keepstale.test.js +27 -0
- package/dist/test/matter/platform-matter.keepstale.test.js.map +1 -0
- package/dist/test/matter/platform-matter.logging.test.d.ts +2 -0
- package/dist/test/matter/platform-matter.logging.test.d.ts.map +1 -0
- package/dist/test/matter/platform-matter.logging.test.js +29 -0
- package/dist/test/matter/platform-matter.logging.test.js.map +1 -0
- package/dist/test/matter/platform-matter.mapping.test.d.ts +2 -0
- package/dist/test/matter/platform-matter.mapping.test.d.ts.map +1 -0
- package/dist/test/matter/platform-matter.mapping.test.js +43 -0
- package/dist/test/matter/platform-matter.mapping.test.js.map +1 -0
- package/dist/test/matter/platform-matter.openapi-mapping.test.d.ts +2 -0
- package/dist/test/matter/platform-matter.openapi-mapping.test.d.ts.map +1 -0
- package/dist/test/matter/platform-matter.openapi-mapping.test.js +84 -0
- package/dist/test/matter/platform-matter.openapi-mapping.test.js.map +1 -0
- package/dist/test/matter/platform-matter.test.d.ts +2 -0
- package/dist/test/matter/platform-matter.test.d.ts.map +1 -0
- package/dist/test/matter/platform-matter.test.js +117 -0
- package/dist/test/matter/platform-matter.test.js.map +1 -0
- package/dist/test/matter/platform-matter.unregister.test.d.ts +2 -0
- package/dist/test/matter/platform-matter.unregister.test.d.ts.map +1 -0
- package/dist/test/matter/platform-matter.unregister.test.js +30 -0
- package/dist/test/matter/platform-matter.unregister.test.js.map +1 -0
- package/dist/test/matter/platform-matter.webhook.test.d.ts +2 -0
- package/dist/test/matter/platform-matter.webhook.test.d.ts.map +1 -0
- package/dist/test/matter/platform-matter.webhook.test.js +46 -0
- package/dist/test/matter/platform-matter.webhook.test.js.map +1 -0
- package/dist/test/utils.test.d.ts +2 -0
- package/dist/test/utils.test.d.ts.map +1 -0
- package/dist/test/utils.test.js +95 -0
- package/dist/test/utils.test.js.map +1 -0
- package/dist/test/verifyconfig.test.d.ts.map +1 -0
- package/dist/{verifyconfig.test.js → test/verifyconfig.test.js} +2 -2
- package/dist/test/verifyconfig.test.js.map +1 -0
- package/dist/utils.d.ts +204 -3
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +713 -33
- package/dist/utils.js.map +1 -1
- package/docs/assets/highlight.css +14 -0
- package/docs/assets/main.js +2 -2
- package/docs/index.html +31 -2
- package/docs/variables/default.html +1 -1
- package/package.json +15 -15
- package/src/devices-hap/airpurifier.ts +11 -6
- package/src/devices-hap/blindtilt.ts +3 -3
- package/src/devices-hap/bot.ts +15 -5
- package/src/devices-hap/ceilinglight.ts +12 -7
- package/src/devices-hap/colorbulb.ts +46 -10
- package/src/devices-hap/contact.ts +3 -3
- package/src/devices-hap/curtain.ts +2 -2
- package/src/devices-hap/device.ts +149 -70
- package/src/devices-hap/fan.ts +11 -6
- package/src/devices-hap/hub.ts +6 -5
- package/src/devices-hap/humidifier.ts +97 -4
- package/src/devices-hap/iosensor.ts +36 -21
- package/src/devices-hap/lightstrip.ts +35 -8
- package/src/devices-hap/lock.ts +13 -6
- package/src/devices-hap/meter.ts +6 -5
- package/src/devices-hap/meterplus.ts +6 -5
- package/src/devices-hap/meterpro.ts +7 -6
- package/src/devices-hap/motion.ts +3 -3
- package/src/devices-hap/plug.ts +10 -6
- package/src/devices-hap/relayswitch.ts +3 -3
- package/src/devices-hap/robotvacuumcleaner.ts +12 -6
- package/src/devices-hap/waterdetector.ts +3 -3
- package/src/devices-matter/BaseMatterAccessory.ts +176 -5
- package/src/devices-matter/ColorLightAccessory.ts +12 -12
- package/src/devices-matter/ColorTemperatureLightAccessory.ts +5 -7
- package/src/devices-matter/DimmableLightAccessory.ts +9 -9
- package/src/devices-matter/ExtendedColorLightAccessory.ts +14 -15
- package/src/devices-matter/OnOffLightAccessory.ts +8 -16
- package/src/devices-matter/OnOffOutletAccessory.ts +12 -7
- package/src/devices-matter/OnOffSwitchAccessory.ts +2 -2
- package/src/devices-matter/RoboticVacuumAccessory.ts +340 -313
- package/src/homebridge-ui/public/index.html +200 -18
- package/src/homebridge-ui/server.ts +85 -9
- package/src/index.ts +4 -7
- package/src/irdevice/irdevice.ts +74 -35
- package/src/platform-hap.ts +365 -169
- package/src/platform-matter.ts +1872 -229
- package/src/settings.ts +62 -3
- package/src/test/apiRequestTracker.test.ts +417 -0
- package/src/test/hap/device-webhook-context.test.ts +136 -0
- package/src/test/hap/platform-hap.logging.test.ts +36 -0
- package/src/test/hap/platform-hap.test.ts +70 -0
- package/src/test/helpers/platform-fixtures.ts +33 -0
- package/src/test/homebridge-ui/server.test.ts +486 -0
- package/src/test/index.test.ts +24 -0
- package/src/test/matter/devices-matter/baseMatterAccessory.test.ts +88 -0
- package/src/test/matter/devices-matter/roboticVacuumAccessory.test.ts +453 -0
- package/src/test/matter/platform-matter.additional.test.ts +44 -0
- package/src/test/matter/platform-matter.bleparse.test.ts +47 -0
- package/src/test/matter/platform-matter.cleanup.test.ts +86 -0
- package/src/test/matter/platform-matter.keepstale.test.ts +37 -0
- package/src/test/matter/platform-matter.logging.test.ts +33 -0
- package/src/test/matter/platform-matter.mapping.test.ts +57 -0
- package/src/test/matter/platform-matter.openapi-mapping.test.ts +109 -0
- package/src/test/matter/platform-matter.test.ts +144 -0
- package/src/test/matter/platform-matter.unregister.test.ts +39 -0
- package/src/test/matter/platform-matter.webhook.test.ts +54 -0
- package/src/test/utils.test.ts +96 -0
- package/src/{verifyconfig.test.ts → test/verifyconfig.test.ts} +12 -11
- package/src/utils.ts +777 -36
- package/dist/index.test.js +0 -14
- package/dist/index.test.js.map +0 -1
- package/dist/verifyconfig.test.d.ts.map +0 -1
- package/dist/verifyconfig.test.js.map +0 -1
- package/src/index.test.ts +0 -19
- /package/dist/{index.test.d.ts → test/index.test.d.ts} +0 -0
- /package/dist/{verifyconfig.test.d.ts → test/verifyconfig.test.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curtain.js","sourceRoot":"","sources":["../../src/devices-hap/curtain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"curtain.js","sourceRoot":"","sources":["../../src/devices-hap/curtain.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,6 +63,10 @@ export declare abstract class deviceBase {
|
|
|
63
63
|
body: T;
|
|
64
64
|
statusCode: deviceStatusRequest['statusCode'];
|
|
65
65
|
}>;
|
|
66
|
+
/**
|
|
67
|
+
* Check if status code indicates success (100 or 200)
|
|
68
|
+
* @deprecated Use isSuccessfulStatusCode from utils.ts instead
|
|
69
|
+
*/
|
|
66
70
|
successfulStatusCodes<T extends {
|
|
67
71
|
statusCode: number;
|
|
68
72
|
}>(deviceStatus: T): Promise<boolean>;
|
|
@@ -83,15 +87,21 @@ export declare abstract class deviceBase {
|
|
|
83
87
|
statusCode(statusCode: number): Promise<void>;
|
|
84
88
|
/**
|
|
85
89
|
* Logging for Device
|
|
90
|
+
* Modernized logging methods with improved type safety and formatting
|
|
91
|
+
*/
|
|
92
|
+
infoLog(message: string, ...args: unknown[]): void;
|
|
93
|
+
successLog(message: string, ...args: unknown[]): void;
|
|
94
|
+
debugSuccessLog(message: string, ...args: unknown[]): void;
|
|
95
|
+
warnLog(message: string, ...args: unknown[]): void;
|
|
96
|
+
debugWarnLog(message: string, ...args: unknown[]): void;
|
|
97
|
+
errorLog(message: string, ...args: unknown[]): void;
|
|
98
|
+
debugErrorLog(message: string, ...args: unknown[]): void;
|
|
99
|
+
debugLog(message: string, ...args: unknown[]): void;
|
|
100
|
+
/**
|
|
101
|
+
* Format log message with arguments - handles both legacy and modern patterns
|
|
86
102
|
*/
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
debugSuccessLog(...log: any[]): void;
|
|
90
|
-
warnLog(...log: any[]): void;
|
|
91
|
-
debugWarnLog(...log: any[]): void;
|
|
92
|
-
errorLog(...log: any[]): void;
|
|
93
|
-
debugErrorLog(...log: any[]): void;
|
|
94
|
-
debugLog(...log: any[]): void;
|
|
103
|
+
private formatLogMessage;
|
|
104
|
+
protected logWith(level: string, message: string, platformMethodName?: string, payload?: string): void;
|
|
95
105
|
loggingIsDebug(): boolean;
|
|
96
106
|
enablingDeviceLogging(): boolean;
|
|
97
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/devices-hap/device.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACtC,OAAO,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE3H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAiG,aAAa,EAAyK,uBAAuB,EAAuB,MAAM,gBAAgB,CAAA;AAIvW,OAAO,EAAE,iBAAiB,EAAwD,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIxH,8BAAsB,UAAU;IAqC5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB;IACjD,SAAS,CAAC,SAAS,EAAE,iBAAiB;IACtC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAtC1C,SAAgB,GAAG,EAAE,GAAG,CAAA;IACxB,SAAgB,GAAG,EAAE,OAAO,CAAA;IAC5B,SAAgB,MAAM,EAAG,uBAAuB,CAAA;IAChD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IAG3B,SAAS,CAAC,aAAa,EAAG,MAAM,CAAA;IAChC,SAAS,CAAC,iBAAiB,EAAG,MAAM,CAAA;IACpC,SAAS,CAAC,gBAAgB,EAAG,MAAM,CAAA;IACnC,SAAS,CAAC,cAAc,EAAG,MAAM,CAAA;IACjC,SAAS,CAAC,gBAAgB,EAAG,MAAM,CAAA;IACnC,SAAS,CAAC,yBAAyB,EAAG,MAAM,CAAA;IAG5C,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IAC/B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAGnC,SAAS,CAAC,WAAW,EAAG,cAAc,CAAA;IACtC,SAAS,CAAC,cAAc,EAAG,iBAAiB,CAAA;IAG5C,SAAS,CAAC,aAAa,EAAG,MAAM,CAAA;IAChC,SAAS,CAAC,iBAAiB,EAAG,GAAG,CAAA;IACjC,SAAS,CAAC,oBAAoB,EAAG,GAAG,CAAA;IAGpC,SAAS,CAAC,YAAY,EAAG,MAAM,CAAA;IAG/B,SAAS,CAAC,cAAc,CAAC,EAAE,GAAG,CAAO;IAGrC,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAO;gBAGzB,QAAQ,EAAE,oBAAoB,EACvC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM,GAAG,aAAa;IA6BpC,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnE,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCpE,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE;YAAE,IAAI,GAAG,CAAC;YAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAA;SAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9F,WAAW,IAAI,MAAM;IAIf,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/devices-hap/device.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACtC,OAAO,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE3H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAiG,aAAa,EAAyK,uBAAuB,EAAuB,MAAM,gBAAgB,CAAA;AAIvW,OAAO,EAAE,iBAAiB,EAAwD,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIxH,8BAAsB,UAAU;IAqC5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB;IACjD,SAAS,CAAC,SAAS,EAAE,iBAAiB;IACtC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAtC1C,SAAgB,GAAG,EAAE,GAAG,CAAA;IACxB,SAAgB,GAAG,EAAE,OAAO,CAAA;IAC5B,SAAgB,MAAM,EAAG,uBAAuB,CAAA;IAChD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IAG3B,SAAS,CAAC,aAAa,EAAG,MAAM,CAAA;IAChC,SAAS,CAAC,iBAAiB,EAAG,MAAM,CAAA;IACpC,SAAS,CAAC,gBAAgB,EAAG,MAAM,CAAA;IACnC,SAAS,CAAC,cAAc,EAAG,MAAM,CAAA;IACjC,SAAS,CAAC,gBAAgB,EAAG,MAAM,CAAA;IACnC,SAAS,CAAC,yBAAyB,EAAG,MAAM,CAAA;IAG5C,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IAC/B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAGnC,SAAS,CAAC,WAAW,EAAG,cAAc,CAAA;IACtC,SAAS,CAAC,cAAc,EAAG,iBAAiB,CAAA;IAG5C,SAAS,CAAC,aAAa,EAAG,MAAM,CAAA;IAChC,SAAS,CAAC,iBAAiB,EAAG,GAAG,CAAA;IACjC,SAAS,CAAC,oBAAoB,EAAG,GAAG,CAAA;IAGpC,SAAS,CAAC,YAAY,EAAG,MAAM,CAAA;IAG/B,SAAS,CAAC,cAAc,CAAC,EAAE,GAAG,CAAO;IAGrC,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAO;gBAGzB,QAAQ,EAAE,oBAAoB,EACvC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM,GAAG,aAAa;IA6BpC,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnE,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCpE,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE;YAAE,IAAI,GAAG,CAAC;YAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAA;SAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9F,WAAW,IAAI,MAAM;IAIf,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA8F5E;;;;;;;OAOG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM;IAgBvG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAY3C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB9D,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAahG,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC;IAc5B,2BAA2B,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;IA6BhF,mBAAmB,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB3D,iBAAiB,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;KAAE,CAAC;IAKvI,mBAAmB,CAAC,CAAC,SAAS,YAAY,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,UAAU,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAA;KAAE,CAAC;IAKxH;;;OAGG;IACG,qBAAqB,CAAC,CAAC,SAAS;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhG;;;;;;;;;;OAUG;IACG,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB9K,IAAI,CAAC,kBAAkB,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB;IAMzE,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA0T7F,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnD;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAQlD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAQrD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAQ1D,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAQlD,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAQvD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAQnD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAQxD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAWnD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAkCtG,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,OAAO;CAGjC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { hostname } from 'node:os';
|
|
6
6
|
import { SwitchBotBLEModel, SwitchBotBLEModelFriendlyName, SwitchBotBLEModelName, SwitchBotModel } from 'node-switchbot';
|
|
7
|
-
import { formatDeviceIdAsMac, safeStringify, sleep } from '../utils.js';
|
|
7
|
+
import { deviceLoggingEnabled, deviceLoggingIsDebug, formatDeviceIdAsMac, isSuccessfulStatusCode, logDeviceStatusCode, safeStringify, sleep } from '../utils.js';
|
|
8
8
|
export class deviceBase {
|
|
9
9
|
platform;
|
|
10
10
|
accessory;
|
|
@@ -114,7 +114,9 @@ export class deviceBase {
|
|
|
114
114
|
return this.device.maxRetry !== undefined ? this.device.maxRetry : 5;
|
|
115
115
|
}
|
|
116
116
|
async getDeviceConfigSettings(device) {
|
|
117
|
-
const deviceConfig = Object.assign({}, device.logging !== 'standard' && { logging: device.logging }, device.refreshRate !== 0 && { refreshRate: device.refreshRate }, device.updateRate !== 0 && { updateRate: device.updateRate }, device.scanDuration !== 0 && { scanDuration: device.scanDuration }, device.offline === true && { offline: device.offline }, device.maxRetry !== 0 && { maxRetry: device.maxRetry }, device.webhook === true
|
|
117
|
+
const deviceConfig = Object.assign({}, device.logging !== 'standard' && { logging: device.logging }, device.refreshRate !== 0 && { refreshRate: device.refreshRate }, device.updateRate !== 0 && { updateRate: device.updateRate }, device.scanDuration !== 0 && { scanDuration: device.scanDuration }, device.offline === true && { offline: device.offline }, device.maxRetry !== 0 && { maxRetry: device.maxRetry }, (device.webhook === true || (device.webhook === undefined && this.config.options?.webhook === true)) && {
|
|
118
|
+
webhook: device.webhook !== undefined ? device.webhook : this.config.options?.webhook,
|
|
119
|
+
}, device.connectionType !== '' && { connectionType: device.connectionType }, device.disablePlatformBLE !== false && { disablePlatformBLE: device.disablePlatformBLE }, device.external === true && { external: device.external }, device.mqttURL !== '' && { mqttURL: device.mqttURL }, device.mqttOptions && { mqttOptions: device.mqttOptions }, device.mqttPubOptions && { mqttPubOptions: device.mqttPubOptions }, device.maxRetries !== 0 && { maxRetries: device.maxRetries }, device.delayBetweenRetries !== 0 && { delayBetweenRetries: device.delayBetweenRetries });
|
|
118
120
|
let deviceSpecificConfig = {};
|
|
119
121
|
switch (device.configDeviceType) {
|
|
120
122
|
case 'Bot':
|
|
@@ -237,11 +239,7 @@ export class deviceBase {
|
|
|
237
239
|
this.device.bleMac = formattedDeviceId;
|
|
238
240
|
this.debugLog(`bleMac: ${this.device.bleMac}`);
|
|
239
241
|
this.historyService = device.history
|
|
240
|
-
? new this.platform.fakegatoAPI('room', accessory, {
|
|
241
|
-
log: this.platform.log,
|
|
242
|
-
storage: 'fs',
|
|
243
|
-
filename: `${hostname().split('.')[0]}_${this.device.bleMac}_persist.json`,
|
|
244
|
-
})
|
|
242
|
+
? new this.platform.fakegatoAPI('room', accessory, { log: this.platform.log, storage: 'fs', filename: `${hostname().split('.')[0]}_${this.device.bleMac}_persist.json` })
|
|
245
243
|
: null;
|
|
246
244
|
}
|
|
247
245
|
catch (error) {
|
|
@@ -326,8 +324,12 @@ export class deviceBase {
|
|
|
326
324
|
const { response, statusCode } = await this.platform.retryRequest(this.device, this.deviceMaxRetries, this.deviceDelayBetweenRetries);
|
|
327
325
|
return { body: response, statusCode };
|
|
328
326
|
}
|
|
327
|
+
/**
|
|
328
|
+
* Check if status code indicates success (100 or 200)
|
|
329
|
+
* @deprecated Use isSuccessfulStatusCode from utils.ts instead
|
|
330
|
+
*/
|
|
329
331
|
async successfulStatusCodes(deviceStatus) {
|
|
330
|
-
return (deviceStatus.statusCode
|
|
332
|
+
return isSuccessfulStatusCode(deviceStatus.statusCode);
|
|
331
333
|
}
|
|
332
334
|
/**
|
|
333
335
|
* Update the characteristic value and log the change.
|
|
@@ -531,6 +533,12 @@ export class deviceBase {
|
|
|
531
533
|
bleModelName: SwitchBotBLEModelName.LockPro,
|
|
532
534
|
bleModelFriendlyName: SwitchBotBLEModelFriendlyName.LockPro,
|
|
533
535
|
},
|
|
536
|
+
'Smart Lock Ultra': {
|
|
537
|
+
model: SwitchBotModel.LockPro,
|
|
538
|
+
bleModel: SwitchBotBLEModel.LockPro,
|
|
539
|
+
bleModelName: SwitchBotBLEModelName.LockPro,
|
|
540
|
+
bleModelFriendlyName: SwitchBotBLEModelFriendlyName.LockPro,
|
|
541
|
+
},
|
|
534
542
|
'Color Bulb': {
|
|
535
543
|
model: SwitchBotModel.ColorBulb,
|
|
536
544
|
bleModel: SwitchBotBLEModel.ColorBulb,
|
|
@@ -656,94 +664,158 @@ export class deviceBase {
|
|
|
656
664
|
.updateValue(deviceVersion);
|
|
657
665
|
accessory.context.version = deviceVersion;
|
|
658
666
|
this.debugSuccessLog(`version: ${accessory.context.version}`);
|
|
667
|
+
// Expose effective webhook setting on accessory context (parity with Matter)
|
|
668
|
+
try {
|
|
669
|
+
const effectiveWebhook = device.webhook !== undefined ? device.webhook : (this.config.options?.webhook === true ? true : undefined);
|
|
670
|
+
if (effectiveWebhook !== undefined) {
|
|
671
|
+
accessory.context.webhook = effectiveWebhook;
|
|
672
|
+
this.debugLog(`Effective webhook for ${device.deviceId}: ${String(effectiveWebhook)}`);
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
catch (e) {
|
|
676
|
+
this.debugLog(`Failed to set webhook context for ${device.deviceId}: ${e?.message ?? e}`);
|
|
677
|
+
}
|
|
659
678
|
}
|
|
660
679
|
async statusCode(statusCode) {
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
190: 'Device internal error due to device states not synchronized with server, or command format is invalid',
|
|
668
|
-
100: 'Command successfully sent',
|
|
669
|
-
200: 'Request successful',
|
|
670
|
-
400: 'Bad Request, an invalid payload request',
|
|
671
|
-
401: 'Unauthorized, Authorization for the API is required, but the request has not been authenticated',
|
|
672
|
-
403: 'Forbidden, The request has been authenticated but does not have appropriate permissions, or a requested resource is not found',
|
|
673
|
-
404: 'Not Found, Specifies the requested path does not exist',
|
|
674
|
-
406: 'Not Acceptable, a MIME type has been requested via the Accept header for a value not supported by the server',
|
|
675
|
-
415: 'Unsupported Media Type, a contentType header has been defined that is not supported by the server',
|
|
676
|
-
422: 'Unprocessable Entity: The server cannot process the request, often due to exceeded API limits.',
|
|
677
|
-
429: 'Too Many Requests, exceeded the number of requests allowed for a given time window',
|
|
678
|
-
500: 'Internal Server Error, An unexpected error occurred. These errors should be rare',
|
|
679
|
-
};
|
|
680
|
-
if (statusCode === 171 && (this.device.hubDeviceId === this.device.deviceId || this.device.hubDeviceId === '000000000000')) {
|
|
681
|
-
this.debugErrorLog(`statusCode 171 changed to 161: hubDeviceId ${this.device.hubDeviceId} matches deviceId ${this.device.deviceId}, device is its own hub.`);
|
|
682
|
-
statusCode = 161;
|
|
683
|
-
}
|
|
684
|
-
const logMessage = statusMessages[statusCode] || `Unknown statusCode: ${statusCode}, Submit Bugs Here: https://tinyurl.com/SwitchBotBug`;
|
|
685
|
-
const logMethod = [100, 200].includes(statusCode) ? 'debugLog' : statusMessages[statusCode] ? 'errorLog' : 'infoLog';
|
|
686
|
-
this[logMethod](`${logMessage}, statusCode: ${statusCode}`);
|
|
680
|
+
await logDeviceStatusCode(statusCode, {
|
|
681
|
+
debugLog: this.debugLog.bind(this),
|
|
682
|
+
debugErrorLog: this.debugErrorLog.bind(this),
|
|
683
|
+
errorLog: this.errorLog.bind(this),
|
|
684
|
+
infoLog: this.infoLog.bind(this),
|
|
685
|
+
}, this.device.deviceId, this.device.hubDeviceId);
|
|
687
686
|
}
|
|
688
687
|
/**
|
|
689
688
|
* Logging for Device
|
|
689
|
+
* Modernized logging methods with improved type safety and formatting
|
|
690
690
|
*/
|
|
691
|
-
infoLog(...
|
|
692
|
-
if (this.enablingDeviceLogging()) {
|
|
693
|
-
|
|
691
|
+
infoLog(message, ...args) {
|
|
692
|
+
if (!this.enablingDeviceLogging()) {
|
|
693
|
+
return;
|
|
694
694
|
}
|
|
695
|
+
const prefix = `${this.device.deviceType}: ${this.accessory.displayName}`;
|
|
696
|
+
this.logWith('info', prefix, undefined, this.formatLogMessage(message, ...args));
|
|
695
697
|
}
|
|
696
|
-
successLog(...
|
|
697
|
-
if (this.enablingDeviceLogging()) {
|
|
698
|
-
|
|
698
|
+
successLog(message, ...args) {
|
|
699
|
+
if (!this.enablingDeviceLogging()) {
|
|
700
|
+
return;
|
|
699
701
|
}
|
|
702
|
+
const prefix = `${this.device.deviceType}: ${this.accessory.displayName}`;
|
|
703
|
+
this.logWith('success', prefix, undefined, this.formatLogMessage(message, ...args));
|
|
700
704
|
}
|
|
701
|
-
debugSuccessLog(...
|
|
702
|
-
if (this.enablingDeviceLogging()) {
|
|
703
|
-
|
|
704
|
-
this.log.success(`[DEBUG] ${this.device.deviceType}: ${this.accessory.displayName}`, String(...log));
|
|
705
|
-
}
|
|
705
|
+
debugSuccessLog(message, ...args) {
|
|
706
|
+
if (!this.enablingDeviceLogging() || !this.loggingIsDebug()) {
|
|
707
|
+
return;
|
|
706
708
|
}
|
|
709
|
+
const prefix = `[DEBUG] ${this.device.deviceType}: ${this.accessory.displayName}`;
|
|
710
|
+
this.logWith('success', prefix, 'debugSuccessLog', this.formatLogMessage(message, ...args));
|
|
707
711
|
}
|
|
708
|
-
warnLog(...
|
|
709
|
-
if (this.enablingDeviceLogging()) {
|
|
710
|
-
|
|
712
|
+
warnLog(message, ...args) {
|
|
713
|
+
if (!this.enablingDeviceLogging()) {
|
|
714
|
+
return;
|
|
711
715
|
}
|
|
716
|
+
const prefix = `${this.device.deviceType}: ${this.accessory.displayName}`;
|
|
717
|
+
this.logWith('warn', prefix, undefined, this.formatLogMessage(message, ...args));
|
|
712
718
|
}
|
|
713
|
-
debugWarnLog(...
|
|
714
|
-
if (this.enablingDeviceLogging()) {
|
|
715
|
-
|
|
716
|
-
this.log.warn(`[DEBUG] ${this.device.deviceType}: ${this.accessory.displayName}`, String(...log));
|
|
717
|
-
}
|
|
719
|
+
debugWarnLog(message, ...args) {
|
|
720
|
+
if (!this.enablingDeviceLogging() || !this.loggingIsDebug()) {
|
|
721
|
+
return;
|
|
718
722
|
}
|
|
723
|
+
const prefix = `[DEBUG] ${this.device.deviceType}: ${this.accessory.displayName}`;
|
|
724
|
+
this.logWith('warn', prefix, 'debugWarnLog', this.formatLogMessage(message, ...args));
|
|
719
725
|
}
|
|
720
|
-
errorLog(...
|
|
721
|
-
if (this.enablingDeviceLogging()) {
|
|
722
|
-
|
|
726
|
+
errorLog(message, ...args) {
|
|
727
|
+
if (!this.enablingDeviceLogging()) {
|
|
728
|
+
return;
|
|
723
729
|
}
|
|
730
|
+
const prefix = `${this.device.deviceType}: ${this.accessory.displayName}`;
|
|
731
|
+
this.logWith('error', prefix, undefined, this.formatLogMessage(message, ...args));
|
|
724
732
|
}
|
|
725
|
-
debugErrorLog(...
|
|
726
|
-
if (this.enablingDeviceLogging()) {
|
|
727
|
-
|
|
728
|
-
this.log.error(`[DEBUG] ${this.device.deviceType}: ${this.accessory.displayName}`, String(...log));
|
|
729
|
-
}
|
|
733
|
+
debugErrorLog(message, ...args) {
|
|
734
|
+
if (!this.enablingDeviceLogging() || !this.loggingIsDebug()) {
|
|
735
|
+
return;
|
|
730
736
|
}
|
|
737
|
+
const prefix = `[DEBUG] ${this.device.deviceType}: ${this.accessory.displayName}`;
|
|
738
|
+
this.logWith('error', prefix, 'debugErrorLog', this.formatLogMessage(message, ...args));
|
|
731
739
|
}
|
|
732
|
-
debugLog(...
|
|
733
|
-
if (this.enablingDeviceLogging()) {
|
|
734
|
-
|
|
735
|
-
|
|
740
|
+
debugLog(message, ...args) {
|
|
741
|
+
if (!this.enablingDeviceLogging()) {
|
|
742
|
+
return;
|
|
743
|
+
}
|
|
744
|
+
// debug behaves differently depending on debug vs debugMode
|
|
745
|
+
const prefix = this.deviceLogging === 'debug'
|
|
746
|
+
? `[DEBUG] ${this.device.deviceType}: ${this.accessory.displayName}`
|
|
747
|
+
: `${this.device.deviceType}: ${this.accessory.displayName}`;
|
|
748
|
+
this.logWith('debug', prefix, 'debugLog', this.formatLogMessage(message, ...args));
|
|
749
|
+
}
|
|
750
|
+
/**
|
|
751
|
+
* Format log message with arguments - handles both legacy and modern patterns
|
|
752
|
+
*/
|
|
753
|
+
formatLogMessage(message, ...args) {
|
|
754
|
+
// Handle legacy String(...log) pattern for backward compatibility
|
|
755
|
+
if (typeof message !== 'string' && args.length === 0) {
|
|
756
|
+
return String(message);
|
|
757
|
+
}
|
|
758
|
+
// Modern pattern: format message with arguments
|
|
759
|
+
if (args.length === 0) {
|
|
760
|
+
return String(message);
|
|
761
|
+
}
|
|
762
|
+
// Format arguments similar to how platform logging works
|
|
763
|
+
const formattedArgs = args.map((arg) => {
|
|
764
|
+
if (typeof arg === 'string') {
|
|
765
|
+
return arg;
|
|
766
|
+
}
|
|
767
|
+
try {
|
|
768
|
+
return JSON.stringify(arg);
|
|
769
|
+
}
|
|
770
|
+
catch {
|
|
771
|
+
return String(arg);
|
|
772
|
+
}
|
|
773
|
+
});
|
|
774
|
+
return args.length > 0 ? `${message} ${formattedArgs.join(' ')}` : String(message);
|
|
775
|
+
}
|
|
776
|
+
// Generic logger used by device log helpers. Attempts to call a platform
|
|
777
|
+
// helper method first (if present), then falls back to the local logger.
|
|
778
|
+
logWith(level, message, platformMethodName, payload) {
|
|
779
|
+
const method = platformMethodName ?? `${level}Log`;
|
|
780
|
+
const pFn = this.platform?.[method];
|
|
781
|
+
if (typeof pFn === 'function') {
|
|
782
|
+
try {
|
|
783
|
+
// Forward both a short message (title) and optional payload to the
|
|
784
|
+
// platform logger so it can format/attach metadata consistently.
|
|
785
|
+
if (payload !== undefined) {
|
|
786
|
+
pFn(message, payload);
|
|
787
|
+
}
|
|
788
|
+
else {
|
|
789
|
+
pFn(message);
|
|
790
|
+
}
|
|
791
|
+
return;
|
|
792
|
+
}
|
|
793
|
+
catch (_err) {
|
|
794
|
+
// fallthrough to local logger
|
|
795
|
+
}
|
|
796
|
+
}
|
|
797
|
+
const map = {
|
|
798
|
+
info: 'info',
|
|
799
|
+
success: 'success',
|
|
800
|
+
debug: 'debug',
|
|
801
|
+
warn: 'warn',
|
|
802
|
+
error: 'error',
|
|
803
|
+
};
|
|
804
|
+
const local = this.log[map[level] ?? level];
|
|
805
|
+
if (typeof local === 'function') {
|
|
806
|
+
if (payload !== undefined) {
|
|
807
|
+
local.call(this.log, message, payload);
|
|
736
808
|
}
|
|
737
|
-
else
|
|
738
|
-
|
|
809
|
+
else {
|
|
810
|
+
local.call(this.log, message);
|
|
739
811
|
}
|
|
740
812
|
}
|
|
741
813
|
}
|
|
742
814
|
loggingIsDebug() {
|
|
743
|
-
return this.deviceLogging
|
|
815
|
+
return deviceLoggingIsDebug(this.deviceLogging);
|
|
744
816
|
}
|
|
745
817
|
enablingDeviceLogging() {
|
|
746
|
-
return this.deviceLogging
|
|
818
|
+
return deviceLoggingEnabled(this.deviceLogging, this.platform.platformLogging);
|
|
747
819
|
}
|
|
748
820
|
}
|
|
749
821
|
//# sourceMappingURL=device.js.map
|