@switchbot/homebridge-switchbot 5.0.0-beta.4 → 5.0.0-beta.40

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.
Files changed (162) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +23 -3
  3. package/config.schema.json +722 -13684
  4. package/dist/devices-hap/device.d.ts +18 -8
  5. package/dist/devices-hap/device.d.ts.map +1 -1
  6. package/dist/devices-hap/device.js +121 -68
  7. package/dist/devices-hap/device.js.map +1 -1
  8. package/dist/devices-matter/BaseMatterAccessory.d.ts +27 -0
  9. package/dist/devices-matter/BaseMatterAccessory.d.ts.map +1 -1
  10. package/dist/devices-matter/BaseMatterAccessory.js +169 -5
  11. package/dist/devices-matter/BaseMatterAccessory.js.map +1 -1
  12. package/dist/devices-matter/ColorLightAccessory.d.ts.map +1 -1
  13. package/dist/devices-matter/ColorLightAccessory.js +12 -12
  14. package/dist/devices-matter/ColorLightAccessory.js.map +1 -1
  15. package/dist/devices-matter/ColorTemperatureLightAccessory.d.ts.map +1 -1
  16. package/dist/devices-matter/ColorTemperatureLightAccessory.js +5 -7
  17. package/dist/devices-matter/ColorTemperatureLightAccessory.js.map +1 -1
  18. package/dist/devices-matter/DimmableLightAccessory.js +9 -9
  19. package/dist/devices-matter/DimmableLightAccessory.js.map +1 -1
  20. package/dist/devices-matter/ExtendedColorLightAccessory.d.ts.map +1 -1
  21. package/dist/devices-matter/ExtendedColorLightAccessory.js +14 -15
  22. package/dist/devices-matter/ExtendedColorLightAccessory.js.map +1 -1
  23. package/dist/devices-matter/OnOffLightAccessory.d.ts.map +1 -1
  24. package/dist/devices-matter/OnOffLightAccessory.js +8 -16
  25. package/dist/devices-matter/OnOffLightAccessory.js.map +1 -1
  26. package/dist/devices-matter/OnOffOutletAccessory.d.ts +2 -0
  27. package/dist/devices-matter/OnOffOutletAccessory.d.ts.map +1 -1
  28. package/dist/devices-matter/OnOffOutletAccessory.js +10 -7
  29. package/dist/devices-matter/OnOffOutletAccessory.js.map +1 -1
  30. package/dist/devices-matter/OnOffSwitchAccessory.js +2 -2
  31. package/dist/devices-matter/OnOffSwitchAccessory.js.map +1 -1
  32. package/dist/homebridge-ui/public/index.html +48 -1
  33. package/dist/homebridge-ui/server.js +53 -8
  34. package/dist/homebridge-ui/server.js.map +1 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +4 -7
  37. package/dist/index.js.map +1 -1
  38. package/dist/irdevice/irdevice.d.ts +11 -10
  39. package/dist/irdevice/irdevice.d.ts.map +1 -1
  40. package/dist/irdevice/irdevice.js +76 -35
  41. package/dist/irdevice/irdevice.js.map +1 -1
  42. package/dist/platform-hap.d.ts +21 -15
  43. package/dist/platform-hap.d.ts.map +1 -1
  44. package/dist/platform-hap.js +246 -147
  45. package/dist/platform-hap.js.map +1 -1
  46. package/dist/platform-matter.d.ts +88 -6
  47. package/dist/platform-matter.d.ts.map +1 -1
  48. package/dist/platform-matter.js +1726 -243
  49. package/dist/platform-matter.js.map +1 -1
  50. package/dist/settings.d.ts +41 -6
  51. package/dist/settings.d.ts.map +1 -1
  52. package/dist/settings.js.map +1 -1
  53. package/dist/test/hap/platform-hap.logging.test.d.ts +2 -0
  54. package/dist/test/hap/platform-hap.logging.test.d.ts.map +1 -0
  55. package/dist/test/hap/platform-hap.logging.test.js +33 -0
  56. package/dist/test/hap/platform-hap.logging.test.js.map +1 -0
  57. package/dist/test/hap/platform-hap.test.d.ts +2 -0
  58. package/dist/test/hap/platform-hap.test.d.ts.map +1 -0
  59. package/dist/test/hap/platform-hap.test.js +62 -0
  60. package/dist/test/hap/platform-hap.test.js.map +1 -0
  61. package/dist/test/helpers/platform-fixtures.d.ts +9 -0
  62. package/dist/test/helpers/platform-fixtures.d.ts.map +1 -0
  63. package/dist/test/helpers/platform-fixtures.js +30 -0
  64. package/dist/test/helpers/platform-fixtures.js.map +1 -0
  65. package/dist/{index.test.d.ts.map → test/index.test.d.ts.map} +1 -1
  66. package/dist/test/index.test.js +19 -0
  67. package/dist/test/index.test.js.map +1 -0
  68. package/dist/test/matter/devices-matter/baseMatterAccessory.test.d.ts +2 -0
  69. package/dist/test/matter/devices-matter/baseMatterAccessory.test.d.ts.map +1 -0
  70. package/dist/test/matter/devices-matter/baseMatterAccessory.test.js +71 -0
  71. package/dist/test/matter/devices-matter/baseMatterAccessory.test.js.map +1 -0
  72. package/dist/test/matter/platform-matter.additional.test.d.ts +2 -0
  73. package/dist/test/matter/platform-matter.additional.test.d.ts.map +1 -0
  74. package/dist/test/matter/platform-matter.additional.test.js +35 -0
  75. package/dist/test/matter/platform-matter.additional.test.js.map +1 -0
  76. package/dist/test/matter/platform-matter.bleparse.test.d.ts +2 -0
  77. package/dist/test/matter/platform-matter.bleparse.test.d.ts.map +1 -0
  78. package/dist/test/matter/platform-matter.bleparse.test.js +43 -0
  79. package/dist/test/matter/platform-matter.bleparse.test.js.map +1 -0
  80. package/dist/test/matter/platform-matter.cleanup.test.d.ts +2 -0
  81. package/dist/test/matter/platform-matter.cleanup.test.d.ts.map +1 -0
  82. package/dist/test/matter/platform-matter.cleanup.test.js +70 -0
  83. package/dist/test/matter/platform-matter.cleanup.test.js.map +1 -0
  84. package/dist/test/matter/platform-matter.keepstale.test.d.ts +2 -0
  85. package/dist/test/matter/platform-matter.keepstale.test.d.ts.map +1 -0
  86. package/dist/test/matter/platform-matter.keepstale.test.js +27 -0
  87. package/dist/test/matter/platform-matter.keepstale.test.js.map +1 -0
  88. package/dist/test/matter/platform-matter.logging.test.d.ts +2 -0
  89. package/dist/test/matter/platform-matter.logging.test.d.ts.map +1 -0
  90. package/dist/test/matter/platform-matter.logging.test.js +29 -0
  91. package/dist/test/matter/platform-matter.logging.test.js.map +1 -0
  92. package/dist/test/matter/platform-matter.mapping.test.d.ts +2 -0
  93. package/dist/test/matter/platform-matter.mapping.test.d.ts.map +1 -0
  94. package/dist/test/matter/platform-matter.mapping.test.js +43 -0
  95. package/dist/test/matter/platform-matter.mapping.test.js.map +1 -0
  96. package/dist/test/matter/platform-matter.openapi-mapping.test.d.ts +2 -0
  97. package/dist/test/matter/platform-matter.openapi-mapping.test.d.ts.map +1 -0
  98. package/dist/test/matter/platform-matter.openapi-mapping.test.js +84 -0
  99. package/dist/test/matter/platform-matter.openapi-mapping.test.js.map +1 -0
  100. package/dist/test/matter/platform-matter.test.d.ts +2 -0
  101. package/dist/test/matter/platform-matter.test.d.ts.map +1 -0
  102. package/dist/test/matter/platform-matter.test.js +117 -0
  103. package/dist/test/matter/platform-matter.test.js.map +1 -0
  104. package/dist/test/matter/platform-matter.unregister.test.d.ts +2 -0
  105. package/dist/test/matter/platform-matter.unregister.test.d.ts.map +1 -0
  106. package/dist/test/matter/platform-matter.unregister.test.js +30 -0
  107. package/dist/test/matter/platform-matter.unregister.test.js.map +1 -0
  108. package/dist/test/utils.test.d.ts +2 -0
  109. package/dist/test/utils.test.d.ts.map +1 -0
  110. package/dist/test/utils.test.js +95 -0
  111. package/dist/test/utils.test.js.map +1 -0
  112. package/dist/test/verifyconfig.test.d.ts.map +1 -0
  113. package/dist/{verifyconfig.test.js → test/verifyconfig.test.js} +2 -2
  114. package/dist/test/verifyconfig.test.js.map +1 -0
  115. package/dist/utils.d.ts +196 -3
  116. package/dist/utils.d.ts.map +1 -1
  117. package/dist/utils.js +656 -30
  118. package/dist/utils.js.map +1 -1
  119. package/docs/assets/main.js +2 -2
  120. package/docs/index.html +20 -2
  121. package/docs/variables/default.html +1 -1
  122. package/package.json +14 -14
  123. package/src/devices-hap/device.ts +129 -69
  124. package/src/devices-matter/BaseMatterAccessory.ts +176 -5
  125. package/src/devices-matter/ColorLightAccessory.ts +12 -12
  126. package/src/devices-matter/ColorTemperatureLightAccessory.ts +5 -7
  127. package/src/devices-matter/DimmableLightAccessory.ts +9 -9
  128. package/src/devices-matter/ExtendedColorLightAccessory.ts +14 -15
  129. package/src/devices-matter/OnOffLightAccessory.ts +8 -16
  130. package/src/devices-matter/OnOffOutletAccessory.ts +12 -7
  131. package/src/devices-matter/OnOffSwitchAccessory.ts +2 -2
  132. package/src/homebridge-ui/public/index.html +48 -1
  133. package/src/homebridge-ui/server.ts +55 -8
  134. package/src/index.ts +4 -7
  135. package/src/irdevice/irdevice.ts +74 -35
  136. package/src/platform-hap.ts +270 -160
  137. package/src/platform-matter.ts +1768 -240
  138. package/src/settings.ts +45 -2
  139. package/src/test/hap/platform-hap.logging.test.ts +36 -0
  140. package/src/test/hap/platform-hap.test.ts +70 -0
  141. package/src/test/helpers/platform-fixtures.ts +33 -0
  142. package/src/test/index.test.ts +24 -0
  143. package/src/test/matter/devices-matter/baseMatterAccessory.test.ts +88 -0
  144. package/src/test/matter/platform-matter.additional.test.ts +44 -0
  145. package/src/test/matter/platform-matter.bleparse.test.ts +47 -0
  146. package/src/test/matter/platform-matter.cleanup.test.ts +86 -0
  147. package/src/test/matter/platform-matter.keepstale.test.ts +37 -0
  148. package/src/test/matter/platform-matter.logging.test.ts +33 -0
  149. package/src/test/matter/platform-matter.mapping.test.ts +57 -0
  150. package/src/test/matter/platform-matter.openapi-mapping.test.ts +109 -0
  151. package/src/test/matter/platform-matter.test.ts +144 -0
  152. package/src/test/matter/platform-matter.unregister.test.ts +39 -0
  153. package/src/test/utils.test.ts +96 -0
  154. package/src/{verifyconfig.test.ts → test/verifyconfig.test.ts} +12 -11
  155. package/src/utils.ts +714 -32
  156. package/dist/index.test.js +0 -14
  157. package/dist/index.test.js.map +0 -1
  158. package/dist/verifyconfig.test.d.ts.map +0 -1
  159. package/dist/verifyconfig.test.js.map +0 -1
  160. package/src/index.test.ts +0 -19
  161. /package/dist/{index.test.d.ts → test/index.test.d.ts} +0 -0
  162. /package/dist/{verifyconfig.test.d.ts → test/verifyconfig.test.d.ts} +0 -0
@@ -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
- infoLog(...log: any[]): void;
88
- successLog(...log: any[]): void;
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":"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"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/devices-hap/device.ts"],"names":[],"mappings":"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"}
@@ -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;
@@ -237,11 +237,7 @@ export class deviceBase {
237
237
  this.device.bleMac = formattedDeviceId;
238
238
  this.debugLog(`bleMac: ${this.device.bleMac}`);
239
239
  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
- })
240
+ ? new this.platform.fakegatoAPI('room', accessory, { log: this.platform.log, storage: 'fs', filename: `${hostname().split('.')[0]}_${this.device.bleMac}_persist.json` })
245
241
  : null;
246
242
  }
247
243
  catch (error) {
@@ -326,8 +322,12 @@ export class deviceBase {
326
322
  const { response, statusCode } = await this.platform.retryRequest(this.device, this.deviceMaxRetries, this.deviceDelayBetweenRetries);
327
323
  return { body: response, statusCode };
328
324
  }
325
+ /**
326
+ * Check if status code indicates success (100 or 200)
327
+ * @deprecated Use isSuccessfulStatusCode from utils.ts instead
328
+ */
329
329
  async successfulStatusCodes(deviceStatus) {
330
- return (deviceStatus.statusCode === 200 || deviceStatus.statusCode === 100);
330
+ return isSuccessfulStatusCode(deviceStatus.statusCode);
331
331
  }
332
332
  /**
333
333
  * Update the characteristic value and log the change.
@@ -658,92 +658,145 @@ export class deviceBase {
658
658
  this.debugSuccessLog(`version: ${accessory.context.version}`);
659
659
  }
660
660
  async statusCode(statusCode) {
661
- const statusMessages = {
662
- 151: 'Command not supported by this deviceType',
663
- 152: 'Device not found',
664
- 160: 'Command is not supported',
665
- 161: 'Device is offline',
666
- 171: `Hub Device is offline. Hub: ${this.device.hubDeviceId}`,
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}`);
661
+ await logDeviceStatusCode(statusCode, {
662
+ debugLog: this.debugLog.bind(this),
663
+ debugErrorLog: this.debugErrorLog.bind(this),
664
+ errorLog: this.errorLog.bind(this),
665
+ infoLog: this.infoLog.bind(this),
666
+ }, this.device.deviceId, this.device.hubDeviceId);
687
667
  }
688
668
  /**
689
669
  * Logging for Device
670
+ * Modernized logging methods with improved type safety and formatting
690
671
  */
691
- infoLog(...log) {
692
- if (this.enablingDeviceLogging()) {
693
- this.log.info(`${this.device.deviceType}: ${this.accessory.displayName}`, String(...log));
672
+ infoLog(message, ...args) {
673
+ if (!this.enablingDeviceLogging()) {
674
+ return;
694
675
  }
676
+ const prefix = `${this.device.deviceType}: ${this.accessory.displayName}`;
677
+ this.logWith('info', prefix, undefined, this.formatLogMessage(message, ...args));
695
678
  }
696
- successLog(...log) {
697
- if (this.enablingDeviceLogging()) {
698
- this.log.success(`${this.device.deviceType}: ${this.accessory.displayName}`, String(...log));
679
+ successLog(message, ...args) {
680
+ if (!this.enablingDeviceLogging()) {
681
+ return;
699
682
  }
683
+ const prefix = `${this.device.deviceType}: ${this.accessory.displayName}`;
684
+ this.logWith('success', prefix, undefined, this.formatLogMessage(message, ...args));
700
685
  }
701
- debugSuccessLog(...log) {
702
- if (this.enablingDeviceLogging()) {
703
- if (this.loggingIsDebug()) {
704
- this.log.success(`[DEBUG] ${this.device.deviceType}: ${this.accessory.displayName}`, String(...log));
705
- }
686
+ debugSuccessLog(message, ...args) {
687
+ if (!this.enablingDeviceLogging() || !this.loggingIsDebug()) {
688
+ return;
706
689
  }
690
+ const prefix = `[DEBUG] ${this.device.deviceType}: ${this.accessory.displayName}`;
691
+ this.logWith('success', prefix, 'debugSuccessLog', this.formatLogMessage(message, ...args));
707
692
  }
708
- warnLog(...log) {
709
- if (this.enablingDeviceLogging()) {
710
- this.log.warn(`${this.device.deviceType}: ${this.accessory.displayName}`, String(...log));
693
+ warnLog(message, ...args) {
694
+ if (!this.enablingDeviceLogging()) {
695
+ return;
711
696
  }
697
+ const prefix = `${this.device.deviceType}: ${this.accessory.displayName}`;
698
+ this.logWith('warn', prefix, undefined, this.formatLogMessage(message, ...args));
712
699
  }
713
- debugWarnLog(...log) {
714
- if (this.enablingDeviceLogging()) {
715
- if (this.loggingIsDebug()) {
716
- this.log.warn(`[DEBUG] ${this.device.deviceType}: ${this.accessory.displayName}`, String(...log));
717
- }
700
+ debugWarnLog(message, ...args) {
701
+ if (!this.enablingDeviceLogging() || !this.loggingIsDebug()) {
702
+ return;
718
703
  }
704
+ const prefix = `[DEBUG] ${this.device.deviceType}: ${this.accessory.displayName}`;
705
+ this.logWith('warn', prefix, 'debugWarnLog', this.formatLogMessage(message, ...args));
719
706
  }
720
- errorLog(...log) {
721
- if (this.enablingDeviceLogging()) {
722
- this.log.error(`${this.device.deviceType}: ${this.accessory.displayName}`, String(...log));
707
+ errorLog(message, ...args) {
708
+ if (!this.enablingDeviceLogging()) {
709
+ return;
723
710
  }
711
+ const prefix = `${this.device.deviceType}: ${this.accessory.displayName}`;
712
+ this.logWith('error', prefix, undefined, this.formatLogMessage(message, ...args));
724
713
  }
725
- debugErrorLog(...log) {
726
- if (this.enablingDeviceLogging()) {
727
- if (this.loggingIsDebug()) {
728
- this.log.error(`[DEBUG] ${this.device.deviceType}: ${this.accessory.displayName}`, String(...log));
729
- }
714
+ debugErrorLog(message, ...args) {
715
+ if (!this.enablingDeviceLogging() || !this.loggingIsDebug()) {
716
+ return;
717
+ }
718
+ const prefix = `[DEBUG] ${this.device.deviceType}: ${this.accessory.displayName}`;
719
+ this.logWith('error', prefix, 'debugErrorLog', this.formatLogMessage(message, ...args));
720
+ }
721
+ debugLog(message, ...args) {
722
+ if (!this.enablingDeviceLogging()) {
723
+ return;
724
+ }
725
+ // debug behaves differently depending on debug vs debugMode
726
+ const prefix = this.deviceLogging === 'debug'
727
+ ? `[DEBUG] ${this.device.deviceType}: ${this.accessory.displayName}`
728
+ : `${this.device.deviceType}: ${this.accessory.displayName}`;
729
+ this.logWith('debug', prefix, 'debugLog', this.formatLogMessage(message, ...args));
730
+ }
731
+ /**
732
+ * Format log message with arguments - handles both legacy and modern patterns
733
+ */
734
+ formatLogMessage(message, ...args) {
735
+ // Handle legacy String(...log) pattern for backward compatibility
736
+ if (typeof message !== 'string' && args.length === 0) {
737
+ return String(message);
738
+ }
739
+ // Modern pattern: format message with arguments
740
+ if (args.length === 0) {
741
+ return String(message);
730
742
  }
743
+ // Format arguments similar to how platform logging works
744
+ const formattedArgs = args.map((arg) => {
745
+ if (typeof arg === 'string') {
746
+ return arg;
747
+ }
748
+ try {
749
+ return JSON.stringify(arg);
750
+ }
751
+ catch {
752
+ return String(arg);
753
+ }
754
+ });
755
+ return args.length > 0 ? `${message} ${formattedArgs.join(' ')}` : String(message);
731
756
  }
732
- debugLog(...log) {
733
- if (this.enablingDeviceLogging()) {
734
- if (this.deviceLogging === 'debug') {
735
- this.log.info(`[DEBUG] ${this.device.deviceType}: ${this.accessory.displayName}`, String(...log));
757
+ // Generic logger used by device log helpers. Attempts to call a platform
758
+ // helper method first (if present), then falls back to the local logger.
759
+ logWith(level, message, platformMethodName, payload) {
760
+ const method = platformMethodName ?? `${level}Log`;
761
+ const pFn = this.platform?.[method];
762
+ if (typeof pFn === 'function') {
763
+ try {
764
+ // Forward both a short message (title) and optional payload to the
765
+ // platform logger so it can format/attach metadata consistently.
766
+ if (payload !== undefined) {
767
+ pFn(message, payload);
768
+ }
769
+ else {
770
+ pFn(message);
771
+ }
772
+ return;
773
+ }
774
+ catch (_err) {
775
+ // fallthrough to local logger
776
+ }
777
+ }
778
+ const map = {
779
+ info: 'info',
780
+ success: 'success',
781
+ debug: 'debug',
782
+ warn: 'warn',
783
+ error: 'error',
784
+ };
785
+ const local = this.log[map[level] ?? level];
786
+ if (typeof local === 'function') {
787
+ if (payload !== undefined) {
788
+ local.call(this.log, message, payload);
736
789
  }
737
- else if (this.deviceLogging === 'debugMode') {
738
- this.log.debug(`${this.device.deviceType}: ${this.accessory.displayName}`, String(...log));
790
+ else {
791
+ local.call(this.log, message);
739
792
  }
740
793
  }
741
794
  }
742
795
  loggingIsDebug() {
743
- return this.deviceLogging === 'debugMode' || this.deviceLogging === 'debug';
796
+ return deviceLoggingIsDebug(this.deviceLogging);
744
797
  }
745
798
  enablingDeviceLogging() {
746
- return this.deviceLogging === 'debugMode' || this.deviceLogging === 'debug' || this.deviceLogging === 'standard';
799
+ return deviceLoggingEnabled(this.deviceLogging, this.platform.platformLogging);
747
800
  }
748
801
  }
749
802
  //# sourceMappingURL=device.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/devices-hap/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/devices-hap/device.ts"],"names":[],"mappings":"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"}
@@ -50,10 +50,37 @@ export declare abstract class BaseMatterAccessory implements MatterAccessory {
50
50
  /**
51
51
  * Log helper methods
52
52
  */
53
+ protected logWith(level: 'info' | 'error' | 'debug' | 'warn', message: string, ...args: unknown[]): void;
53
54
  protected logInfo(message: string, ...args: unknown[]): void;
54
55
  protected logError(message: string, ...args: unknown[]): void;
55
56
  protected logDebug(message: string, ...args: unknown[]): void;
56
57
  protected logWarn(message: string, ...args: unknown[]): void;
58
+ /**
59
+ * Logging helpers parity: allow Matter accessories to ask whether device-level
60
+ * logging is enabled or in debug mode. These mirror the helpers used by the
61
+ * HAP/IR device bases so behavior is consistent across platforms.
62
+ */
63
+ loggingIsDebug(): Promise<boolean>;
64
+ enablingDeviceLogging(): Promise<boolean>;
65
+ /**
66
+ * Status code logging using shared helper
67
+ */
68
+ statusCode(statusCode: number, deviceId?: string, hubDeviceId?: string): Promise<void>;
69
+ /**
70
+ * Convenience helpers that delegate OpenAPI/BLE commands to platform-provided
71
+ * functions that are injected into the accessory `context` by
72
+ * `platform-matter` when the accessory is created from a discovered device.
73
+ *
74
+ * These methods are intentionally thin wrappers — the platform controls
75
+ * retries, discovery and client lifecycle via the helper functions.
76
+ */
77
+ protected sendOpenAPICommand(command: string, parameter?: string): Promise<any>;
78
+ protected sendBLECommand(methodName: string, ...args: any[]): Promise<any>;
79
+ sendOnCommand(deviceId?: string): Promise<void>;
80
+ sendOffCommand(deviceId?: string): Promise<void>;
81
+ sendSetBrightness(percent: number, deviceId?: string): Promise<void>;
82
+ sendSetColor(r: number, g: number, b: number, deviceId?: string): Promise<void>;
83
+ sendSetColorTemperature(kelvin: number, deviceId?: string): Promise<void>;
57
84
  /**
58
85
  * Convert this class instance to a plain MatterAccessory object
59
86
  * This is what gets registered with Homebridge
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMatterAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/BaseMatterAccessory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE5E,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,YAAY,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACtC,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;CACjC;AAED;;;GAGG;AACH,8BAAsB,mBAAoB,YAAW,eAAe;IAElE,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,WAAW,EAAE,MAAM,CAAA;IACnC,SAAgB,UAAU,EAAE,YAAY,CAAA;IACxC,SAAgB,YAAY,EAAE,MAAM,CAAA;IACpC,SAAgB,YAAY,EAAE,MAAM,CAAA;IACpC,SAAgB,KAAK,EAAE,MAAM,CAAA;IAC7B,SAAgB,gBAAgB,EAAE,MAAM,CAAA;IACxC,SAAgB,gBAAgB,EAAE,MAAM,CAAA;IACxC,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChD,SAAgB,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACtD,SAAgB,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACtD,SAAgB,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;IAGhD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IAC3B,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;gBAG5B,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,yBAAyB;IA6BnC;;;OAGG;cACa,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhG;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI5D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI7D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI7D,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI5D;;;OAGG;IACI,WAAW,IAAI,eAAe;CAgBtC"}
1
+ {"version":3,"file":"BaseMatterAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/BaseMatterAccessory.ts"],"names":[],"mappings":"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"}