@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.
- package/CHANGELOG.md +14 -0
- package/README.md +1 -1
- package/config.schema.json +8 -1
- package/dist/devices/AirQualitySensorAccessory.d.ts +50 -0
- package/dist/devices/AirQualitySensorAccessory.js +130 -0
- package/dist/devices/AirQualitySensorAccessory.js.map +1 -0
- package/dist/devices/BaseMatterAccessory.d.ts +1 -1
- package/dist/devices/ColorLightAccessory.d.ts +3 -3
- package/dist/devices/ColorLightAccessory.js +6 -6
- package/dist/devices/ColorLightAccessory.js.map +1 -1
- package/dist/devices/ColorTemperatureLightAccessory.d.ts +3 -3
- package/dist/devices/ColorTemperatureLightAccessory.js +6 -6
- package/dist/devices/ColorTemperatureLightAccessory.js.map +1 -1
- package/dist/devices/ContactSensorAccessory.d.ts +1 -1
- package/dist/devices/ContactSensorAccessory.js +2 -2
- package/dist/devices/ContactSensorAccessory.js.map +1 -1
- package/dist/devices/DimmableLightAccessory.d.ts +3 -3
- package/dist/devices/DimmableLightAccessory.js +7 -7
- package/dist/devices/DimmableLightAccessory.js.map +1 -1
- package/dist/devices/DoorLockAccessory.d.ts +1 -1
- package/dist/devices/DoorLockAccessory.js +2 -2
- package/dist/devices/DoorLockAccessory.js.map +1 -1
- package/dist/devices/ExtendedColorLightAccessory.d.ts +3 -3
- package/dist/devices/ExtendedColorLightAccessory.js +6 -6
- package/dist/devices/ExtendedColorLightAccessory.js.map +1 -1
- package/dist/devices/FanAccessory.d.ts +2 -2
- package/dist/devices/FanAccessory.js +5 -5
- package/dist/devices/FanAccessory.js.map +1 -1
- package/dist/devices/HumiditySensorAccessory.d.ts +1 -1
- package/dist/devices/HumiditySensorAccessory.js +2 -2
- package/dist/devices/HumiditySensorAccessory.js.map +1 -1
- package/dist/devices/LeakSensorAccessory.d.ts +1 -1
- package/dist/devices/LeakSensorAccessory.js +2 -2
- package/dist/devices/LeakSensorAccessory.js.map +1 -1
- package/dist/devices/LightSensorAccessory.d.ts +1 -1
- package/dist/devices/LightSensorAccessory.js +2 -2
- package/dist/devices/LightSensorAccessory.js.map +1 -1
- package/dist/devices/OccupancySensorAccessory.d.ts +1 -1
- package/dist/devices/OccupancySensorAccessory.js +3 -4
- package/dist/devices/OccupancySensorAccessory.js.map +1 -1
- package/dist/devices/OnOffLightAccessory.d.ts +1 -1
- package/dist/devices/OnOffLightAccessory.js +2 -2
- package/dist/devices/OnOffLightAccessory.js.map +1 -1
- package/dist/devices/OnOffOutletAccessory.d.ts +1 -1
- package/dist/devices/OnOffOutletAccessory.js +2 -2
- package/dist/devices/OnOffOutletAccessory.js.map +1 -1
- package/dist/devices/OnOffSwitchAccessory.d.ts +1 -1
- package/dist/devices/OnOffSwitchAccessory.js +2 -2
- package/dist/devices/OnOffSwitchAccessory.js.map +1 -1
- package/dist/devices/RoboticVacuumAccessory.d.ts +6 -6
- package/dist/devices/RoboticVacuumAccessory.js +25 -25
- package/dist/devices/RoboticVacuumAccessory.js.map +1 -1
- package/dist/devices/SmokeCOAlarmAccessory.d.ts +2 -2
- package/dist/devices/SmokeCOAlarmAccessory.js +5 -6
- package/dist/devices/SmokeCOAlarmAccessory.js.map +1 -1
- package/dist/devices/TemperatureSensorAccessory.d.ts +1 -1
- package/dist/devices/TemperatureSensorAccessory.js +2 -2
- package/dist/devices/TemperatureSensorAccessory.js.map +1 -1
- package/dist/devices/ThermostatAccessory.d.ts +6 -4
- package/dist/devices/ThermostatAccessory.js +33 -16
- package/dist/devices/ThermostatAccessory.js.map +1 -1
- package/dist/devices/VenetianBlindAccessory.d.ts +2 -2
- package/dist/devices/VenetianBlindAccessory.js +4 -4
- package/dist/devices/VenetianBlindAccessory.js.map +1 -1
- package/dist/devices/WindowBlindAccessory.d.ts +1 -1
- package/dist/devices/WindowBlindAccessory.js +2 -2
- package/dist/devices/WindowBlindAccessory.js.map +1 -1
- package/dist/devices/custom/PowerStripAccessory.d.ts +2 -2
- package/dist/devices/custom/PowerStripAccessory.js +8 -8
- package/dist/devices/custom/PowerStripAccessory.js.map +1 -1
- package/dist/devices/index.d.ts +1 -0
- package/dist/devices/index.js +1 -0
- package/dist/devices/index.js.map +1 -1
- package/dist/platform.js +7 -1
- package/dist/platform.js.map +1 -1
- 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.
|
|
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
|
|
package/config.schema.json
CHANGED
|
@@ -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 (
|
|
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;
|
|
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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"}
|
|
@@ -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;
|
|
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":"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"}
|
|
@@ -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.
|
|
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
|
});
|