@homebridge-plugins/homebridge-sharkiq 2.0.0-beta.24 → 2.0.0-beta.26
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/devices/BaseMatterAccessory.d.ts +4 -0
- package/dist/devices/BaseMatterAccessory.d.ts.map +1 -1
- package/dist/devices/BaseMatterAccessory.js +36 -12
- package/dist/devices/BaseMatterAccessory.js.map +1 -1
- package/dist/devices/RoboticVacuumAccessory.d.ts.map +1 -1
- package/dist/devices/RoboticVacuumAccessory.js +16 -5
- package/dist/devices/RoboticVacuumAccessory.js.map +1 -1
- package/docs/variables/default.html +1 -1
- package/package.json +1 -1
- package/test/polling.spec.ts +14 -10
- package/test/translateLegacyCluster.spec.ts +57 -0
- package/test/updateLegacyCluster.spec.ts +52 -0
|
@@ -23,6 +23,8 @@ export interface BaseMatterAccessoryConfig {
|
|
|
23
23
|
parts?: MatterAccessory['parts'];
|
|
24
24
|
/** Optional mapping from legacy cluster names to supported cluster names. */
|
|
25
25
|
clusterNameMap?: Record<string, string>;
|
|
26
|
+
/** Enable translation behavior for legacy clusters like 'power' and 'diagnostics'. */
|
|
27
|
+
translateLegacyClusters?: boolean;
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
30
|
* Base class for all Matter accessories
|
|
@@ -43,6 +45,8 @@ export declare abstract class BaseMatterAccessory implements MatterAccessory {
|
|
|
43
45
|
readonly parts?: MatterAccessory['parts'];
|
|
44
46
|
/** Optional mapping table for legacy cluster names */
|
|
45
47
|
readonly clusterNameMap?: Record<string, string>;
|
|
48
|
+
/** Whether to translate legacy clusters (can be toggled at runtime via context.translateLegacyClusters) */
|
|
49
|
+
protected readonly translateLegacyClusters: boolean;
|
|
46
50
|
protected readonly api: API;
|
|
47
51
|
protected readonly log: Logger;
|
|
48
52
|
constructor(api: API, log: Logger, config: BaseMatterAccessoryConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMatterAccessory.d.ts","sourceRoot":"","sources":["../../src/devices/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;IAChC,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"BaseMatterAccessory.d.ts","sourceRoot":"","sources":["../../src/devices/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;IAChC,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,sFAAsF;IACtF,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC;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;IAChD,sDAAsD;IACtD,SAAgB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvD,2GAA2G;IAC3G,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAA;IAGnD,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;IA+BnC;;;OAGG;cACa,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsFhG;;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"}
|
|
@@ -27,6 +27,8 @@ export class BaseMatterAccessory {
|
|
|
27
27
|
parts;
|
|
28
28
|
/** Optional mapping table for legacy cluster names */
|
|
29
29
|
clusterNameMap;
|
|
30
|
+
/** Whether to translate legacy clusters (can be toggled at runtime via context.translateLegacyClusters) */
|
|
31
|
+
translateLegacyClusters;
|
|
30
32
|
// Protected properties available to child classes
|
|
31
33
|
api;
|
|
32
34
|
log;
|
|
@@ -46,6 +48,7 @@ export class BaseMatterAccessory {
|
|
|
46
48
|
this.handlers = config.handlers;
|
|
47
49
|
this.parts = config.parts;
|
|
48
50
|
this.clusterNameMap = config.clusterNameMap || {};
|
|
51
|
+
this.translateLegacyClusters = typeof config.translateLegacyClusters === 'boolean' ? config.translateLegacyClusters : true;
|
|
49
52
|
// Set context with all metadata
|
|
50
53
|
this.context = {
|
|
51
54
|
serialNumber: this.serialNumber,
|
|
@@ -66,8 +69,10 @@ export class BaseMatterAccessory {
|
|
|
66
69
|
// attempted to update clusters like 'power' or 'diagnostics'. The mapping
|
|
67
70
|
// is optional and can be provided per-accessory via config.
|
|
68
71
|
const mapped = (this.clusterNameMap && this.clusterNameMap[cluster]) || cluster;
|
|
69
|
-
// If the mapped cluster exists on this accessory
|
|
70
|
-
|
|
72
|
+
// If the mapped cluster exists on this accessory and this is not a
|
|
73
|
+
// legacy cluster that requires translation, forward the update.
|
|
74
|
+
const isLegacy = cluster === 'power' || cluster === 'diagnostics';
|
|
75
|
+
if (this.clusters && (mapped in this.clusters) && !isLegacy) {
|
|
71
76
|
await this.api.matter.updateAccessoryState(this.uuid, mapped, attributes);
|
|
72
77
|
this.log.debug(`[${this.displayName}] Updated ${mapped} state (from ${cluster}):`, attributes);
|
|
73
78
|
return;
|
|
@@ -77,6 +82,10 @@ export class BaseMatterAccessory {
|
|
|
77
82
|
// against supported clusters (for vacuum devices we commonly support
|
|
78
83
|
// 'rvcOperationalState'). This avoids noisy "Behavior ID ... does not
|
|
79
84
|
// exist" errors while preserving useful state updates.
|
|
85
|
+
// Determine whether translations are enabled for this accessory at runtime.
|
|
86
|
+
const runtimeTranslate = typeof this.context.translateLegacyClusters === 'boolean'
|
|
87
|
+
? this.context.translateLegacyClusters
|
|
88
|
+
: this.translateLegacyClusters;
|
|
80
89
|
if (cluster === 'power') {
|
|
81
90
|
// batteryLevel and charging are informational. If charging is present
|
|
82
91
|
// and we have rvcOperationalState, translate charging->Charging(65)
|
|
@@ -86,12 +95,21 @@ export class BaseMatterAccessory {
|
|
|
86
95
|
if (typeof batteryLevel === 'number') {
|
|
87
96
|
this.logInfo(`battery updated (via legacy 'power'): ${batteryLevel}%`);
|
|
88
97
|
}
|
|
89
|
-
if (typeof charging !== 'undefined'
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
this.
|
|
94
|
-
|
|
98
|
+
if (runtimeTranslate && typeof charging !== 'undefined') {
|
|
99
|
+
// Choose the target cluster to update. Prefer an explicit mapping
|
|
100
|
+
// if provided, otherwise fall back to rvcOperationalState when
|
|
101
|
+
// available.
|
|
102
|
+
const target = (this.clusterNameMap && this.clusterNameMap[cluster]) || 'rvcOperationalState';
|
|
103
|
+
const targetExists = this.clusters && (target in this.clusters);
|
|
104
|
+
const rvcExists = this.clusters && ('rvcOperationalState' in this.clusters);
|
|
105
|
+
if (targetExists || rvcExists) {
|
|
106
|
+
const isCharging = charging === true || charging === 1;
|
|
107
|
+
const opState = isCharging ? 65 : 66;
|
|
108
|
+
const chosen = targetExists ? target : 'rvcOperationalState';
|
|
109
|
+
await this.api.matter.updateAccessoryState(this.uuid, chosen, { operationalState: opState });
|
|
110
|
+
this.log.debug(`[${this.displayName}] Translated legacy 'power' charging=${String(charging)} -> ${chosen}=${opState}`);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
95
113
|
}
|
|
96
114
|
const available = this.clusters ? Object.keys(this.clusters).join(', ') : '(none)';
|
|
97
115
|
this.logWarn(`Attempt to update legacy cluster 'power' but no mapping or supported target found. Available clusters: ${available}`);
|
|
@@ -101,10 +119,16 @@ export class BaseMatterAccessory {
|
|
|
101
119
|
// diagnostics commonly carries an errorCode. If present and non-zero,
|
|
102
120
|
// translate to rvcOperationalState Error (3) when supported.
|
|
103
121
|
const errorCode = attributes.errorCode;
|
|
104
|
-
if (typeof errorCode === 'number' && errorCode > 0
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
122
|
+
if (runtimeTranslate && typeof errorCode === 'number' && errorCode > 0) {
|
|
123
|
+
const target = (this.clusterNameMap && this.clusterNameMap[cluster]) || 'rvcOperationalState';
|
|
124
|
+
const targetExists = this.clusters && (target in this.clusters);
|
|
125
|
+
const rvcExists = this.clusters && ('rvcOperationalState' in this.clusters);
|
|
126
|
+
if (targetExists || rvcExists) {
|
|
127
|
+
const chosen = targetExists ? target : 'rvcOperationalState';
|
|
128
|
+
await this.api.matter.updateAccessoryState(this.uuid, chosen, { operationalState: 3 });
|
|
129
|
+
this.logWarn(`[${this.displayName}] Translated legacy 'diagnostics' errorCode=${errorCode} -> ${chosen}=3 (Error)`);
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
108
132
|
}
|
|
109
133
|
const available = this.clusters ? Object.keys(this.clusters).join(', ') : '(none)';
|
|
110
134
|
this.logDebug(`Attempt to update legacy cluster 'diagnostics' but no mapping or supported target found. Available clusters: ${available}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMatterAccessory.js","sourceRoot":"","sources":["../../src/devices/BaseMatterAccessory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"BaseMatterAccessory.js","sourceRoot":"","sources":["../../src/devices/BaseMatterAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoboticVacuumAccessory.d.ts","sourceRoot":"","sources":["../../src/devices/RoboticVacuumAccessory.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC7D,OAAO,CAAC,YAAY,CAAuB;IAE3C,OAAO,CAAC,WAAW,CAAsB;IAEzC,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,kBAAkB,CAAuB;IAEjD,OAAO,CAAC,oBAAoB,CAAsB;IAElD,OAAO,CAAC,QAAQ,CAAsB;IAEtC,OAAO,CAAC,iBAAiB,CAAwB;IAEjD,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAe;IAC5C,OAAO,CAAC,YAAY,CAAC,CAAgB;gBAEzB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"RoboticVacuumAccessory.d.ts","sourceRoot":"","sources":["../../src/devices/RoboticVacuumAccessory.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC7D,OAAO,CAAC,YAAY,CAAuB;IAE3C,OAAO,CAAC,WAAW,CAAsB;IAEzC,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,kBAAkB,CAAuB;IAEjD,OAAO,CAAC,oBAAoB,CAAsB;IAElD,OAAO,CAAC,QAAQ,CAAsB;IAEtC,OAAO,CAAC,iBAAiB,CAAwB;IAEjD,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAe;IAC5C,OAAO,CAAC,YAAY,CAAC,CAAgB;gBAEzB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,MAAM;IAmMvF;;;OAGG;IACH,OAAO,CAAC,eAAe;IAkJvB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,YAAY;IA2JpB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,uBAAuB;YAqCjB,mBAAmB;YAoDnB,qBAAqB;YA4BrB,WAAW;YAaX,UAAU;YAcV,WAAW;YA0BX,YAAY;YA0BZ,YAAY;YAuBZ,iBAAiB;YAsBjB,cAAc;IAQ5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA0BpB;;;;OAIG;IAEI,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA2B3C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAmBjC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA8BnC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAkC5C,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAU9C,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;CAIjF"}
|
|
@@ -144,11 +144,22 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
|
|
|
144
144
|
},
|
|
145
145
|
// Service Area: Room/zone selection for targeted cleaning
|
|
146
146
|
serviceArea: serviceAreaCluster,
|
|
147
|
-
// Legacy informational clusters
|
|
148
|
-
//
|
|
149
|
-
//
|
|
150
|
-
|
|
151
|
-
|
|
147
|
+
// Legacy informational clusters are intentionally NOT registered here.
|
|
148
|
+
// updateState() will special-case 'power' and 'diagnostics' and
|
|
149
|
+
// translate or skip updates when the accessory does not actually
|
|
150
|
+
// support those clusters. Registering empty legacy clusters can
|
|
151
|
+
// result in Behavior ID errors on Matter servers that don't expose
|
|
152
|
+
// those behaviors, so we avoid adding them.
|
|
153
|
+
},
|
|
154
|
+
// Map legacy cluster names to supported clusters. This allows callers
|
|
155
|
+
// that still use legacy names to be translated to the correct
|
|
156
|
+
// cluster when appropriate. If the mapped target is not present on
|
|
157
|
+
// the accessory, BaseMatterAccessory.updateState() will safely skip
|
|
158
|
+
// or translate attributes instead of forwarding an update that
|
|
159
|
+
// would cause a Behavior ID error on the Matter server.
|
|
160
|
+
clusterNameMap: {
|
|
161
|
+
power: 'rvcOperationalState',
|
|
162
|
+
diagnostics: 'rvcOperationalState',
|
|
152
163
|
},
|
|
153
164
|
handlers: {
|
|
154
165
|
rvcRunMode: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoboticVacuumAccessory.js","sourceRoot":"","sources":["../../src/devices/RoboticVacuumAccessory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RoboticVacuumAccessory.js","sourceRoot":"","sources":["../../src/devices/RoboticVacuumAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>default | @homebridge-plugins/homebridge-sharkiq</title><meta name="description" content="Documentation for @homebridge-plugins/homebridge-sharkiq"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@homebridge-plugins/homebridge-sharkiq</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">default</a></li></ul><h1>Variable default</h1></div><div class="tsd-signature"><span class="tsd-kind-variable">default</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">api</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">API</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span></div><div class="tsd-comment tsd-typography"><p>This method registers the platform with Homebridge</p>
|
|
2
|
-
</div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">api</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">API</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">api</span>: <span class="tsd-signature-type">API</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/homebridge-plugins/homebridge-sharkiq/blob/
|
|
2
|
+
</div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">api</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">API</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">api</span>: <span class="tsd-signature-type">API</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/homebridge-plugins/homebridge-sharkiq/blob/7754ec718ea1e978c79db754d0e5933947385ce1/src/index.ts#L9">index.ts:9</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@homebridge-plugins/homebridge-sharkiq</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@homebridge-plugins/homebridge-sharkiq",
|
|
3
3
|
"displayName": "SharkIQ Plugin",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "2.0.0-beta.
|
|
5
|
+
"version": "2.0.0-beta.26",
|
|
6
6
|
"description": "A Homebridge plugin to connect your Shark Vacuum to homebridge.",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "Bubba8291",
|
package/test/polling.spec.ts
CHANGED
|
@@ -56,19 +56,23 @@ describe('roboticVacuumAccessory polling & mapping', () => {
|
|
|
56
56
|
// Stop polling to clean up
|
|
57
57
|
;(accessory as any).stopPolling()
|
|
58
58
|
|
|
59
|
-
//
|
|
59
|
+
// Since legacy 'power'/'diagnostics' clusters are not registered,
|
|
60
|
+
// BaseMatterAccessory should translate important attributes to
|
|
61
|
+
// supported clusters (for example, charging -> rvcOperationalState)
|
|
62
|
+
// and avoid forwarding updates to non-existent behavior IDs.
|
|
60
63
|
const powerUpdates = mockRecorder.filter(r => r.cluster === 'power')
|
|
61
64
|
const diagUpdates = mockRecorder.filter(r => r.cluster === 'diagnostics')
|
|
65
|
+
const opStateUpdates = mockRecorder.filter(r => r.cluster === 'rvcOperationalState')
|
|
62
66
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
expect(lastPower.batteryLevel).toBeGreaterThanOrEqual(0)
|
|
66
|
-
expect(lastPower.batteryLevel).toBeLessThanOrEqual(100)
|
|
67
|
-
expect(lastPower.charging).toBe(true)
|
|
67
|
+
// No direct 'power' updates should be forwarded
|
|
68
|
+
expect(powerUpdates.length).toBe(0)
|
|
68
69
|
|
|
69
|
-
//
|
|
70
|
-
expect(
|
|
71
|
-
const
|
|
72
|
-
expect(
|
|
70
|
+
// We should see operational state updates derived from charging/error
|
|
71
|
+
expect(opStateUpdates.length).toBeGreaterThan(0)
|
|
72
|
+
const lastOp = opStateUpdates[opStateUpdates.length - 1].attrs as any
|
|
73
|
+
expect(typeof lastOp.operationalState).toBe('number')
|
|
74
|
+
|
|
75
|
+
// diagnostics shouldn't be forwarded directly either
|
|
76
|
+
expect(diagUpdates.length).toBe(0)
|
|
73
77
|
}, 10000)
|
|
74
78
|
})
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { expect, it, vi } from 'vitest'
|
|
2
|
+
|
|
3
|
+
import { BaseMatterAccessory } from '../src/devices/BaseMatterAccessory.js'
|
|
4
|
+
|
|
5
|
+
// Spy for updateAccessoryState
|
|
6
|
+
const mockUpdate = vi.fn(async () => {})
|
|
7
|
+
const mockApi: any = {
|
|
8
|
+
matter: {
|
|
9
|
+
uuid: { generate: (s: string) => `uuid-${s}` },
|
|
10
|
+
deviceTypes: { RoboticVacuumCleaner: 123 },
|
|
11
|
+
updateAccessoryState: mockUpdate,
|
|
12
|
+
},
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const mockLogger: any = { info: () => {}, warn: () => {}, error: () => {}, debug: () => {} }
|
|
16
|
+
|
|
17
|
+
class TranslateAccessory extends BaseMatterAccessory {
|
|
18
|
+
constructor(api: any, log: any) {
|
|
19
|
+
super(api, log, {
|
|
20
|
+
uuid: api.matter.uuid.generate('test-translate'),
|
|
21
|
+
displayName: 'TranslateTest',
|
|
22
|
+
deviceType: (api.matter.deviceTypes.RoboticVacuumCleaner as any) || 0,
|
|
23
|
+
serialNumber: 'SN-T-1',
|
|
24
|
+
manufacturer: 'TestCo',
|
|
25
|
+
model: 'T-1',
|
|
26
|
+
firmwareRevision: '1.0',
|
|
27
|
+
hardwareRevision: '1.0',
|
|
28
|
+
// Register rvcOperationalState so translations have a target
|
|
29
|
+
clusters: {
|
|
30
|
+
rvcOperationalState: { operationalStateList: [{ operationalStateId: 0 }, { operationalStateId: 1 }, { operationalStateId: 65 }], operationalState: 0 },
|
|
31
|
+
},
|
|
32
|
+
// Ensure translation enabled explicitly
|
|
33
|
+
translateLegacyClusters: true,
|
|
34
|
+
})
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public async callUpdateState(cluster: string, attrs: Record<string, unknown>) {
|
|
38
|
+
await (this as any).updateState(cluster, attrs)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
it('translates power.charging -> rvcOperationalState when target exists', async () => {
|
|
43
|
+
mockUpdate.mockClear()
|
|
44
|
+
|
|
45
|
+
const acc = new TranslateAccessory(mockApi, mockLogger)
|
|
46
|
+
|
|
47
|
+
await acc.callUpdateState('power', { batteryLevel: 42, charging: true })
|
|
48
|
+
|
|
49
|
+
// Expect updateAccessoryState called to set rvcOperationalState to 65 (Charging)
|
|
50
|
+
expect(mockUpdate).toHaveBeenCalled()
|
|
51
|
+
const calls = mockUpdate.mock.calls as any
|
|
52
|
+
const found = calls.find((c: any) => c[1] === 'rvcOperationalState')
|
|
53
|
+
expect(found).toBeDefined()
|
|
54
|
+
const args = found as any
|
|
55
|
+
const attrs = args[2] as any
|
|
56
|
+
expect(attrs.operationalState).toBe(65)
|
|
57
|
+
})
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { expect, it, vi } from 'vitest'
|
|
2
|
+
|
|
3
|
+
import { BaseMatterAccessory } from '../src/devices/BaseMatterAccessory.js'
|
|
4
|
+
|
|
5
|
+
// Minimal mock API exposing matter.updateAccessoryState spy
|
|
6
|
+
const mockUpdate = vi.fn(async () => {})
|
|
7
|
+
const mockApi: any = {
|
|
8
|
+
matter: {
|
|
9
|
+
uuid: { generate: (s: string) => `uuid-${s}` },
|
|
10
|
+
deviceTypes: { RoboticVacuumCleaner: 123 },
|
|
11
|
+
updateAccessoryState: mockUpdate,
|
|
12
|
+
},
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const mockLogger: any = { info: () => {}, warn: () => {}, error: () => {}, debug: () => {} }
|
|
16
|
+
|
|
17
|
+
class TestAccessory extends BaseMatterAccessory {
|
|
18
|
+
constructor(api: any, log: any) {
|
|
19
|
+
super(api, log, {
|
|
20
|
+
uuid: api.matter.uuid.generate('test'),
|
|
21
|
+
displayName: 'Test',
|
|
22
|
+
deviceType: (api.matter.deviceTypes.RoboticVacuumCleaner as any) || 0,
|
|
23
|
+
serialNumber: 'SN-TEST',
|
|
24
|
+
manufacturer: 'TestCo',
|
|
25
|
+
model: 'T-1',
|
|
26
|
+
firmwareRevision: '1.0',
|
|
27
|
+
hardwareRevision: '1.0',
|
|
28
|
+
// No clusters registered intentionally
|
|
29
|
+
clusters: {},
|
|
30
|
+
})
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Expose protected updateState for testing
|
|
34
|
+
public async callUpdateState(cluster: string, attrs: Record<string, unknown>) {
|
|
35
|
+
await (this as any).updateState(cluster, attrs)
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
it('doesn\'t call api.matter.updateAccessoryState for legacy \'power\' when no supported cluster exists', async () => {
|
|
40
|
+
const acc = new TestAccessory(mockApi, mockLogger)
|
|
41
|
+
|
|
42
|
+
// Ensure mock hasn't been called yet
|
|
43
|
+
expect(mockUpdate).toHaveBeenCalledTimes(0)
|
|
44
|
+
|
|
45
|
+
await acc.callUpdateState('power', { batteryLevel: 50, charging: true })
|
|
46
|
+
|
|
47
|
+
// Because there are no clusters registered, BaseMatterAccessory.updateState
|
|
48
|
+
// should not forward to api.matter.updateAccessoryState. It may log a warning
|
|
49
|
+
// or translate to rvcOperationalState if available, but in this test no
|
|
50
|
+
// target exists so updateAccessoryState should not be called.
|
|
51
|
+
expect(mockUpdate).toHaveBeenCalledTimes(0)
|
|
52
|
+
})
|