@homebridge-plugins/homebridge-matter 0.5.0 → 0.7.0

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 (76) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +1 -1
  3. package/config.schema.json +8 -1
  4. package/dist/devices/AirQualitySensorAccessory.d.ts +50 -0
  5. package/dist/devices/AirQualitySensorAccessory.js +130 -0
  6. package/dist/devices/AirQualitySensorAccessory.js.map +1 -0
  7. package/dist/devices/BaseMatterAccessory.d.ts +1 -1
  8. package/dist/devices/ColorLightAccessory.d.ts +3 -3
  9. package/dist/devices/ColorLightAccessory.js +6 -6
  10. package/dist/devices/ColorLightAccessory.js.map +1 -1
  11. package/dist/devices/ColorTemperatureLightAccessory.d.ts +3 -3
  12. package/dist/devices/ColorTemperatureLightAccessory.js +6 -6
  13. package/dist/devices/ColorTemperatureLightAccessory.js.map +1 -1
  14. package/dist/devices/ContactSensorAccessory.d.ts +1 -1
  15. package/dist/devices/ContactSensorAccessory.js +2 -2
  16. package/dist/devices/ContactSensorAccessory.js.map +1 -1
  17. package/dist/devices/DimmableLightAccessory.d.ts +3 -3
  18. package/dist/devices/DimmableLightAccessory.js +7 -7
  19. package/dist/devices/DimmableLightAccessory.js.map +1 -1
  20. package/dist/devices/DoorLockAccessory.d.ts +1 -1
  21. package/dist/devices/DoorLockAccessory.js +2 -2
  22. package/dist/devices/DoorLockAccessory.js.map +1 -1
  23. package/dist/devices/ExtendedColorLightAccessory.d.ts +3 -3
  24. package/dist/devices/ExtendedColorLightAccessory.js +6 -6
  25. package/dist/devices/ExtendedColorLightAccessory.js.map +1 -1
  26. package/dist/devices/FanAccessory.d.ts +2 -2
  27. package/dist/devices/FanAccessory.js +5 -5
  28. package/dist/devices/FanAccessory.js.map +1 -1
  29. package/dist/devices/HumiditySensorAccessory.d.ts +1 -1
  30. package/dist/devices/HumiditySensorAccessory.js +2 -2
  31. package/dist/devices/HumiditySensorAccessory.js.map +1 -1
  32. package/dist/devices/LeakSensorAccessory.d.ts +1 -1
  33. package/dist/devices/LeakSensorAccessory.js +2 -2
  34. package/dist/devices/LeakSensorAccessory.js.map +1 -1
  35. package/dist/devices/LightSensorAccessory.d.ts +1 -1
  36. package/dist/devices/LightSensorAccessory.js +2 -2
  37. package/dist/devices/LightSensorAccessory.js.map +1 -1
  38. package/dist/devices/OccupancySensorAccessory.d.ts +1 -1
  39. package/dist/devices/OccupancySensorAccessory.js +3 -4
  40. package/dist/devices/OccupancySensorAccessory.js.map +1 -1
  41. package/dist/devices/OnOffLightAccessory.d.ts +1 -1
  42. package/dist/devices/OnOffLightAccessory.js +2 -2
  43. package/dist/devices/OnOffLightAccessory.js.map +1 -1
  44. package/dist/devices/OnOffOutletAccessory.d.ts +1 -1
  45. package/dist/devices/OnOffOutletAccessory.js +2 -2
  46. package/dist/devices/OnOffOutletAccessory.js.map +1 -1
  47. package/dist/devices/OnOffSwitchAccessory.d.ts +1 -1
  48. package/dist/devices/OnOffSwitchAccessory.js +2 -2
  49. package/dist/devices/OnOffSwitchAccessory.js.map +1 -1
  50. package/dist/devices/RoboticVacuumAccessory.d.ts +6 -6
  51. package/dist/devices/RoboticVacuumAccessory.js +25 -25
  52. package/dist/devices/RoboticVacuumAccessory.js.map +1 -1
  53. package/dist/devices/SmokeCOAlarmAccessory.d.ts +2 -2
  54. package/dist/devices/SmokeCOAlarmAccessory.js +5 -6
  55. package/dist/devices/SmokeCOAlarmAccessory.js.map +1 -1
  56. package/dist/devices/TemperatureSensorAccessory.d.ts +1 -1
  57. package/dist/devices/TemperatureSensorAccessory.js +2 -2
  58. package/dist/devices/TemperatureSensorAccessory.js.map +1 -1
  59. package/dist/devices/ThermostatAccessory.d.ts +6 -4
  60. package/dist/devices/ThermostatAccessory.js +33 -16
  61. package/dist/devices/ThermostatAccessory.js.map +1 -1
  62. package/dist/devices/VenetianBlindAccessory.d.ts +2 -2
  63. package/dist/devices/VenetianBlindAccessory.js +4 -4
  64. package/dist/devices/VenetianBlindAccessory.js.map +1 -1
  65. package/dist/devices/WindowBlindAccessory.d.ts +1 -1
  66. package/dist/devices/WindowBlindAccessory.js +2 -2
  67. package/dist/devices/WindowBlindAccessory.js.map +1 -1
  68. package/dist/devices/custom/PowerStripAccessory.d.ts +2 -2
  69. package/dist/devices/custom/PowerStripAccessory.js +8 -8
  70. package/dist/devices/custom/PowerStripAccessory.js.map +1 -1
  71. package/dist/devices/index.d.ts +1 -0
  72. package/dist/devices/index.js +1 -0
  73. package/dist/devices/index.js.map +1 -1
  74. package/dist/platform.js +7 -1
  75. package/dist/platform.js.map +1 -1
  76. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to `@homebridge-plugins/homebridge-matter` will be documented in this file.
4
4
 
5
+ ## v0.7.0 (2025-11-09)
6
+
7
+ ### Changes
8
+
9
+ - improvements to fan implementation
10
+ - improvements to thermostat implementation
11
+
12
+ ## v0.6.0 (2025-11-07)
13
+
14
+ ### Changes
15
+
16
+ - add example for air quality sensor
17
+ - update device examples to use `async/await` syntax
18
+
5
19
  ## v0.5.0 (2025-11-02)
6
20
 
7
21
  ### Changes
package/README.md CHANGED
@@ -29,7 +29,7 @@ This plugin provides example implementations of Matter device types in Homebridg
29
29
 
30
30
  - To use this plugin, you will need to already have:
31
31
  - [Node](https://nodejs.org): latest version of `v20`, `v22` or `v24` - any other major version is not supported.
32
- - [Homebridge](https://homebridge.io): `>=2.0.0-beta.40` - refer to link for more information and installation instructions.
32
+ - [Homebridge](https://homebridge.io): `>=2.0.0-beta.52` - refer to link for more information and installation instructions.
33
33
 
34
34
  ### Getting Started
35
35
 
@@ -58,6 +58,12 @@
58
58
  "default": false,
59
59
  "description": "Enable the on/off light switch example accessory (Matter Spec § 6.1)."
60
60
  },
61
+ "enableAirQualitySensor": {
62
+ "title": "Enable Air Quality Sensor",
63
+ "type": "boolean",
64
+ "default": false,
65
+ "description": "Enable the air quality sensor example accessory (Matter Spec § 7.6). Monitors air quality, PM2.5, PM10, temperature, and humidity."
66
+ },
61
67
  "enableContactSensor": {
62
68
  "title": "Enable Contact Sensor",
63
69
  "type": "boolean",
@@ -187,10 +193,11 @@
187
193
  {
188
194
  "type": "fieldset",
189
195
  "title": "Section 7: Sensors",
190
- "description": "Matter Specification § 7 - All sensor types (7 devices implemented).",
196
+ "description": "Matter Specification § 7 - All sensor types (8 devices implemented).",
191
197
  "expandable": true,
192
198
  "expanded": false,
193
199
  "items": [
200
+ "enableAirQualitySensor",
194
201
  "enableContactSensor",
195
202
  "enableLightSensor",
196
203
  "enableOccupancySensor",
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Air Quality Sensor Accessory Class
3
+ *
4
+ * This device combines multiple environmental sensors commonly found in air quality monitors:
5
+ * - Air Quality (overall rating)
6
+ * - PM2.5 (fine particulate matter)
7
+ * - PM10 (coarse particulate matter)
8
+ * - Temperature
9
+ * - Relative Humidity
10
+ */
11
+ import type { API, Logger } from 'homebridge';
12
+ import { BaseMatterAccessory } from './BaseMatterAccessory.js';
13
+ export declare class AirQualitySensorAccessory extends BaseMatterAccessory {
14
+ constructor(api: API, log: Logger);
15
+ /**
16
+ * Update the overall air quality rating
17
+ * @param quality 0 = Unknown, 1 = Good, 2 = Fair, 3 = Moderate, 4 = Poor, 5 = VeryPoor, 6 = ExtremelyPoor
18
+ */
19
+ updateAirQuality(quality: 0 | 1 | 2 | 3 | 4 | 5 | 6): Promise<void>;
20
+ /**
21
+ * Update PM2.5 concentration
22
+ * @param value Concentration in µg/m³ (micrograms per cubic meter)
23
+ */
24
+ updatePM25(value: number): Promise<void>;
25
+ /**
26
+ * Update PM10 concentration
27
+ * @param value Concentration in µg/m³ (micrograms per cubic meter)
28
+ */
29
+ updatePM10(value: number): Promise<void>;
30
+ /**
31
+ * Update temperature
32
+ * @param celsius Temperature in degrees Celsius
33
+ */
34
+ updateTemperature(celsius: number): Promise<void>;
35
+ /**
36
+ * Update relative humidity
37
+ * @param percent Humidity as a percentage (0-100)
38
+ */
39
+ updateHumidity(percent: number): Promise<void>;
40
+ /**
41
+ * Update all sensor values at once
42
+ */
43
+ updateAllValues(values: {
44
+ airQuality?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
45
+ pm25?: number;
46
+ pm10?: number;
47
+ temperature?: number;
48
+ humidity?: number;
49
+ }): Promise<void>;
50
+ }
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Air Quality Sensor Accessory Class
3
+ *
4
+ * This device combines multiple environmental sensors commonly found in air quality monitors:
5
+ * - Air Quality (overall rating)
6
+ * - PM2.5 (fine particulate matter)
7
+ * - PM10 (coarse particulate matter)
8
+ * - Temperature
9
+ * - Relative Humidity
10
+ */
11
+ import { BaseMatterAccessory } from './BaseMatterAccessory.js';
12
+ export class AirQualitySensorAccessory extends BaseMatterAccessory {
13
+ constructor(api, log) {
14
+ const serialNumber = 'SENSOR-007';
15
+ super(api, log, {
16
+ uuid: api.matter.uuid.generate(serialNumber),
17
+ displayName: 'Air Quality Sensor',
18
+ deviceType: api.matter.deviceTypes.AirQualitySensor,
19
+ serialNumber,
20
+ manufacturer: 'Homebridge Matter',
21
+ model: 'HB-MATTER-SENSOR-AIR-QUALITY',
22
+ firmwareRevision: '1.0.0',
23
+ hardwareRevision: '1.0.0',
24
+ clusters: {
25
+ // Overall air quality rating
26
+ // 0 = Unknown, 1 = Good, 2 = Fair, 3 = Moderate, 4 = Poor, 5 = VeryPoor, 6 = ExtremelyPoor
27
+ airQuality: {
28
+ airQuality: 1, // Default: Good
29
+ },
30
+ // Note: the only cluster that appears in the Home app is the Air Quality cluster.
31
+ // The other measurements can be accessed by other Matter-compatible apps.
32
+ // PM2.5 - Fine particulate matter (≤2.5 micrometers)
33
+ // Values in µg/m³ (micrograms per cubic meter)
34
+ pm25ConcentrationMeasurement: {
35
+ measuredValue: 12, // 12 µg/m³ (Good air quality)
36
+ minMeasuredValue: 0,
37
+ maxMeasuredValue: 1000,
38
+ measurementUnit: 0, // 0 = µg/m³
39
+ measurementMedium: 0, // 0 = Air
40
+ },
41
+ // PM10 - Coarse particulate matter (≤10 micrometers)
42
+ // Values in µg/m³
43
+ pm10ConcentrationMeasurement: {
44
+ measuredValue: 25, // 25 µg/m³ (Good air quality)
45
+ minMeasuredValue: 0,
46
+ maxMeasuredValue: 1000,
47
+ measurementUnit: 0, // 0 = µg/m³
48
+ measurementMedium: 0, // 0 = Air
49
+ },
50
+ // Temperature measurement (in hundredths of °C)
51
+ temperatureMeasurement: {
52
+ measuredValue: 2100, // 21.00°C
53
+ minMeasuredValue: -5000, // -50°C
54
+ maxMeasuredValue: 10000, // 100°C
55
+ },
56
+ // Relative humidity (in hundredths of a percent)
57
+ relativeHumidityMeasurement: {
58
+ measuredValue: 5500, // 55%
59
+ minMeasuredValue: 0,
60
+ maxMeasuredValue: 10000, // 100%
61
+ },
62
+ },
63
+ });
64
+ this.logInfo('initialized.');
65
+ }
66
+ /**
67
+ * Update the overall air quality rating
68
+ * @param quality 0 = Unknown, 1 = Good, 2 = Fair, 3 = Moderate, 4 = Poor, 5 = VeryPoor, 6 = ExtremelyPoor
69
+ */
70
+ async updateAirQuality(quality) {
71
+ await this.updateState('airQuality', { airQuality: quality });
72
+ const qualityStr = ['Unknown', 'Good', 'Fair', 'Moderate', 'Poor', 'Very Poor', 'Extremely Poor'][quality];
73
+ this.logInfo(`air quality: ${qualityStr}.`);
74
+ }
75
+ /**
76
+ * Update PM2.5 concentration
77
+ * @param value Concentration in µg/m³ (micrograms per cubic meter)
78
+ */
79
+ async updatePM25(value) {
80
+ await this.updateState('pm25ConcentrationMeasurement', { measuredValue: value });
81
+ this.logInfo(`PM2.5: ${value} µg/m³.`);
82
+ }
83
+ /**
84
+ * Update PM10 concentration
85
+ * @param value Concentration in µg/m³ (micrograms per cubic meter)
86
+ */
87
+ async updatePM10(value) {
88
+ await this.updateState('pm10ConcentrationMeasurement', { measuredValue: value });
89
+ this.logInfo(`PM10: ${value} µg/m³.`);
90
+ }
91
+ /**
92
+ * Update temperature
93
+ * @param celsius Temperature in degrees Celsius
94
+ */
95
+ async updateTemperature(celsius) {
96
+ const value = Math.round(celsius * 100); // convert to hundredths
97
+ await this.updateState('temperatureMeasurement', { measuredValue: value });
98
+ this.logInfo(`temperature: ${celsius}°C.`);
99
+ }
100
+ /**
101
+ * Update relative humidity
102
+ * @param percent Humidity as a percentage (0-100)
103
+ */
104
+ async updateHumidity(percent) {
105
+ const value = Math.round(percent * 100); // convert to hundredths
106
+ await this.updateState('relativeHumidityMeasurement', { measuredValue: value });
107
+ this.logInfo(`humidity: ${percent}%.`);
108
+ }
109
+ /**
110
+ * Update all sensor values at once
111
+ */
112
+ async updateAllValues(values) {
113
+ if (values.airQuality !== undefined) {
114
+ await this.updateAirQuality(values.airQuality);
115
+ }
116
+ if (values.pm25 !== undefined) {
117
+ await this.updatePM25(values.pm25);
118
+ }
119
+ if (values.pm10 !== undefined) {
120
+ await this.updatePM10(values.pm10);
121
+ }
122
+ if (values.temperature !== undefined) {
123
+ await this.updateTemperature(values.temperature);
124
+ }
125
+ if (values.humidity !== undefined) {
126
+ await this.updateHumidity(values.humidity);
127
+ }
128
+ }
129
+ }
130
+ //# sourceMappingURL=AirQualitySensorAccessory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AirQualitySensorAccessory.js","sourceRoot":"","sources":["../../src/devices/AirQualitySensorAccessory.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ export declare abstract class BaseMatterAccessory implements MatterAccessory {
41
41
  readonly parts?: MatterAccessory['parts'];
42
42
  protected readonly api: API;
43
43
  protected readonly log: Logger;
44
- constructor(api: API, log: Logger, config: BaseMatterAccessoryConfig);
44
+ protected constructor(api: API, log: Logger, config: BaseMatterAccessoryConfig);
45
45
  /**
46
46
  * Update the accessory state
47
47
  * Helper method to update cluster attributes
@@ -11,7 +11,7 @@ export declare class ColorLightAccessory extends BaseMatterAccessory {
11
11
  private handleSetLevel;
12
12
  private handleSetColor;
13
13
  private handleSetHueSaturation;
14
- updateOnOffState(isOn: boolean): void;
15
- updateBrightness(percent: number): void;
16
- updateHueSaturation(hue: number, saturation: number): void;
14
+ updateOnOffState(isOn: boolean): Promise<void>;
15
+ updateBrightness(percent: number): Promise<void>;
16
+ updateHueSaturation(hue: number, saturation: number): Promise<void>;
17
17
  }
@@ -112,17 +112,17 @@ export class ColorLightAccessory extends BaseMatterAccessory {
112
112
  // }
113
113
  // TODO: await myLightAPI.setColor(hueDegrees, saturationPercent, transitionTime)
114
114
  }
115
- updateOnOffState(isOn) {
116
- this.updateState(this.api.matter.clusterNames.OnOff, { onOff: isOn });
115
+ async updateOnOffState(isOn) {
116
+ await this.updateState(this.api.matter.clusterNames.OnOff, { onOff: isOn });
117
117
  }
118
- updateBrightness(percent) {
118
+ async updateBrightness(percent) {
119
119
  const matterLevel = Math.max(1, Math.round((percent / 100) * 254));
120
- this.updateState(this.api.matter.clusterNames.LevelControl, { currentLevel: matterLevel });
120
+ await this.updateState(this.api.matter.clusterNames.LevelControl, { currentLevel: matterLevel });
121
121
  }
122
- updateHueSaturation(hue, saturation) {
122
+ async updateHueSaturation(hue, saturation) {
123
123
  const matterHue = Math.round((hue / 360) * 254);
124
124
  const matterSat = Math.round((saturation / 100) * 254);
125
- this.updateState(this.api.matter.clusterNames.ColorControl, {
125
+ await this.updateState(this.api.matter.clusterNames.ColorControl, {
126
126
  currentHue: matterHue,
127
127
  currentSaturation: matterSat,
128
128
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ColorLightAccessory.js","sourceRoot":"","sources":["../../src/devices/ColorLightAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColorLightAccessory.js","sourceRoot":"","sources":["../../src/devices/ColorLightAccessory.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export declare class ColorTemperatureLightAccessory extends BaseMatterAccessory
9
9
  private handleOff;
10
10
  private handleSetLevel;
11
11
  private handleSetColorTemperature;
12
- updateOnOffState(isOn: boolean): void;
13
- updateBrightness(percent: number): void;
14
- updateColorTemperature(kelvin: number): void;
12
+ updateOnOffState(isOn: boolean): Promise<void>;
13
+ updateBrightness(percent: number): Promise<void>;
14
+ updateColorTemperature(kelvin: number): Promise<void>;
15
15
  }
@@ -81,16 +81,16 @@ export class ColorTemperatureLightAccessory extends BaseMatterAccessory {
81
81
  // }
82
82
  // TODO: await myLightAPI.setColorTemperature(kelvin, transitionTime)
83
83
  }
84
- updateOnOffState(isOn) {
85
- this.updateState(this.api.matter.clusterNames.OnOff, { onOff: isOn });
84
+ async updateOnOffState(isOn) {
85
+ await this.updateState(this.api.matter.clusterNames.OnOff, { onOff: isOn });
86
86
  }
87
- updateBrightness(percent) {
87
+ async updateBrightness(percent) {
88
88
  const matterLevel = Math.max(1, Math.round((percent / 100) * 254));
89
- this.updateState(this.api.matter.clusterNames.LevelControl, { currentLevel: matterLevel });
89
+ await this.updateState(this.api.matter.clusterNames.LevelControl, { currentLevel: matterLevel });
90
90
  }
91
- updateColorTemperature(kelvin) {
91
+ async updateColorTemperature(kelvin) {
92
92
  const mireds = Math.round(1000000 / kelvin);
93
- this.updateState(this.api.matter.clusterNames.ColorControl, { colorTemperatureMireds: mireds });
93
+ await this.updateState(this.api.matter.clusterNames.ColorControl, { colorTemperatureMireds: mireds });
94
94
  }
95
95
  }
96
96
  //# sourceMappingURL=ColorTemperatureLightAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorTemperatureLightAccessory.js","sourceRoot":"","sources":["../../src/devices/ColorTemperatureLightAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColorTemperatureLightAccessory.js","sourceRoot":"","sources":["../../src/devices/ColorTemperatureLightAccessory.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,5 @@ import type { API, Logger } from 'homebridge';
5
5
  import { BaseMatterAccessory } from './BaseMatterAccessory.js';
6
6
  export declare class ContactSensorAccessory extends BaseMatterAccessory {
7
7
  constructor(api: API, log: Logger);
8
- updateContactState(isOpen: boolean): void;
8
+ updateContactState(isOpen: boolean): Promise<void>;
9
9
  }
@@ -22,9 +22,9 @@ export class ContactSensorAccessory extends BaseMatterAccessory {
22
22
  });
23
23
  this.logInfo('initialized.');
24
24
  }
25
- updateContactState(isOpen) {
25
+ async updateContactState(isOpen) {
26
26
  // Matter BooleanState: false = open/triggered, true = closed/normal (inverted!)
27
- this.updateState(this.api.matter.clusterNames.BooleanState, { stateValue: !isOpen });
27
+ await this.updateState(this.api.matter.clusterNames.BooleanState, { stateValue: !isOpen });
28
28
  this.logInfo(`contact state: ${isOpen ? 'OPEN' : 'CLOSED'}.`);
29
29
  }
30
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContactSensorAccessory.js","sourceRoot":"","sources":["../../src/devices/ContactSensorAccessory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,OAAO,sBAAuB,SAAQ,mBAAmB;IAC7D,YAAY,GAAQ,EAAE,GAAW;QAC/B,MAAM,YAAY,GAAG,YAAY,CAAA;QACjC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5C,WAAW,EAAE,gBAAgB;YAC7B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa;YAChD,YAAY;YACZ,YAAY,EAAE,mBAAmB;YACjC,KAAK,EAAE,0BAA0B;YACjC,gBAAgB,EAAE,OAAO;YACzB,gBAAgB,EAAE,OAAO;YAEzB,QAAQ,EAAE;gBACR,YAAY,EAAE;oBACZ,UAAU,EAAE,IAAI,EAAE,uDAAuD;iBAC1E;aACF;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;IAEM,kBAAkB,CAAC,MAAe;QACvC,gFAAgF;QAChF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;QACpF,IAAI,CAAC,OAAO,CAAC,kBAAkB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC/D,CAAC;CACF"}
1
+ {"version":3,"file":"ContactSensorAccessory.js","sourceRoot":"","sources":["../../src/devices/ContactSensorAccessory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,OAAO,sBAAuB,SAAQ,mBAAmB;IAC7D,YAAY,GAAQ,EAAE,GAAW;QAC/B,MAAM,YAAY,GAAG,YAAY,CAAA;QACjC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5C,WAAW,EAAE,gBAAgB;YAC7B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa;YAChD,YAAY;YACZ,YAAY,EAAE,mBAAmB;YACjC,KAAK,EAAE,0BAA0B;YACjC,gBAAgB,EAAE,OAAO;YACzB,gBAAgB,EAAE,OAAO;YAEzB,QAAQ,EAAE;gBACR,YAAY,EAAE;oBACZ,UAAU,EAAE,IAAI,EAAE,uDAAuD;iBAC1E;aACF;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,MAAe;QAC7C,gFAAgF;QAChF,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;QAC1F,IAAI,CAAC,OAAO,CAAC,kBAAkB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC/D,CAAC;CACF"}
@@ -33,12 +33,12 @@ export declare class DimmableLightAccessory extends BaseMatterAccessory {
33
33
  /**
34
34
  * Update on/off state from external source
35
35
  */
36
- updateOnOffState(isOn: boolean): void;
36
+ updateOnOffState(isOn: boolean): Promise<void>;
37
37
  /**
38
38
  * Update brightness level from external source
39
39
  * @param percent - Brightness percentage (0-100)
40
40
  */
41
- updateBrightness(percent: number): void;
41
+ updateBrightness(percent: number): Promise<void>;
42
42
  /**
43
43
  * Get current brightness as percentage
44
44
  */
@@ -47,7 +47,7 @@ export declare class DimmableLightAccessory extends BaseMatterAccessory {
47
47
  * Set brightness and power state together
48
48
  * Useful for syncing complete state from external source
49
49
  */
50
- updateFullState(isOn: boolean, percent: number): void;
50
+ updateFullState(isOn: boolean, percent: number): Promise<void>;
51
51
  /**
52
52
  * Example monitoring setup
53
53
  */
@@ -124,15 +124,15 @@ export class DimmableLightAccessory extends BaseMatterAccessory {
124
124
  /**
125
125
  * Update on/off state from external source
126
126
  */
127
- updateOnOffState(isOn) {
128
- this.updateState(this.api.matter.clusterNames.OnOff, { onOff: isOn });
127
+ async updateOnOffState(isOn) {
128
+ await this.updateState(this.api.matter.clusterNames.OnOff, { onOff: isOn });
129
129
  this.logInfo(`state synced: ${isOn ? 'ON' : 'OFF'}.`);
130
130
  }
131
131
  /**
132
132
  * Update brightness level from external source
133
133
  * @param percent - Brightness percentage (0-100)
134
134
  */
135
- updateBrightness(percent) {
135
+ async updateBrightness(percent) {
136
136
  // Validate input
137
137
  if (percent < 0 || percent > 100) {
138
138
  this.logWarn(`Invalid brightness percentage: ${percent}. Must be 0-100.`);
@@ -141,7 +141,7 @@ export class DimmableLightAccessory extends BaseMatterAccessory {
141
141
  // Convert percent to Matter level (1-254)
142
142
  const matterLevel = Math.max(1, Math.round((percent / 100) * 254));
143
143
  this.currentLevel = matterLevel;
144
- this.updateState(this.api.matter.clusterNames.LevelControl, {
144
+ await this.updateState(this.api.matter.clusterNames.LevelControl, {
145
145
  currentLevel: matterLevel,
146
146
  });
147
147
  this.logInfo(`brightness synced: ${percent}% (level: ${matterLevel}).`);
@@ -156,10 +156,10 @@ export class DimmableLightAccessory extends BaseMatterAccessory {
156
156
  * Set brightness and power state together
157
157
  * Useful for syncing complete state from external source
158
158
  */
159
- updateFullState(isOn, percent) {
160
- this.updateOnOffState(isOn);
159
+ async updateFullState(isOn, percent) {
160
+ await this.updateOnOffState(isOn);
161
161
  if (isOn) {
162
- this.updateBrightness(percent);
162
+ await this.updateBrightness(percent);
163
163
  }
164
164
  }
165
165
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DimmableLightAccessory.js","sourceRoot":"","sources":["../../src/devices/DimmableLightAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DimmableLightAccessory.js","sourceRoot":"","sources":["../../src/devices/DimmableLightAccessory.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,5 @@ export declare class DoorLockAccessory extends BaseMatterAccessory {
7
7
  constructor(api: API, log: Logger);
8
8
  private handleLock;
9
9
  private handleUnlock;
10
- updateLockState(state: 0 | 1 | 2): void;
10
+ updateLockState(state: 0 | 1 | 2): Promise<void>;
11
11
  }
@@ -72,9 +72,9 @@ export class DoorLockAccessory extends BaseMatterAccessory {
72
72
  // }
73
73
  this.logInfo('unlocked.');
74
74
  }
75
- updateLockState(state) {
75
+ async updateLockState(state) {
76
76
  // 0 = Not fully locked, 1 = Locked, 2 = Unlocked
77
- this.updateState('doorLock', { lockState: state });
77
+ await this.updateState('doorLock', { lockState: state });
78
78
  const stateStr = ['Not Fully Locked', 'Locked', 'Unlocked'][state];
79
79
  this.logInfo(`lock state: ${stateStr}.`);
80
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DoorLockAccessory.js","sourceRoot":"","sources":["../../src/devices/DoorLockAccessory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,OAAO,iBAAkB,SAAQ,mBAAmB;IACxD,YAAY,GAAQ,EAAE,GAAW;QAC/B,MAAM,YAAY,GAAG,UAAU,CAAA;QAC/B,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5C,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ;YAC3C,YAAY;YACZ,YAAY,EAAE,mBAAmB;YACjC,KAAK,EAAE,qBAAqB;YAC5B,gBAAgB,EAAE,OAAO;YACzB,gBAAgB,EAAE,OAAO;YAEzB,QAAQ,EAAE;gBACR,QAAQ,EAAE;oBACR,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ;oBACvD,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ;oBACrD,eAAe,EAAE,IAAI;oBACrB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM;iBAC9D;aACF;YAED,QAAQ,EAAE;gBACR,QAAQ,EAAE;oBACR,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;oBACvC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;iBAC5C;aACF;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QAE7B,kDAAkD;QAClD,yBAAyB;QACzB,+EAA+E;QAC/E,IAAI;QAEJ,qDAAqD;QACrD,gCAAgC;QAChC,sEAAsE;QACtE,IAAI;QAEJ,gDAAgD;QAChD,QAAQ;QACR,gDAAgD;QAChD,oBAAoB;QACpB,wCAAwC;QACxC,8EAA8E;QAC9E,MAAM;QACN,sCAAsC;QACtC,qFAAqF;QACrF,MAAM;QACN,gBAAgB;QAChB,IAAI;QAEJ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACzB,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAE/B,kDAAkD;QAClD,uCAAuC;QACvC,uFAAuF;QACvF,IAAI;QAEJ,uDAAuD;QACvD,oCAAoC;QACpC,0FAA0F;QAC1F,IAAI;QAEJ,gDAAgD;QAChD,4CAA4C;QAC5C,6CAA6C;QAC7C,4FAA4F;QAC5F,IAAI;QAEJ,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAC3B,CAAC;IAEM,eAAe,CAAC,KAAgB;QACrC,iDAAiD;QACjD,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,CAAC,kBAAkB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAA;QAClE,IAAI,CAAC,OAAO,CAAC,eAAe,QAAQ,GAAG,CAAC,CAAA;IAC1C,CAAC;CACF"}
1
+ {"version":3,"file":"DoorLockAccessory.js","sourceRoot":"","sources":["../../src/devices/DoorLockAccessory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,OAAO,iBAAkB,SAAQ,mBAAmB;IACxD,YAAY,GAAQ,EAAE,GAAW;QAC/B,MAAM,YAAY,GAAG,UAAU,CAAA;QAC/B,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5C,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ;YAC3C,YAAY;YACZ,YAAY,EAAE,mBAAmB;YACjC,KAAK,EAAE,qBAAqB;YAC5B,gBAAgB,EAAE,OAAO;YACzB,gBAAgB,EAAE,OAAO;YAEzB,QAAQ,EAAE;gBACR,QAAQ,EAAE;oBACR,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ;oBACvD,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ;oBACrD,eAAe,EAAE,IAAI;oBACrB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM;iBAC9D;aACF;YAED,QAAQ,EAAE;gBACR,QAAQ,EAAE;oBACR,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;oBACvC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;iBAC5C;aACF;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QAE7B,kDAAkD;QAClD,yBAAyB;QACzB,+EAA+E;QAC/E,IAAI;QAEJ,qDAAqD;QACrD,gCAAgC;QAChC,sEAAsE;QACtE,IAAI;QAEJ,gDAAgD;QAChD,QAAQ;QACR,gDAAgD;QAChD,oBAAoB;QACpB,wCAAwC;QACxC,8EAA8E;QAC9E,MAAM;QACN,sCAAsC;QACtC,qFAAqF;QACrF,MAAM;QACN,gBAAgB;QAChB,IAAI;QAEJ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACzB,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAE/B,kDAAkD;QAClD,uCAAuC;QACvC,uFAAuF;QACvF,IAAI;QAEJ,uDAAuD;QACvD,oCAAoC;QACpC,0FAA0F;QAC1F,IAAI;QAEJ,gDAAgD;QAChD,4CAA4C;QAC5C,6CAA6C;QAC7C,4FAA4F;QAC5F,IAAI;QAEJ,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAC3B,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,KAAgB;QAC3C,iDAAiD;QACjD,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QACxD,MAAM,QAAQ,GAAG,CAAC,kBAAkB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAA;QAClE,IAAI,CAAC,OAAO,CAAC,eAAe,QAAQ,GAAG,CAAC,CAAA;IAC1C,CAAC;CACF"}
@@ -12,7 +12,7 @@ export declare class ExtendedColorLightAccessory extends BaseMatterAccessory {
12
12
  private handleSetColor;
13
13
  private handleSetHueSaturation;
14
14
  private handleSetColorTemperature;
15
- updateOnOffState(isOn: boolean): void;
16
- updateBrightness(percent: number): void;
17
- updateHueSaturation(hue: number, saturation: number): void;
15
+ updateOnOffState(isOn: boolean): Promise<void>;
16
+ updateBrightness(percent: number): Promise<void>;
17
+ updateHueSaturation(hue: number, saturation: number): Promise<void>;
18
18
  }
@@ -107,17 +107,17 @@ export class ExtendedColorLightAccessory extends BaseMatterAccessory {
107
107
  // }
108
108
  // TODO: await myLightAPI.setColorTemperature(kelvin, transitionTime)
109
109
  }
110
- updateOnOffState(isOn) {
111
- this.updateState(this.api.matter.clusterNames.OnOff, { onOff: isOn });
110
+ async updateOnOffState(isOn) {
111
+ await this.updateState(this.api.matter.clusterNames.OnOff, { onOff: isOn });
112
112
  }
113
- updateBrightness(percent) {
113
+ async updateBrightness(percent) {
114
114
  const matterLevel = Math.max(1, Math.round((percent / 100) * 254));
115
- this.updateState(this.api.matter.clusterNames.LevelControl, { currentLevel: matterLevel });
115
+ await this.updateState(this.api.matter.clusterNames.LevelControl, { currentLevel: matterLevel });
116
116
  }
117
- updateHueSaturation(hue, saturation) {
117
+ async updateHueSaturation(hue, saturation) {
118
118
  const matterHue = Math.round((hue / 360) * 254);
119
119
  const matterSat = Math.round((saturation / 100) * 254);
120
- this.updateState(this.api.matter.clusterNames.ColorControl, {
120
+ await this.updateState(this.api.matter.clusterNames.ColorControl, {
121
121
  currentHue: matterHue,
122
122
  currentSaturation: matterSat,
123
123
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ExtendedColorLightAccessory.js","sourceRoot":"","sources":["../../src/devices/ExtendedColorLightAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExtendedColorLightAccessory.js","sourceRoot":"","sources":["../../src/devices/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;QAC/B,MAAM,YAAY,GAAG,WAAW,CAAA;QAChC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5C,WAAW,EAAE,gCAAgC;YAC7C,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB;YACrD,YAAY;YACZ,YAAY,EAAE,mBAAmB;YACjC,KAAK,EAAE,iCAAiC;YACxC,gBAAgB,EAAE,OAAO;YACzB,gBAAgB,EAAE,OAAO;YAEzB,QAAQ,EAAE;gBACR,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;gBACvB,YAAY,EAAE;oBACZ,YAAY,EAAE,GAAG;oBACjB,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,GAAG;iBACd;gBACD,YAAY,EAAE;oBACZ,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,8BAA8B;oBACjF,UAAU,EAAE,CAAC;oBACb,iBAAiB,EAAE,GAAG;oBACtB,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,KAAK;oBACf,sBAAsB,EAAE,GAAG;oBAC3B,0BAA0B,EAAE,GAAG;oBAC/B,0BAA0B,EAAE,GAAG;oBAC/B,+BAA+B,EAAE,GAAG;iBACrC;aACF;YAED,QAAQ,EAAE;gBACR,KAAK,EAAE;oBACL,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC/B,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE;iBAClC;gBACD,YAAY,EAAE;oBACZ,oBAAoB,EAAE,KAAK,EAAE,OAAmC,EAAE,EAAE,CAClE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;iBAC/B;gBACD,YAAY,EAAE;oBACZ,gBAAgB,EAAE,KAAK,EAAE,OAAmC,EAAE,EAAE,CAC9D,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAC9B,2BAA2B,EAAE,KAAK,EAAE,OAA8C,EAAE,EAAE,CACpF,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;oBACtC,2BAA2B,EAAE,KAAK,EAAE,OAA8C,EAAE,EAAE,CACpF,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC;iBAC1C;aACF;SACF,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,kCAAkC;IACpC,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC5B,mCAAmC;IACrC,CAAC;IAEO,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,GAAG,OAAO,CAAA;QACzB,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;QACzD,IAAI,CAAC,OAAO,CAAC,yBAAyB,iBAAiB,IAAI,CAAC,CAAA;QAC5D,0DAA0D;IAC5D,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAAmC;QAC9D,IAAI,CAAC,OAAO,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC/D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;QAClD,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC1C,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC1C,IAAI,CAAC,OAAO,CAAC,wBAAwB,MAAM,KAAK,MAAM,IAAI,CAAC,CAAA;QAC3D,+DAA+D;IACjE,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,OAA8C;QACjF,IAAI,CAAC,OAAO,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC1E,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;QAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;QAC9D,IAAI,CAAC,OAAO,CAAC,oBAAoB,UAAU,MAAM,iBAAiB,IAAI,CAAC,CAAA;QACvE,iFAAiF;IACnF,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,OAA8C;QACpF,IAAI,CAAC,OAAO,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC1E,MAAM,EAAE,sBAAsB,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,sBAAsB,CAAC,CAAA;QAC3D,IAAI,CAAC,OAAO,CAAC,yBAAyB,MAAM,IAAI,CAAC,CAAA;QAEjD,uEAAuE;QACvE,+CAA+C;QAC/C,+CAA+C;QAC/C,kFAAkF;QAClF,4CAA4C;QAC5C,mEAAmE;QACnE,MAAM;QACN,IAAI;QAEJ,8DAA8D;QAC9D,0EAA0E;QAC1E,2CAA2C;QAC3C,sFAAsF;QACtF,MAAM;QACN,IAAI;QAEJ,gDAAgD;QAChD,oCAAoC;QACpC,oGAAoG;QACpG,IAAI;QAEJ,qEAAqE;IACvE,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,IAAa;QACzC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7E,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAClE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAA;IAClG,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,GAAW,EAAE,UAAkB;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;QACtD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE;YAChE,UAAU,EAAE,SAAS;YACrB,iBAAiB,EAAE,SAAS;SAC7B,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -8,6 +8,6 @@ export declare class FanAccessory extends BaseMatterAccessory {
8
8
  private handleStep;
9
9
  private handleFanModeChange;
10
10
  private handlePercentSettingChange;
11
- updateFanMode(mode: number): void;
12
- updateFanSpeed(percent: number): void;
11
+ updateFanMode(mode: number): Promise<void>;
12
+ updateFanSpeed(percent: number): Promise<void>;
13
13
  }
@@ -17,7 +17,7 @@ export class FanAccessory extends BaseMatterAccessory {
17
17
  clusters: {
18
18
  fanControl: {
19
19
  fanMode: api.matter.types.FanControl.FanMode.Off,
20
- fanModeSequence: api.matter.types.FanControl.FanModeSequence.OffLowMedHigh,
20
+ fanModeSequence: api.matter.types.FanControl.FanModeSequence.OffHigh,
21
21
  percentSetting: 0,
22
22
  percentCurrent: 0,
23
23
  },
@@ -91,11 +91,11 @@ export class FanAccessory extends BaseMatterAccessory {
91
91
  }
92
92
  // TODO: await myFanAPI.setSpeed(percent)
93
93
  }
94
- updateFanMode(mode) {
95
- this.updateState(this.api.matter.clusterNames.FanControl, { fanMode: mode });
94
+ async updateFanMode(mode) {
95
+ await this.updateState(this.api.matter.clusterNames.FanControl, { fanMode: mode });
96
96
  }
97
- updateFanSpeed(percent) {
98
- this.updateState(this.api.matter.clusterNames.FanControl, {
97
+ async updateFanSpeed(percent) {
98
+ await this.updateState(this.api.matter.clusterNames.FanControl, {
99
99
  percentSetting: percent,
100
100
  percentCurrent: percent,
101
101
  });