@switchbot/homebridge-switchbot 5.0.0-beta.3 → 5.0.0-beta.30
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 +13 -0
- package/config.schema.json +42 -4
- package/dist/devices-hap/device.d.ts +1 -0
- package/dist/devices-hap/device.d.ts.map +1 -1
- package/dist/devices-hap/device.js +70 -30
- package/dist/devices-hap/device.js.map +1 -1
- package/dist/devices-matter/BaseMatterAccessory.d.ts +23 -0
- package/dist/devices-matter/BaseMatterAccessory.d.ts.map +1 -1
- package/dist/devices-matter/BaseMatterAccessory.js +167 -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/homebridge-ui/public/index.html +48 -1
- package/dist/homebridge-ui/server.js +35 -0
- package/dist/homebridge-ui/server.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +7 -2
- package/dist/index.test.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 +11 -14
- package/dist/platform-hap.d.ts.map +1 -1
- package/dist/platform-hap.js +64 -64
- package/dist/platform-hap.js.map +1 -1
- package/dist/platform-matter.d.ts +85 -6
- package/dist/platform-matter.d.ts.map +1 -1
- package/dist/platform-matter.js +1736 -84
- package/dist/platform-matter.js.map +1 -1
- package/dist/settings.d.ts +9 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js.map +1 -1
- package/dist/test/devices-matter/baseMatterAccessory.test.d.ts +2 -0
- package/dist/test/devices-matter/baseMatterAccessory.test.d.ts.map +1 -0
- package/dist/test/devices-matter/baseMatterAccessory.test.js +71 -0
- package/dist/test/devices-matter/baseMatterAccessory.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/platform-matter.additional.test.d.ts +2 -0
- package/dist/test/platform-matter.additional.test.d.ts.map +1 -0
- package/dist/test/platform-matter.additional.test.js +35 -0
- package/dist/test/platform-matter.additional.test.js.map +1 -0
- package/dist/test/platform-matter.bleparse.test.d.ts +2 -0
- package/dist/test/platform-matter.bleparse.test.d.ts.map +1 -0
- package/dist/test/platform-matter.bleparse.test.js +43 -0
- package/dist/test/platform-matter.bleparse.test.js.map +1 -0
- package/dist/test/platform-matter.cleanup.test.d.ts +2 -0
- package/dist/test/platform-matter.cleanup.test.d.ts.map +1 -0
- package/dist/test/platform-matter.cleanup.test.js +70 -0
- package/dist/test/platform-matter.cleanup.test.js.map +1 -0
- package/dist/test/platform-matter.keepstale.test.d.ts +2 -0
- package/dist/test/platform-matter.keepstale.test.d.ts.map +1 -0
- package/dist/test/platform-matter.keepstale.test.js +27 -0
- package/dist/test/platform-matter.keepstale.test.js.map +1 -0
- package/dist/test/platform-matter.mapping.test.d.ts +2 -0
- package/dist/test/platform-matter.mapping.test.d.ts.map +1 -0
- package/dist/test/platform-matter.mapping.test.js +43 -0
- package/dist/test/platform-matter.mapping.test.js.map +1 -0
- package/dist/test/platform-matter.openapi-mapping.test.d.ts +2 -0
- package/dist/test/platform-matter.openapi-mapping.test.d.ts.map +1 -0
- package/dist/test/platform-matter.openapi-mapping.test.js +84 -0
- package/dist/test/platform-matter.openapi-mapping.test.js.map +1 -0
- package/dist/test/platform-matter.test.d.ts +2 -0
- package/dist/test/platform-matter.test.d.ts.map +1 -0
- package/dist/test/platform-matter.test.js +117 -0
- package/dist/test/platform-matter.test.js.map +1 -0
- package/dist/test/platform-matter.unregister.test.d.ts +2 -0
- package/dist/test/platform-matter.unregister.test.d.ts.map +1 -0
- package/dist/test/platform-matter.unregister.test.js +30 -0
- package/dist/test/platform-matter.unregister.test.js.map +1 -0
- package/dist/utils.d.ts +127 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +380 -0
- package/dist/utils.js.map +1 -1
- package/dist/utils.test.d.ts +2 -0
- package/dist/utils.test.d.ts.map +1 -0
- package/dist/utils.test.js +95 -0
- package/dist/utils.test.js.map +1 -0
- package/dist/verifyconfig.test.js +2 -2
- package/dist/verifyconfig.test.js.map +1 -1
- package/docs/assets/main.js +2 -2
- package/docs/index.html +2 -2
- package/docs/variables/default.html +1 -1
- package/package.json +14 -14
- package/src/devices-hap/device.ts +68 -30
- package/src/devices-matter/BaseMatterAccessory.ts +168 -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/homebridge-ui/public/index.html +48 -1
- package/src/homebridge-ui/server.ts +37 -0
- package/src/index.test.ts +7 -2
- package/src/index.ts +4 -5
- package/src/irdevice/irdevice.ts +74 -35
- package/src/platform-hap.ts +68 -73
- package/src/platform-matter.ts +1772 -87
- package/src/settings.ts +13 -0
- package/src/test/devices-matter/baseMatterAccessory.test.ts +88 -0
- package/src/test/helpers/platform-fixtures.ts +33 -0
- package/src/test/platform-matter.additional.test.ts +44 -0
- package/src/test/platform-matter.bleparse.test.ts +47 -0
- package/src/test/platform-matter.cleanup.test.ts +86 -0
- package/src/test/platform-matter.keepstale.test.ts +37 -0
- package/src/test/platform-matter.mapping.test.ts +57 -0
- package/src/test/platform-matter.openapi-mapping.test.ts +109 -0
- package/src/test/platform-matter.test.ts +144 -0
- package/src/test/platform-matter.unregister.test.ts +39 -0
- package/src/utils.test.ts +96 -0
- package/src/utils.ts +391 -3
- package/src/verifyconfig.test.ts +11 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMatterAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/BaseMatterAccessory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"BaseMatterAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/BaseMatterAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorLightAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/ColorLightAccessory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"ColorLightAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/ColorLightAccessory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,mBAAoB,SAAQ,mBAAmB;gBAC9C,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,uBAAuB,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;YA8CtH,QAAQ;YAKR,SAAS;YAKT,cAAc;YAOd,cAAc;YASd,sBAAsB;IAS7B,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAIrC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKvC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;CAQlE"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Color Light Accessory Class (HS only)
|
|
3
3
|
* Hue and Saturation color control
|
|
4
4
|
*/
|
|
5
|
+
import { hs2rgb } from '../utils.js';
|
|
5
6
|
import { BaseMatterAccessory } from './BaseMatterAccessory.js';
|
|
6
7
|
export class ColorLightAccessory extends BaseMatterAccessory {
|
|
7
8
|
constructor(api, log, opts) {
|
|
@@ -47,34 +48,33 @@ export class ColorLightAccessory extends BaseMatterAccessory {
|
|
|
47
48
|
}
|
|
48
49
|
async handleOn() {
|
|
49
50
|
this.logInfo('turning on.');
|
|
50
|
-
|
|
51
|
+
await this.sendOnCommand();
|
|
51
52
|
}
|
|
52
53
|
async handleOff() {
|
|
53
54
|
this.logInfo('turning off.');
|
|
54
|
-
|
|
55
|
+
await this.sendOffCommand();
|
|
55
56
|
}
|
|
56
57
|
async handleSetLevel(request) {
|
|
57
58
|
this.logInfo(`MoveToLevel request: ${JSON.stringify(request)}`);
|
|
58
59
|
const { level } = request;
|
|
59
60
|
const brightnessPercent = Math.round((level / 254) * 100);
|
|
60
|
-
this.
|
|
61
|
-
// TODO: await myLightAPI.setBrightness(brightnessPercent)
|
|
61
|
+
await this.sendSetBrightness(brightnessPercent);
|
|
62
62
|
}
|
|
63
63
|
async handleSetColor(request) {
|
|
64
64
|
this.logInfo(`MoveToColor request: ${JSON.stringify(request)}`);
|
|
65
|
-
const { colorX, colorY
|
|
66
|
-
const
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
65
|
+
const { colorX, colorY } = request;
|
|
66
|
+
const hueApprox = Math.round((colorX / 65535) * 360);
|
|
67
|
+
const satApprox = Math.round((colorY / 65535) * 100);
|
|
68
|
+
const [r, g, b] = hs2rgb(hueApprox, satApprox);
|
|
69
|
+
await this.sendSetColor(r, g, b);
|
|
70
70
|
}
|
|
71
71
|
async handleSetHueSaturation(request) {
|
|
72
72
|
this.logInfo(`MoveToHueAndSaturation request: ${JSON.stringify(request)}`);
|
|
73
|
-
const { hue, saturation
|
|
73
|
+
const { hue, saturation } = request;
|
|
74
74
|
const hueDegrees = Math.round((hue / 254) * 360);
|
|
75
75
|
const saturationPercent = Math.round((saturation / 254) * 100);
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
const [r, g, b] = hs2rgb(hueDegrees, saturationPercent);
|
|
77
|
+
await this.sendSetColor(r, g, b);
|
|
78
78
|
}
|
|
79
79
|
updateOnOffState(isOn) {
|
|
80
80
|
this.updateState(this.api.matter.clusterNames.OnOff, { onOff: isOn });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorLightAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/ColorLightAccessory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;IAC1D,YAAY,GAAQ,EAAE,GAAW,EAAE,IAAiG;QAClI,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,WAAW,CAAA;QACtD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,mBAAmB,CAAA;QAC5D,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,mBAAmB,CAAA;QAC9D,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,2BAA2B,CAAA;QACxD,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAC1D,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAE1D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI;YACjC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YACvB,YAAY,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;YAC/D,YAAY,EAAE;gBACZ,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,8BAA8B;gBACjF,UAAU,EAAE,CAAC;gBACb,iBAAiB,EAAE,GAAG;gBACtB,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,KAAK;aAChB;SACF,CAAA;QAED,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI;YACjC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;YAC7E,YAAY,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAmC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YACnH,YAAY,EAAE;gBACZ,gBAAgB,EAAE,KAAK,EAAE,OAAmC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBAC7F,2BAA2B,EAAE,KAAK,EAAE,OAA8C,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;aAC5H;SACF,CAAA;QAED,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1D,WAAW;YACX,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB;YACrD,YAAY;YACZ,YAAY;YACZ,KAAK;YACL,gBAAgB;YAChB,gBAAgB;YAChB,QAAQ;YACR,QAAQ;YACR,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE;SAChE,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAC3B,
|
|
1
|
+
{"version":3,"file":"ColorLightAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/ColorLightAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorTemperatureLightAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/ColorTemperatureLightAccessory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,8BAA+B,SAAQ,mBAAmB;gBACzD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,uBAAuB,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;YA2CtH,QAAQ;YAKR,SAAS;YAKT,cAAc;
|
|
1
|
+
{"version":3,"file":"ColorTemperatureLightAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/ColorTemperatureLightAccessory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,8BAA+B,SAAQ,mBAAmB;gBACzD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,uBAAuB,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;YA2CtH,QAAQ;YAKR,SAAS;YAKT,cAAc;YAOd,yBAAyB;IAOhC,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAIrC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKvC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAIpD"}
|
|
@@ -43,25 +43,23 @@ export class ColorTemperatureLightAccessory extends BaseMatterAccessory {
|
|
|
43
43
|
}
|
|
44
44
|
async handleOn() {
|
|
45
45
|
this.logInfo('turning on.');
|
|
46
|
-
|
|
46
|
+
await this.sendOnCommand();
|
|
47
47
|
}
|
|
48
48
|
async handleOff() {
|
|
49
49
|
this.logInfo('turning off.');
|
|
50
|
-
|
|
50
|
+
await this.sendOffCommand();
|
|
51
51
|
}
|
|
52
52
|
async handleSetLevel(request) {
|
|
53
53
|
this.logInfo(`MoveToLevel request: ${JSON.stringify(request)}`);
|
|
54
54
|
const { level } = request;
|
|
55
55
|
const brightnessPercent = Math.round((level / 254) * 100);
|
|
56
|
-
this.
|
|
57
|
-
// TODO: await myLightAPI.setBrightness(brightnessPercent)
|
|
56
|
+
await this.sendSetBrightness(brightnessPercent);
|
|
58
57
|
}
|
|
59
58
|
async handleSetColorTemperature(request) {
|
|
60
59
|
this.logInfo(`MoveToColorTemperature request: ${JSON.stringify(request)}`);
|
|
61
|
-
const { colorTemperatureMireds
|
|
60
|
+
const { colorTemperatureMireds } = request;
|
|
62
61
|
const kelvin = Math.round(1000000 / colorTemperatureMireds);
|
|
63
|
-
this.
|
|
64
|
-
// TODO: await myLightAPI.setColorTemperature(kelvin, transitionTime)
|
|
62
|
+
await this.sendSetColorTemperature(kelvin);
|
|
65
63
|
}
|
|
66
64
|
updateOnOffState(isOn) {
|
|
67
65
|
this.updateState(this.api.matter.clusterNames.OnOff, { onOff: isOn });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorTemperatureLightAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/ColorTemperatureLightAccessory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,OAAO,8BAA+B,SAAQ,mBAAmB;IACrE,YAAY,GAAQ,EAAE,GAAW,EAAE,IAAiG;QAClI,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,WAAW,CAAA;QACtD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,0BAA0B,CAAA;QACnE,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,mBAAmB,CAAA;QAC9D,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,6BAA6B,CAAA;QAC1D,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAC1D,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAE1D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI;YACjC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YACvB,YAAY,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;YAC/D,YAAY,EAAE;gBACZ,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,sBAAsB;gBACzE,sBAAsB,EAAE,GAAG;gBAC3B,0BAA0B,EAAE,GAAG;gBAC/B,0BAA0B,EAAE,GAAG;gBAC/B,+BAA+B,EAAE,GAAG;aACrC;SACF,CAAA;QAED,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI;YACjC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;YAC7E,YAAY,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAmC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YACnH,YAAY,EAAE,EAAE,2BAA2B,EAAE,KAAK,EAAE,OAA8C,EAAE,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE;SACjJ,CAAA;QAED,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1D,WAAW;YACX,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB;YACxD,YAAY;YACZ,YAAY;YACZ,KAAK;YACL,gBAAgB;YAChB,gBAAgB;YAChB,QAAQ;YACR,QAAQ;YACR,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE;SAChE,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAC3B,
|
|
1
|
+
{"version":3,"file":"ColorTemperatureLightAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/ColorTemperatureLightAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,9 +58,9 @@ export class DimmableLightAccessory extends BaseMatterAccessory {
|
|
|
58
58
|
async handleOn() {
|
|
59
59
|
this.logInfo('turning on.');
|
|
60
60
|
try {
|
|
61
|
-
//
|
|
62
|
-
|
|
63
|
-
this.logInfo('physical device turned on.');
|
|
61
|
+
// Use platform helper (OpenAPI/BLE) when available
|
|
62
|
+
await this.sendOnCommand();
|
|
63
|
+
this.logInfo('physical device turned on (via platform helper).');
|
|
64
64
|
}
|
|
65
65
|
catch (error) {
|
|
66
66
|
this.logError('failed to turn on:', error);
|
|
@@ -73,9 +73,9 @@ export class DimmableLightAccessory extends BaseMatterAccessory {
|
|
|
73
73
|
async handleOff() {
|
|
74
74
|
this.logInfo('turning off.');
|
|
75
75
|
try {
|
|
76
|
-
//
|
|
77
|
-
|
|
78
|
-
this.logInfo('physical device turned off.');
|
|
76
|
+
// Use platform helper (OpenAPI/BLE) when available
|
|
77
|
+
await this.sendOffCommand();
|
|
78
|
+
this.logInfo('physical device turned off (via platform helper).');
|
|
79
79
|
}
|
|
80
80
|
catch (error) {
|
|
81
81
|
this.logError('failed to turn off:', error);
|
|
@@ -93,9 +93,9 @@ export class DimmableLightAccessory extends BaseMatterAccessory {
|
|
|
93
93
|
this.currentLevel = level;
|
|
94
94
|
this.logInfo(`setting brightness to ${brightnessPercent}% (level: ${level}), transitionTime: ${transitionTime}.`);
|
|
95
95
|
try {
|
|
96
|
-
//
|
|
97
|
-
|
|
98
|
-
this.logInfo(`physical device brightness set to ${brightnessPercent}
|
|
96
|
+
// Use platform helper (OpenAPI/BLE) when available
|
|
97
|
+
await this.sendSetBrightness(brightnessPercent);
|
|
98
|
+
this.logInfo(`physical device brightness set to ${brightnessPercent}% (via platform helper).`);
|
|
99
99
|
}
|
|
100
100
|
catch (error) {
|
|
101
101
|
this.logError('Failed to set brightness:', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DimmableLightAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/DimmableLightAccessory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D;;;;;;;;GAQG;AACH,MAAM,OAAO,sBAAuB,SAAQ,mBAAmB;IAC7D,sBAAsB;IACd,YAAY,GAAW,GAAG,CAAA,CAAC,iBAAiB;IAEpD,YAAY,GAAQ,EAAE,GAAW,EAAE,IAAiG;QAClI,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,WAAW,CAAA;QACtD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,gBAAgB,CAAA;QACzD,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,mBAAmB,CAAA;QAC9D,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,0BAA0B,CAAA;QACvD,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAC1D,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAE1D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI;YACjC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YACvB,YAAY,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;SAChE,CAAA;QAED,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI;YACjC,KAAK,EAAE;gBACL,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC/B,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE;aAClC;YACD,YAAY,EAAE;gBACZ,oBAAoB,EAAE,KAAK,EAAE,OAAmC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;aAClG;SACF,CAAA;QAED,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1D,WAAW;YACX,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa;YAChD,YAAY;YACZ,YAAY;YACZ,KAAK;YACL,gBAAgB;YAChB,gBAAgB;YAChB,QAAQ;YACR,QAAQ;YACR,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE;SAChE,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAE3B,IAAI,CAAC;YACH,
|
|
1
|
+
{"version":3,"file":"DimmableLightAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/DimmableLightAccessory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D;;;;;;;;GAQG;AACH,MAAM,OAAO,sBAAuB,SAAQ,mBAAmB;IAC7D,sBAAsB;IACd,YAAY,GAAW,GAAG,CAAA,CAAC,iBAAiB;IAEpD,YAAY,GAAQ,EAAE,GAAW,EAAE,IAAiG;QAClI,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,WAAW,CAAA;QACtD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,gBAAgB,CAAA;QACzD,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,mBAAmB,CAAA;QAC9D,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,0BAA0B,CAAA;QACvD,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAC1D,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAE1D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI;YACjC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YACvB,YAAY,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;SAChE,CAAA;QAED,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI;YACjC,KAAK,EAAE;gBACL,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC/B,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE;aAClC;YACD,YAAY,EAAE;gBACZ,oBAAoB,EAAE,KAAK,EAAE,OAAmC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;aAClG;SACF,CAAA;QAED,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1D,WAAW;YACX,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa;YAChD,YAAY;YACZ,YAAY;YACZ,KAAK;YACL,gBAAgB;YAChB,gBAAgB;YAChB,QAAQ;YACR,QAAQ;YACR,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE;SAChE,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAE3B,IAAI,CAAC;YACH,mDAAmD;YACnD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;YAE1B,IAAI,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAA;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAA;YAC1C,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAE5B,IAAI,CAAC;YACH,mDAAmD;YACnD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;YAE3B,IAAI,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAA;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;YAC3C,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,OAAmC;QAC9D,IAAI,CAAC,OAAO,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC/D,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;QAEzC,sDAAsD;QACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;QACzD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QAEzB,IAAI,CAAC,OAAO,CAAC,yBAAyB,iBAAiB,aAAa,KAAK,sBAAsB,cAAc,GAAG,CAAC,CAAA;QAEjH,IAAI,CAAC;YACH,mDAAmD;YACnD,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;YAE/C,IAAI,CAAC,OAAO,CAAC,qCAAqC,iBAAiB,0BAA0B,CAAC,CAAA;QAChG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAA;YACjD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,IAAa;QACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACrE,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAA;IACvD,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,OAAe;QACrC,iBAAiB;QACjB,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,kCAAkC,OAAO,kBAAkB,CAAC,CAAA;YACzE,OAAM;QACR,CAAC;QAED,0CAA0C;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAClE,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;QAE/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE;YAC1D,YAAY,EAAE,WAAW;SAC1B,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,sBAAsB,OAAO,aAAa,WAAW,IAAI,CAAC,CAAA;IACzE,CAAC;IAED;;OAEG;IACI,aAAa;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;IACpD,CAAC;IAED;;;OAGG;IACI,eAAe,CAAC,IAAa,EAAE,OAAe;QACnD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAC3B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,eAAe;QACpB,yBAAyB;QACzB,iDAAiD;QACjD,iEAAiE;QACjE,qDAAqD;QACrD,KAAK;QAEL,mBAAmB;QACnB,4BAA4B;QAC5B,UAAU;QACV,2EAA2E;QAC3E,yCAAyC;QACzC,iEAAiE;QACjE,sBAAsB;QACtB,6CAA6C;QAC7C,MAAM;QACN,WAAW;IACb,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedColorLightAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/ExtendedColorLightAccessory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"ExtendedColorLightAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/ExtendedColorLightAccessory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,2BAA4B,SAAQ,mBAAmB;gBACtD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,uBAAuB,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;YAmDtH,QAAQ;YAKR,SAAS;YAKT,cAAc;YAOd,cAAc;YASd,sBAAsB;YAStB,yBAAyB;IAOhC,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAIrC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKvC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;CAQlE"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Extended Color Light Accessory Class (HS+CCT)
|
|
3
3
|
* Hue, Saturation, and Color Temperature control
|
|
4
4
|
*/
|
|
5
|
+
import { hs2rgb } from '../utils.js';
|
|
5
6
|
import { BaseMatterAccessory } from './BaseMatterAccessory.js';
|
|
6
7
|
export class ExtendedColorLightAccessory extends BaseMatterAccessory {
|
|
7
8
|
constructor(api, log, opts) {
|
|
@@ -52,41 +53,39 @@ export class ExtendedColorLightAccessory extends BaseMatterAccessory {
|
|
|
52
53
|
}
|
|
53
54
|
async handleOn() {
|
|
54
55
|
this.logInfo('turning on.');
|
|
55
|
-
|
|
56
|
+
await this.sendOnCommand();
|
|
56
57
|
}
|
|
57
58
|
async handleOff() {
|
|
58
59
|
this.logInfo('turning off.');
|
|
59
|
-
|
|
60
|
+
await this.sendOffCommand();
|
|
60
61
|
}
|
|
61
62
|
async handleSetLevel(request) {
|
|
62
63
|
this.logInfo(`MoveToLevel request: ${JSON.stringify(request)}`);
|
|
63
64
|
const { level } = request;
|
|
64
65
|
const brightnessPercent = Math.round((level / 254) * 100);
|
|
65
|
-
this.
|
|
66
|
-
// TODO: await myLightAPI.setBrightness(brightnessPercent)
|
|
66
|
+
await this.sendSetBrightness(brightnessPercent);
|
|
67
67
|
}
|
|
68
68
|
async handleSetColor(request) {
|
|
69
69
|
this.logInfo(`MoveToColor request: ${JSON.stringify(request)}`);
|
|
70
|
-
const { colorX, colorY
|
|
71
|
-
const
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
70
|
+
const { colorX, colorY } = request;
|
|
71
|
+
const hueApprox = Math.round((colorX / 65535) * 360);
|
|
72
|
+
const satApprox = Math.round((colorY / 65535) * 100);
|
|
73
|
+
const [r, g, b] = hs2rgb(hueApprox, satApprox);
|
|
74
|
+
await this.sendSetColor(r, g, b);
|
|
75
75
|
}
|
|
76
76
|
async handleSetHueSaturation(request) {
|
|
77
77
|
this.logInfo(`MoveToHueAndSaturation request: ${JSON.stringify(request)}`);
|
|
78
|
-
const { hue, saturation
|
|
78
|
+
const { hue, saturation } = request;
|
|
79
79
|
const hueDegrees = Math.round((hue / 254) * 360);
|
|
80
80
|
const saturationPercent = Math.round((saturation / 254) * 100);
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
const [r, g, b] = hs2rgb(hueDegrees, saturationPercent);
|
|
82
|
+
await this.sendSetColor(r, g, b);
|
|
83
83
|
}
|
|
84
84
|
async handleSetColorTemperature(request) {
|
|
85
85
|
this.logInfo(`MoveToColorTemperature request: ${JSON.stringify(request)}`);
|
|
86
|
-
const { colorTemperatureMireds
|
|
86
|
+
const { colorTemperatureMireds } = request;
|
|
87
87
|
const kelvin = Math.round(1000000 / colorTemperatureMireds);
|
|
88
|
-
this.
|
|
89
|
-
// TODO: await myLightAPI.setColorTemperature(kelvin, transitionTime)
|
|
88
|
+
await this.sendSetColorTemperature(kelvin);
|
|
90
89
|
}
|
|
91
90
|
updateOnOffState(isOn) {
|
|
92
91
|
this.updateState(this.api.matter.clusterNames.OnOff, { onOff: isOn });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedColorLightAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/ExtendedColorLightAccessory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,OAAO,2BAA4B,SAAQ,mBAAmB;IAClE,YAAY,GAAQ,EAAE,GAAW,EAAE,IAAiG;QAClI,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,WAAW,CAAA;QACtD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,gCAAgC,CAAA;QACzE,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,mBAAmB,CAAA;QAC9D,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,iCAAiC,CAAA;QAC9D,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAC1D,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAE1D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI;YACjC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YACvB,YAAY,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;YAC/D,YAAY,EAAE;gBACZ,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,8BAA8B;gBACjF,UAAU,EAAE,CAAC;gBACb,iBAAiB,EAAE,GAAG;gBACtB,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,KAAK;gBACf,sBAAsB,EAAE,GAAG;gBAC3B,0BAA0B,EAAE,GAAG;gBAC/B,0BAA0B,EAAE,GAAG;gBAC/B,+BAA+B,EAAE,GAAG;aACrC;SACF,CAAA;QAED,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI;YACjC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;YAC7E,YAAY,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAmC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YACnH,YAAY,EAAE;gBACZ,gBAAgB,EAAE,KAAK,EAAE,OAAmC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBAC7F,2BAA2B,EAAE,KAAK,EAAE,OAA8C,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;gBAC3H,2BAA2B,EAAE,KAAK,EAAE,OAA8C,EAAE,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC;aAC/H;SACF,CAAA;QAED,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1D,WAAW;YACX,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB;YACrD,YAAY;YACZ,YAAY;YACZ,KAAK;YACL,gBAAgB;YAChB,gBAAgB;YAChB,QAAQ;YACR,QAAQ;YACR,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE;SAChE,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAC3B,
|
|
1
|
+
{"version":3,"file":"ExtendedColorLightAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/ExtendedColorLightAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnOffLightAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/OnOffLightAccessory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,mBAAmB;gBAC9C,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,uBAAuB,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"OnOffLightAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/OnOffLightAccessory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,mBAAmB;gBAC9C,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,uBAAuB,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAkCpI;;OAEG;YACW,eAAe;IAgB7B;;OAEG;YACW,gBAAgB;IAgB9B;;;OAGG;IACI,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAK5C;;;OAGG;IACI,eAAe,IAAI,IAAI;CAqB/B"}
|
|
@@ -22,12 +22,8 @@ export class OnOffLightAccessory extends BaseMatterAccessory {
|
|
|
22
22
|
const clusters = opts?.clusters ?? { onOff: { onOff: true } };
|
|
23
23
|
const handlers = opts?.handlers ?? {
|
|
24
24
|
onOff: {
|
|
25
|
-
on: async () =>
|
|
26
|
-
|
|
27
|
-
},
|
|
28
|
-
off: async () => {
|
|
29
|
-
log.debug(`${displayName} off handler invoked (default no-op).`);
|
|
30
|
-
},
|
|
25
|
+
on: async () => this.handleOnCommand(),
|
|
26
|
+
off: async () => this.handleOffCommand(),
|
|
31
27
|
},
|
|
32
28
|
};
|
|
33
29
|
// Call parent constructor with device configuration
|
|
@@ -52,13 +48,9 @@ export class OnOffLightAccessory extends BaseMatterAccessory {
|
|
|
52
48
|
async handleOnCommand() {
|
|
53
49
|
this.logInfo('turning on.');
|
|
54
50
|
try {
|
|
55
|
-
//
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
// await fetch('http://192.168.1.50/api/light/on')
|
|
59
|
-
// mqttClient.publish('home/light/command', JSON.stringify({ state: 'ON' }))
|
|
60
|
-
// await myLightAPI.turnOn(this.context.deviceId)
|
|
61
|
-
this.logInfo('physical device turned on.');
|
|
51
|
+
// Delegate to the platform-provided helper (OpenAPI/BLE) when available
|
|
52
|
+
await this.sendOnCommand();
|
|
53
|
+
this.logInfo('physical device turned on (via platform helper).');
|
|
62
54
|
// State automatically updated by Homebridge after handler completes
|
|
63
55
|
}
|
|
64
56
|
catch (error) {
|
|
@@ -72,9 +64,9 @@ export class OnOffLightAccessory extends BaseMatterAccessory {
|
|
|
72
64
|
async handleOffCommand() {
|
|
73
65
|
this.logInfo('turning off.');
|
|
74
66
|
try {
|
|
75
|
-
//
|
|
76
|
-
|
|
77
|
-
this.logInfo('physical device turned off.');
|
|
67
|
+
// Delegate to the platform-provided helper (OpenAPI/BLE) when available
|
|
68
|
+
await this.sendOffCommand();
|
|
69
|
+
this.logInfo('physical device turned off (via platform helper).');
|
|
78
70
|
// State automatically updated by Homebridge after handler completes
|
|
79
71
|
}
|
|
80
72
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnOffLightAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/OnOffLightAccessory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D;;;;;GAKG;AACH,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;IAC1D,YAAY,GAAQ,EAAE,GAAW,EAAE,IAAiG;QAClI,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,WAAW,CAAA;QACtD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,cAAc,CAAA;QACvD,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,mBAAmB,CAAA;QAC9D,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,wBAAwB,CAAA;QACrD,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAC1D,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAE1D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAA;QAC7D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI;YACjC,KAAK,EAAE;gBACL,EAAE,EAAE,KAAK,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"OnOffLightAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/OnOffLightAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnOffOutletAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/OnOffOutletAccessory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,oBAAqB,SAAQ,mBAAmB;gBAC/C,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,uBAAuB,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"OnOffOutletAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/OnOffOutletAccessory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,oBAAqB,SAAQ,mBAAmB;gBAC/C,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,uBAAuB,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA4B7H,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;YAI9B,QAAQ;YAKR,SAAS;CAIxB"}
|
|
@@ -9,13 +9,8 @@ export class OnOffOutletAccessory extends BaseMatterAccessory {
|
|
|
9
9
|
const clusters = opts?.clusters ?? { onOff: { onOff: false } };
|
|
10
10
|
const handlers = opts?.handlers ?? {
|
|
11
11
|
onOff: {
|
|
12
|
-
on: async () =>
|
|
13
|
-
|
|
14
|
-
log.debug(`${displayName} on handler invoked (default no-op).`);
|
|
15
|
-
},
|
|
16
|
-
off: async () => {
|
|
17
|
-
log.debug(`${displayName} off handler invoked (default no-op).`);
|
|
18
|
-
},
|
|
12
|
+
on: async () => this.handleOn(),
|
|
13
|
+
off: async () => this.handleOff(),
|
|
19
14
|
},
|
|
20
15
|
};
|
|
21
16
|
super(api, log, {
|
|
@@ -36,5 +31,13 @@ export class OnOffOutletAccessory extends BaseMatterAccessory {
|
|
|
36
31
|
updateOnOffState(isOn) {
|
|
37
32
|
this.updateState(this.api.matter.clusterNames.OnOff, { onOff: isOn });
|
|
38
33
|
}
|
|
34
|
+
async handleOn() {
|
|
35
|
+
this.logInfo('turning on.');
|
|
36
|
+
await this.sendOnCommand();
|
|
37
|
+
}
|
|
38
|
+
async handleOff() {
|
|
39
|
+
this.logInfo('turning off.');
|
|
40
|
+
await this.sendOffCommand();
|
|
41
|
+
}
|
|
39
42
|
}
|
|
40
43
|
//# sourceMappingURL=OnOffOutletAccessory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnOffOutletAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/OnOffOutletAccessory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,OAAO,oBAAqB,SAAQ,mBAAmB;IAC3D,YAAY,GAAQ,EAAE,GAAW,EAAE,IAAiG;QAClI,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,YAAY,CAAA;QACvD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,eAAe,CAAA;QACxD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAA;QAC9D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI;YACjC,KAAK,EAAE;gBACL,EAAE,EAAE,KAAK,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"OnOffOutletAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/OnOffOutletAccessory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,OAAO,oBAAqB,SAAQ,mBAAmB;IAC3D,YAAY,GAAQ,EAAE,GAAW,EAAE,IAAiG;QAClI,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,YAAY,CAAA;QACvD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,eAAe,CAAA;QACxD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAA;QAC9D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI;YACjC,KAAK,EAAE;gBACL,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC/B,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE;aAClC;SACF,CAAA;QAED,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1D,WAAW;YACX,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW;YAC9C,YAAY;YACZ,YAAY,EAAE,IAAI,EAAE,YAAY,IAAI,mBAAmB;YACvD,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,yBAAyB;YAC/C,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,IAAI,OAAO;YACnD,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,IAAI,OAAO;YACnD,QAAQ;YACR,QAAQ;YACR,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE;SAChE,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;IAEM,gBAAgB,CAAC,IAAa;QACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACvE,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAC3B,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;IAC5B,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC5B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;IAC7B,CAAC;CACF"}
|
|
@@ -29,11 +29,11 @@ export class OnOffSwitchAccessory extends BaseMatterAccessory {
|
|
|
29
29
|
}
|
|
30
30
|
async handleOn() {
|
|
31
31
|
this.logInfo('turning on.');
|
|
32
|
-
|
|
32
|
+
await this.sendOnCommand();
|
|
33
33
|
}
|
|
34
34
|
async handleOff() {
|
|
35
35
|
this.logInfo('turning off.');
|
|
36
|
-
|
|
36
|
+
await this.sendOffCommand();
|
|
37
37
|
}
|
|
38
38
|
updateOnOffState(isOn) {
|
|
39
39
|
this.updateState(this.api.matter.clusterNames.OnOff, { onOff: isOn });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnOffSwitchAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/OnOffSwitchAccessory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,OAAO,oBAAqB,SAAQ,mBAAmB;IAC3D,YAAY,GAAQ,EAAE,GAAW,EAAE,IAAiG;QAClI,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,YAAY,CAAA;QACvD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,eAAe,CAAA;QACxD,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,mBAAmB,CAAA;QAC9D,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,yBAAyB,CAAA;QACtD,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAC1D,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAE1D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAA;QAC9D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,CAAA;QAEpH,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1D,WAAW;YACX,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW;YAC9C,YAAY;YACZ,YAAY;YACZ,KAAK;YACL,gBAAgB;YAChB,gBAAgB;YAChB,QAAQ;YACR,QAAQ;YACR,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE;SAChE,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAC3B,
|
|
1
|
+
{"version":3,"file":"OnOffSwitchAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/OnOffSwitchAccessory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,OAAO,oBAAqB,SAAQ,mBAAmB;IAC3D,YAAY,GAAQ,EAAE,GAAW,EAAE,IAAiG;QAClI,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,YAAY,CAAA;QACvD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,eAAe,CAAA;QACxD,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,mBAAmB,CAAA;QAC9D,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,yBAAyB,CAAA;QACtD,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAC1D,MAAM,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,OAAO,CAAA;QAE1D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAA;QAC9D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,CAAA;QAEpH,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1D,WAAW;YACX,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW;YAC9C,YAAY;YACZ,YAAY;YACZ,KAAK;YACL,gBAAgB;YAChB,gBAAgB;YAChB,QAAQ;YACR,QAAQ;YACR,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE;SAChE,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAC3B,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;IAC5B,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC5B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;IAC7B,CAAC;IAEM,gBAAgB,CAAC,IAAa;QACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACvE,CAAC;CACF"}
|
|
@@ -122,6 +122,41 @@
|
|
|
122
122
|
(async () => {
|
|
123
123
|
try {
|
|
124
124
|
const currentConfig = await homebridge.getPluginConfig();
|
|
125
|
+
|
|
126
|
+
// Defensive wrapper: ensure token/secret aren't accidentally cleared by
|
|
127
|
+
// the UI/schema form. Some versions of config UI can omit sensitive
|
|
128
|
+
// fields from the submitted payload; when that happens we copy the
|
|
129
|
+
// existing values from `currentConfig` into the outgoing payload so
|
|
130
|
+
// saved config does not inadvertently remove credentials.
|
|
131
|
+
try {
|
|
132
|
+
if (typeof homebridge.updatePluginConfig === 'function') {
|
|
133
|
+
const _origUpdatePluginConfig = homebridge.updatePluginConfig.bind(homebridge)
|
|
134
|
+
homebridge.updatePluginConfig = async (cfg) => {
|
|
135
|
+
try {
|
|
136
|
+
if (Array.isArray(cfg) && cfg.length > 0 && Array.isArray(currentConfig) && currentConfig.length > 0) {
|
|
137
|
+
const incoming = cfg[0] || {}
|
|
138
|
+
const existing = currentConfig[0] || {}
|
|
139
|
+
incoming.credentials = incoming.credentials || {}
|
|
140
|
+
// Preserve token/secret when incoming payload leaves them blank/undefined
|
|
141
|
+
if ((incoming.credentials.token === undefined || String(incoming.credentials.token).trim() === '') && existing.credentials && existing.credentials.token) {
|
|
142
|
+
incoming.credentials.token = existing.credentials.token
|
|
143
|
+
}
|
|
144
|
+
if ((incoming.credentials.secret === undefined || String(incoming.credentials.secret).trim() === '') && existing.credentials && existing.credentials.secret) {
|
|
145
|
+
incoming.credentials.secret = existing.credentials.secret
|
|
146
|
+
}
|
|
147
|
+
cfg[0] = incoming
|
|
148
|
+
}
|
|
149
|
+
} catch (e) {
|
|
150
|
+
// Swallow any wrapper errors but log to console for debugging
|
|
151
|
+
// (do not expose secrets).
|
|
152
|
+
console.error('updatePluginConfig wrapper error', e)
|
|
153
|
+
}
|
|
154
|
+
return await _origUpdatePluginConfig(cfg)
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
} catch (e) {
|
|
158
|
+
console.error('Failed to attach updatePluginConfig wrapper', e)
|
|
159
|
+
}
|
|
125
160
|
showIntro = () => {
|
|
126
161
|
const introLink = document.getElementById('introLink');
|
|
127
162
|
introLink.addEventListener('click', () => {
|
|
@@ -144,10 +179,22 @@
|
|
|
144
179
|
document.getElementById('menuSettings').classList.add('btn-primary');
|
|
145
180
|
document.getElementById('pageSupport').style.display = 'none';
|
|
146
181
|
document.getElementById('pageDevices').style.display = 'block';
|
|
147
|
-
|
|
182
|
+
let cachedAccessories =
|
|
148
183
|
typeof homebridge.getCachedAccessories === 'function'
|
|
149
184
|
? await homebridge.getCachedAccessories()
|
|
150
185
|
: await homebridge.request('/getCachedAccessories');
|
|
186
|
+
|
|
187
|
+
// If no HAP cached accessories were returned, try the Matter cached list
|
|
188
|
+
if ((!cachedAccessories || cachedAccessories.length === 0) && typeof homebridge.request === 'function') {
|
|
189
|
+
try {
|
|
190
|
+
const matter = await homebridge.request('/getCachedMatterAccessories')
|
|
191
|
+
if (Array.isArray(matter) && matter.length > 0) {
|
|
192
|
+
cachedAccessories = matter
|
|
193
|
+
}
|
|
194
|
+
} catch (e) {
|
|
195
|
+
// ignore
|
|
196
|
+
}
|
|
197
|
+
}
|
|
151
198
|
if (cachedAccessories.length > 0) {
|
|
152
199
|
cachedAccessories.sort((a, b) => {
|
|
153
200
|
return a.displayName.toLowerCase() > b.displayName.toLowerCase() ? 1 : b.displayName.toLowerCase() > a.displayName.toLowerCase() ? -1 : 0;
|
|
@@ -33,6 +33,41 @@ class PluginUiServer extends HomebridgePluginUiServer {
|
|
|
33
33
|
return [];
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
+
// Provide Matter cached accessories if Homebridge stores them separately.
|
|
37
|
+
this.onRequest('getCachedMatterAccessories', () => {
|
|
38
|
+
try {
|
|
39
|
+
const plugin = 'homebridge-switchbot';
|
|
40
|
+
const devicesToReturn = [];
|
|
41
|
+
const accFile = `${this.homebridgeStoragePath}/accessories/cachedAccessories`;
|
|
42
|
+
const matterFile = `${this.homebridgeStoragePath}/accessories/cachedMatterAccessories`;
|
|
43
|
+
const readAndCollect = (filePath) => {
|
|
44
|
+
if (!fs.existsSync(filePath)) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
const parsed = JSON.parse(fs.readFileSync(filePath, 'utf8'));
|
|
49
|
+
parsed.forEach((entry) => {
|
|
50
|
+
// Entry shape varies between Homebridge versions; try common locations
|
|
51
|
+
const pluginName = entry.plugin || entry?.accessory?.plugin || entry?.accessory?.pluginName;
|
|
52
|
+
const acc = entry.accessory ?? entry;
|
|
53
|
+
if (pluginName === plugin) {
|
|
54
|
+
devicesToReturn.push(acc);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// ignore parse errors for a single file
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
// Read both canonical files (some Homebridge versions use one or the other)
|
|
63
|
+
readAndCollect(accFile);
|
|
64
|
+
readAndCollect(matterFile);
|
|
65
|
+
return devicesToReturn;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
36
71
|
this.ready();
|
|
37
72
|
}
|
|
38
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/homebridge-ui/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,MAAM,cAAe,SAAQ,wBAAwB;IACnD;QACE,KAAK,EAAE,CAAA;QACP;;;UAGE;QACF,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC1C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,sBAAsB,CAAA;gBACrC,MAAM,eAAe,GAAG,EAAE,CAAA;gBAE1B,8CAA8C;gBAC9C,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,qBAAqB,gCAAgC,CAAA;gBAE7E,wBAAwB;gBACxB,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,mCAAmC;oBACnC,MAAM,iBAAiB,GAAU,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;oBAE7E,iBAAiB,CAAC,OAAO,CAAC,CAAC,SAAc,EAAE,EAAE;wBAC3C,0CAA0C;wBAC1C,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;4BAChC,wCAAwC;4BACxC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,SAAkB,CAAC,CAAA;wBACpD,CAAC;oBACH,CAAC,CAAC,CAAA;gBACJ,CAAC;gBACD,mBAAmB;gBACnB,OAAO,eAAe,CAAA;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;gBAC5D,OAAO,EAAE,CAAA;YACX,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;CACF;AAED,SAAS,mBAAmB;IAC1B,OAAO,IAAI,cAAc,EAAE,CAAA;AAC7B,CAAC;AAED,mBAAmB,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/homebridge-ui/server.ts"],"names":[],"mappings":"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"}
|