@homebridge-plugins/homebridge-smarthq 0.5.0-beta.3 → 0.5.0-beta.31
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/.github/ISSUE_TEMPLATE/config.yml +1 -1
- package/.github/copilot-instructions.md +90 -0
- package/.github/scripts/branch-helper.sh +41 -0
- package/.github/workflows/beta-release.yml +1 -1
- package/.github/workflows/release.yml +53 -17
- package/CHANGELOG.md +563 -18
- package/MATTER.md +304 -0
- package/README.md +15 -0
- package/config.schema.json +14 -5
- package/dist/devices/OpalIceMaker/Managers/OpalDescaleSvcManager.d.ts.map +1 -1
- package/dist/devices/OpalIceMaker/Managers/OpalDescaleSvcManager.js +3 -1
- package/dist/devices/OpalIceMaker/Managers/OpalDescaleSvcManager.js.map +1 -1
- package/dist/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.d.ts.map +1 -1
- package/dist/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.js +3 -1
- package/dist/devices/OpalIceMaker/Managers/OpalFilterMaintenanceSvcManager.js.map +1 -1
- package/dist/devices/OpalIceMaker/Managers/OpalPowerSvcManager.js +1 -1
- package/dist/devices/OpalIceMaker/Managers/OpalPowerSvcManager.js.map +1 -1
- package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.d.ts +1 -1
- package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.d.ts.map +1 -1
- package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.js +12 -5
- package/dist/devices/OpalIceMaker/Managers/OpalProgressSvcManager.js.map +1 -1
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalStatusBase.d.ts.map +1 -1
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalStatusBase.js +4 -2
- package/dist/devices/OpalIceMaker/Managers/StatusManagers/OpalStatusBase.js.map +1 -1
- package/dist/devices/OpalIceMaker/OpalDeviceBase.d.ts +3 -4
- package/dist/devices/OpalIceMaker/OpalDeviceBase.d.ts.map +1 -1
- package/dist/devices/OpalIceMaker/OpalDeviceBase.js +3 -18
- package/dist/devices/OpalIceMaker/OpalDeviceBase.js.map +1 -1
- package/dist/devices/advantium.d.ts +10 -0
- package/dist/devices/advantium.d.ts.map +1 -0
- package/dist/devices/advantium.js +75 -0
- package/dist/devices/advantium.js.map +1 -0
- package/dist/devices/airConditioner.d.ts +11 -2
- package/dist/devices/airConditioner.d.ts.map +1 -1
- package/dist/devices/airConditioner.js +108 -17
- package/dist/devices/airConditioner.js.map +1 -1
- package/dist/devices/beverageCenter.d.ts +10 -0
- package/dist/devices/beverageCenter.d.ts.map +1 -0
- package/dist/devices/beverageCenter.js +125 -0
- package/dist/devices/beverageCenter.js.map +1 -0
- package/dist/devices/clothesDryer.d.ts +21 -0
- package/dist/devices/clothesDryer.d.ts.map +1 -0
- package/dist/devices/clothesDryer.js +240 -0
- package/dist/devices/clothesDryer.js.map +1 -0
- package/dist/devices/clothesWasher.d.ts +21 -0
- package/dist/devices/clothesWasher.d.ts.map +1 -0
- package/dist/devices/clothesWasher.js +251 -0
- package/dist/devices/clothesWasher.js.map +1 -0
- package/dist/devices/coffeeMaker.d.ts +10 -0
- package/dist/devices/coffeeMaker.d.ts.map +1 -0
- package/dist/devices/coffeeMaker.js +79 -0
- package/dist/devices/coffeeMaker.js.map +1 -0
- package/dist/devices/device.d.ts +107 -13
- package/dist/devices/device.d.ts.map +1 -1
- package/dist/devices/device.js +386 -60
- package/dist/devices/device.js.map +1 -1
- package/dist/devices/dishwasher.d.ts +9 -3
- package/dist/devices/dishwasher.d.ts.map +1 -1
- package/dist/devices/dishwasher.js +142 -29
- package/dist/devices/dishwasher.js.map +1 -1
- package/dist/devices/hood.d.ts +41 -0
- package/dist/devices/hood.d.ts.map +1 -0
- package/dist/devices/hood.js +332 -0
- package/dist/devices/hood.js.map +1 -0
- package/dist/devices/microwave.d.ts +19 -0
- package/dist/devices/microwave.d.ts.map +1 -0
- package/dist/devices/microwave.js +144 -0
- package/dist/devices/microwave.js.map +1 -0
- package/dist/devices/oven.d.ts +9 -2
- package/dist/devices/oven.d.ts.map +1 -1
- package/dist/devices/oven.js +245 -43
- package/dist/devices/oven.js.map +1 -1
- package/dist/devices/refrigerator.d.ts +37 -2
- package/dist/devices/refrigerator.d.ts.map +1 -1
- package/dist/devices/refrigerator.js +548 -34
- package/dist/devices/refrigerator.js.map +1 -1
- package/dist/devices/waterFilter.d.ts +10 -0
- package/dist/devices/waterFilter.d.ts.map +1 -0
- package/dist/devices/waterFilter.js +67 -0
- package/dist/devices/waterFilter.js.map +1 -0
- package/dist/devices/waterHeater.d.ts +19 -0
- package/dist/devices/waterHeater.d.ts.map +1 -0
- package/dist/devices/waterHeater.js +158 -0
- package/dist/devices/waterHeater.js.map +1 -0
- package/dist/devices/waterSoftener.d.ts +10 -0
- package/dist/devices/waterSoftener.d.ts.map +1 -0
- package/dist/devices/waterSoftener.js +67 -0
- package/dist/devices/waterSoftener.js.map +1 -0
- package/dist/getAccessToken.d.ts.map +1 -1
- package/dist/getAccessToken.js +6 -0
- package/dist/getAccessToken.js.map +1 -1
- package/dist/platform.d.ts +25 -1
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +548 -70
- package/dist/platform.js.map +1 -1
- package/dist/platform.test.d.ts +2 -0
- package/dist/platform.test.d.ts.map +1 -0
- package/dist/platform.test.js +80 -0
- package/dist/platform.test.js.map +1 -0
- package/dist/settings.d.ts +23 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +13 -0
- package/dist/settings.js.map +1 -1
- package/docs/assets/highlight.css +7 -0
- package/docs/assets/main.js +5 -5
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +248 -226
- package/docs/classes/SmartHQPlatform.html +51 -56
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +22 -12
- package/docs/interfaces/DeviceOptions.html +2 -3
- package/docs/interfaces/SmartHQPlatformConfig.html +6 -17
- package/docs/interfaces/SmartHqContext.html +6 -4
- package/docs/interfaces/SmartHqERDResponse.html +7 -8
- package/docs/interfaces/credentials.html +3 -4
- package/docs/interfaces/devicesConfig.html +8 -8
- package/docs/interfaces/options.html +7 -8
- package/docs/media/copilot-instructions.md +90 -0
- package/docs/modules.html +1 -2
- package/docs/variables/API_URL.html +1 -2
- package/docs/variables/ERD_CODES.html +1 -2
- package/docs/variables/ERD_TYPES.html +1 -2
- package/docs/variables/KEEPALIVE_TIMEOUT.html +1 -2
- package/docs/variables/LOGIN_URL.html +2 -3
- package/docs/variables/OAUTH2_CLIENT_ID.html +1 -2
- package/docs/variables/OAUTH2_CLIENT_SECRET.html +1 -2
- package/docs/variables/OAUTH2_REDIRECT_URI.html +1 -2
- package/docs/variables/PLATFORM_NAME.html +2 -3
- package/docs/variables/PLUGIN_NAME.html +2 -3
- package/docs/variables/SECURE_URL.html +2 -3
- package/docs/variables/default.html +1 -0
- package/package.json +22 -33
- package/typedoc.json +0 -4
- package/vitest.config.ts +6 -5
- package/.github/workflows/build.yml +0 -18
- package/.github/workflows/changerelease.yml +0 -11
- package/.github/workflows/labeler.yml +0 -9
- package/.github/workflows/release-drafter.yml +0 -14
- package/docs/assets/dmt/dmt-component-data.js +0 -1
- package/docs/assets/dmt/dmt-components.css +0 -20
- package/docs/assets/dmt/dmt-components.js +0 -67
- package/docs/assets/dmt/dmt-search.cmp +0 -0
- package/docs/assets/dmt/dmt-theme.css +0 -1
- package/docs/functions/default.html +0 -2
package/dist/devices/device.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
/**
|
|
3
|
+
* Unified base class for SmartHQ devices supporting both HAP and Matter protocols
|
|
4
|
+
* Contains all shared functionality for ERD operations, logging, configuration, and protocol handling
|
|
5
|
+
*/
|
|
1
6
|
export class deviceBase {
|
|
2
7
|
platform;
|
|
3
|
-
accessory;
|
|
4
|
-
device;
|
|
5
8
|
api;
|
|
6
9
|
log;
|
|
7
10
|
config;
|
|
@@ -12,31 +15,65 @@ export class deviceBase {
|
|
|
12
15
|
deviceUpdateRate;
|
|
13
16
|
devicePushRate;
|
|
14
17
|
deviceFirmwareVersion;
|
|
15
|
-
|
|
18
|
+
// ERD capability tracking - remember which ERDs are not supported
|
|
19
|
+
unsupportedErds = new Set();
|
|
20
|
+
// HAP-specific properties
|
|
21
|
+
accessory;
|
|
22
|
+
// Matter-specific properties
|
|
23
|
+
matterAccessory;
|
|
24
|
+
matterUuid;
|
|
25
|
+
userId;
|
|
26
|
+
// Protocol flag
|
|
27
|
+
useMatter = false;
|
|
28
|
+
/**
|
|
29
|
+
* Get the HAP accessory (throws if not in HAP mode)
|
|
30
|
+
*/
|
|
31
|
+
get hapAccessory() {
|
|
32
|
+
if (!this.accessory) {
|
|
33
|
+
throw new Error('Accessory is not available - not in HAP mode');
|
|
34
|
+
}
|
|
35
|
+
return this.accessory;
|
|
36
|
+
}
|
|
37
|
+
constructor(platform, accessoryOrDevice, deviceOrUserId) {
|
|
16
38
|
this.platform = platform;
|
|
17
|
-
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
this.config = this.platform.config;
|
|
39
|
+
// Initialize platform references
|
|
40
|
+
this.api = platform.api;
|
|
41
|
+
this.log = platform.log;
|
|
42
|
+
this.config = platform.config;
|
|
22
43
|
this.hap = this.api.hap;
|
|
44
|
+
// Determine if this is HAP or Matter based on constructor arguments
|
|
45
|
+
let device;
|
|
46
|
+
let isHAP = false;
|
|
47
|
+
let accessoryTemp;
|
|
48
|
+
let userIdTemp;
|
|
49
|
+
if ('UUID' in accessoryOrDevice) {
|
|
50
|
+
// HAP mode: first arg is PlatformAccessory
|
|
51
|
+
accessoryTemp = accessoryOrDevice;
|
|
52
|
+
device = deviceOrUserId;
|
|
53
|
+
isHAP = true;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// Matter mode: first arg is device, second is userId
|
|
57
|
+
device = accessoryOrDevice;
|
|
58
|
+
userIdTemp = deviceOrUserId;
|
|
59
|
+
}
|
|
60
|
+
// Initialize config settings
|
|
23
61
|
this.getDeviceLogSettings(device);
|
|
24
62
|
this.getDeviceRateSettings(device);
|
|
25
63
|
this.getDeviceConfigSettings(device);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
.updateValue(this.deviceFirmwareVersion);
|
|
64
|
+
// Set instance properties
|
|
65
|
+
if (isHAP) {
|
|
66
|
+
this.accessory = accessoryTemp;
|
|
67
|
+
this.useMatter = false;
|
|
68
|
+
// Initialize HAP accessory asynchronously (won't block constructor)
|
|
69
|
+
this.initializeHAPAccessory().catch((error) => {
|
|
70
|
+
this.log.error(`Failed to initialize HAP accessory: ${error}`);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.userId = userIdTemp;
|
|
75
|
+
this.useMatter = device.useMatter ?? false;
|
|
76
|
+
}
|
|
40
77
|
}
|
|
41
78
|
async getDeviceLogSettings(device) {
|
|
42
79
|
this.deviceLogging = this.platform.debugMode ? 'debugMode' : device.logging ?? this.platform.platformLogging ?? 'standard';
|
|
@@ -51,7 +88,7 @@ export class deviceBase {
|
|
|
51
88
|
// updateRate
|
|
52
89
|
this.deviceUpdateRate = device.updateRate ?? this.platform.platformUpdateRate ?? 5;
|
|
53
90
|
const updateRate = device.updateRate ? 'Device Config' : this.platform.platformUpdateRate ? 'Platform Config' : 'Default';
|
|
54
|
-
this.
|
|
91
|
+
await this.debugLog(`Using ${updateRate} updateRate: ${this.deviceUpdateRate}`);
|
|
55
92
|
// pushRate
|
|
56
93
|
this.devicePushRate = device.pushRate ?? this.platform.platformPushRate ?? 1;
|
|
57
94
|
const pushRate = device.pushRate ? 'Device Config' : this.platform.platformPushRate ? 'Platform Config' : 'Default';
|
|
@@ -65,6 +102,7 @@ export class deviceBase {
|
|
|
65
102
|
'updateRate',
|
|
66
103
|
'pushRate',
|
|
67
104
|
'hide_device',
|
|
105
|
+
'useMatter',
|
|
68
106
|
];
|
|
69
107
|
properties.forEach((prop) => {
|
|
70
108
|
if (device[prop] !== undefined) {
|
|
@@ -75,102 +113,129 @@ export class deviceBase {
|
|
|
75
113
|
this.infoLog(`Config: ${JSON.stringify(deviceConfig)}`);
|
|
76
114
|
}
|
|
77
115
|
}
|
|
78
|
-
|
|
79
|
-
|
|
116
|
+
/**
|
|
117
|
+
* Get and parse device firmware version
|
|
118
|
+
*/
|
|
119
|
+
async parseFirmwareVersion(firmware) {
|
|
120
|
+
const deviceFirmwareVersion = firmware ?? this.platform.version ?? '0.0.0';
|
|
80
121
|
const version = deviceFirmwareVersion.toString();
|
|
81
122
|
this.debugLog(`Firmware Version: ${version.replace(/^V|-.*$/g, '')}`);
|
|
82
123
|
if (version?.includes('.') === false) {
|
|
83
124
|
const replace = version?.replace(/^V|-.*$/g, '');
|
|
84
125
|
const match = replace?.match(/./g);
|
|
85
126
|
const validVersion = match?.join('.');
|
|
86
|
-
|
|
127
|
+
return validVersion ?? '0.0.0';
|
|
87
128
|
}
|
|
88
129
|
else {
|
|
89
|
-
|
|
130
|
+
return version.replace(/^V|-.*$/g, '') ?? '0.0.0';
|
|
90
131
|
}
|
|
91
|
-
|
|
92
|
-
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Initialize HAP accessory information
|
|
135
|
+
*/
|
|
136
|
+
async initializeHAPAccessory() {
|
|
137
|
+
if (!this.accessory) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
// Parse firmware version first to avoid undefined values
|
|
141
|
+
const device = this.accessory.context.device;
|
|
142
|
+
const deviceFirmwareVersion = device.firmware ?? this.platform.version ?? '0.0.0';
|
|
143
|
+
this.deviceFirmwareVersion = await this.parseFirmwareVersion(deviceFirmwareVersion);
|
|
144
|
+
this.getDeviceContext(this.accessory, device);
|
|
145
|
+
// Set accessory information
|
|
146
|
+
this.accessory
|
|
93
147
|
.getService(this.hap.Service.AccessoryInformation)
|
|
94
|
-
.setCharacteristic(this.hap.Characteristic.
|
|
95
|
-
.setCharacteristic(this.hap.Characteristic.
|
|
96
|
-
.setCharacteristic(this.hap.Characteristic.
|
|
148
|
+
.setCharacteristic(this.hap.Characteristic.Manufacturer, this.accessory.context.device.brand && this.accessory.context.device.brand !== 'Unknown' ? this.accessory.context.device.brand : 'GE Appliances')
|
|
149
|
+
.setCharacteristic(this.hap.Characteristic.Name, this.accessory.context.device.nickname)
|
|
150
|
+
.setCharacteristic(this.hap.Characteristic.ConfiguredName, this.accessory.context.device.nickname)
|
|
151
|
+
.setCharacteristic(this.hap.Characteristic.Model, this.accessory.context.device.model)
|
|
152
|
+
.setCharacteristic(this.hap.Characteristic.SerialNumber, this.accessory.context.device.serial)
|
|
153
|
+
.setCharacteristic(this.hap.Characteristic.HardwareRevision, this.deviceFirmwareVersion || '1.0.0')
|
|
154
|
+
.setCharacteristic(this.hap.Characteristic.SoftwareRevision, this.deviceFirmwareVersion || '1.0.0')
|
|
155
|
+
.setCharacteristic(this.hap.Characteristic.FirmwareRevision, this.deviceFirmwareVersion || '1.0.0')
|
|
97
156
|
.getCharacteristic(this.hap.Characteristic.FirmwareRevision)
|
|
98
|
-
.updateValue(this.deviceFirmwareVersion);
|
|
99
|
-
this.debugSuccessLog(`deviceFirmwareVersion: ${this.deviceFirmwareVersion}`);
|
|
157
|
+
.updateValue(this.deviceFirmwareVersion || '1.0.0');
|
|
100
158
|
}
|
|
101
159
|
/**
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
* @param Service Service
|
|
105
|
-
* @param Characteristic Characteristic
|
|
106
|
-
* @param CharacteristicValue CharacteristicValue | undefined
|
|
107
|
-
* @param CharacteristicName string
|
|
108
|
-
* @return: void
|
|
109
|
-
*
|
|
160
|
+
* Get the appliance ID for ERD operations
|
|
110
161
|
*/
|
|
111
|
-
|
|
112
|
-
if (
|
|
113
|
-
this.
|
|
162
|
+
getApplianceId() {
|
|
163
|
+
if (this.accessory) {
|
|
164
|
+
return this.accessory.context.device.applianceId;
|
|
114
165
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
166
|
+
// Fallback for Matter mode - should be set via userId path
|
|
167
|
+
return '';
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Get the user ID for ERD operations
|
|
171
|
+
*/
|
|
172
|
+
getUserId() {
|
|
173
|
+
if (this.accessory) {
|
|
174
|
+
return this.accessory.context.userId;
|
|
121
175
|
}
|
|
176
|
+
return this.userId ?? '';
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Get the device display name for logging
|
|
180
|
+
*/
|
|
181
|
+
getDisplayName() {
|
|
182
|
+
if (this.accessory) {
|
|
183
|
+
return this.accessory.displayName;
|
|
184
|
+
}
|
|
185
|
+
const protocol = this.useMatter ? 'Matter' : 'HAP';
|
|
186
|
+
return `[${protocol}] SmartHQ Device`;
|
|
122
187
|
}
|
|
123
188
|
/**
|
|
124
189
|
* Logging for Device
|
|
125
190
|
*/
|
|
126
191
|
async infoLog(...log) {
|
|
127
192
|
if (await this.enablingDeviceLogging()) {
|
|
128
|
-
this.log.info(`${this.
|
|
193
|
+
this.log.info(`${this.getDisplayName()}`, String(...log));
|
|
129
194
|
}
|
|
130
195
|
}
|
|
131
196
|
async successLog(...log) {
|
|
132
197
|
if (await this.enablingDeviceLogging()) {
|
|
133
|
-
this.log.success(`${this.
|
|
198
|
+
this.log.success(`${this.getDisplayName()}`, String(...log));
|
|
134
199
|
}
|
|
135
200
|
}
|
|
136
201
|
async debugSuccessLog(...log) {
|
|
137
202
|
if (await this.enablingDeviceLogging()) {
|
|
138
203
|
if (await this.loggingIsDebug()) {
|
|
139
|
-
this.log.success(`[DEBUG] ${this.
|
|
204
|
+
this.log.success(`[DEBUG] ${this.getDisplayName()}`, String(...log));
|
|
140
205
|
}
|
|
141
206
|
}
|
|
142
207
|
}
|
|
143
208
|
async warnLog(...log) {
|
|
144
209
|
if (await this.enablingDeviceLogging()) {
|
|
145
|
-
this.log.warn(`${this.
|
|
210
|
+
this.log.warn(`${this.getDisplayName()}`, String(...log));
|
|
146
211
|
}
|
|
147
212
|
}
|
|
148
213
|
async debugWarnLog(...log) {
|
|
149
214
|
if (await this.enablingDeviceLogging()) {
|
|
150
215
|
if (await this.loggingIsDebug()) {
|
|
151
|
-
this.log.warn(`[DEBUG] ${this.
|
|
216
|
+
this.log.warn(`[DEBUG] ${this.getDisplayName()}`, String(...log));
|
|
152
217
|
}
|
|
153
218
|
}
|
|
154
219
|
}
|
|
155
220
|
async errorLog(...log) {
|
|
156
221
|
if (await this.enablingDeviceLogging()) {
|
|
157
|
-
this.log.error(`${this.
|
|
222
|
+
this.log.error(`${this.getDisplayName()}`, String(...log));
|
|
158
223
|
}
|
|
159
224
|
}
|
|
160
225
|
async debugErrorLog(...log) {
|
|
161
226
|
if (await this.enablingDeviceLogging()) {
|
|
162
227
|
if (await this.loggingIsDebug()) {
|
|
163
|
-
this.log.error(`[DEBUG] ${this.
|
|
228
|
+
this.log.error(`[DEBUG] ${this.getDisplayName()}`, String(...log));
|
|
164
229
|
}
|
|
165
230
|
}
|
|
166
231
|
}
|
|
167
232
|
async debugLog(...log) {
|
|
168
233
|
if (await this.enablingDeviceLogging()) {
|
|
169
234
|
if (this.deviceLogging === 'debug') {
|
|
170
|
-
this.log.info(`[DEBUG] ${this.
|
|
235
|
+
this.log.info(`[DEBUG] ${this.getDisplayName()}`, String(...log));
|
|
171
236
|
}
|
|
172
237
|
else if (this.deviceLogging === 'debugMode') {
|
|
173
|
-
this.log.debug(`${this.
|
|
238
|
+
this.log.debug(`${this.getDisplayName()}`, String(...log));
|
|
174
239
|
}
|
|
175
240
|
}
|
|
176
241
|
}
|
|
@@ -180,5 +245,266 @@ export class deviceBase {
|
|
|
180
245
|
async enablingDeviceLogging() {
|
|
181
246
|
return this.deviceLogging === 'debugMode' || this.deviceLogging === 'debug' || this.deviceLogging === 'standard';
|
|
182
247
|
}
|
|
248
|
+
/**
|
|
249
|
+
* Check if an ERD code is supported by this appliance
|
|
250
|
+
*/
|
|
251
|
+
async has_erd_code(erd) {
|
|
252
|
+
try {
|
|
253
|
+
const value = await this.readErd(erd);
|
|
254
|
+
return value !== undefined;
|
|
255
|
+
}
|
|
256
|
+
catch {
|
|
257
|
+
return false;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Try to get an ERD value without throwing errors
|
|
262
|
+
*/
|
|
263
|
+
async try_get_erd_value(erd) {
|
|
264
|
+
try {
|
|
265
|
+
return await this.readErd(erd);
|
|
266
|
+
}
|
|
267
|
+
catch {
|
|
268
|
+
return undefined;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Read an ERD (Electronic Refrigerator Descriptor) value from the SmartHQ API
|
|
273
|
+
*/
|
|
274
|
+
async readErd(erd) {
|
|
275
|
+
// Check if we already know this ERD is not supported
|
|
276
|
+
if (this.unsupportedErds.has(erd)) {
|
|
277
|
+
return undefined;
|
|
278
|
+
}
|
|
279
|
+
try {
|
|
280
|
+
await this.debugLog(`Reading ERD ${erd}`);
|
|
281
|
+
const d = await axios
|
|
282
|
+
.get(`/appliance/${this.getApplianceId()}/erd/${erd}`);
|
|
283
|
+
// If API returns undefined/null, return undefined without logging
|
|
284
|
+
if (d.data.value === undefined || d.data.value === null) {
|
|
285
|
+
return undefined;
|
|
286
|
+
}
|
|
287
|
+
// Check if value is an object (like temperature data with fridge/freezer properties)
|
|
288
|
+
// If so, stringify it so it can be parsed as JSON later
|
|
289
|
+
if (typeof d.data.value === 'object') {
|
|
290
|
+
const jsonValue = JSON.stringify(d.data.value);
|
|
291
|
+
await this.debugLog(`ERD ${erd} returned object: ${jsonValue}`);
|
|
292
|
+
return jsonValue;
|
|
293
|
+
}
|
|
294
|
+
await this.debugLog(`ERD ${erd} value: ${d.data.value}`);
|
|
295
|
+
return String(d.data.value);
|
|
296
|
+
}
|
|
297
|
+
catch (error) {
|
|
298
|
+
// 400 means ERD not supported by this appliance model - cache and return undefined
|
|
299
|
+
if (error?.response?.status === 400) {
|
|
300
|
+
this.unsupportedErds.add(erd);
|
|
301
|
+
await this.debugLog(`ERD ${erd} not supported by this appliance (400) - will not retry`);
|
|
302
|
+
return undefined;
|
|
303
|
+
}
|
|
304
|
+
// For other errors, log warning and return undefined
|
|
305
|
+
await this.warnLog(`readErd ${erd} error: ${error?.message ?? error}`);
|
|
306
|
+
return undefined;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Write an ERD (Electronic Refrigerator Descriptor) value to the SmartHQ API
|
|
311
|
+
*/
|
|
312
|
+
async writeErd(erd, value) {
|
|
313
|
+
// Check if we already know this ERD is not supported
|
|
314
|
+
if (this.unsupportedErds.has(erd)) {
|
|
315
|
+
await this.debugLog(`Skipping write to unsupported ERD ${erd}`);
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
try {
|
|
319
|
+
await this.debugLog(`Writing ERD ${erd} with value: ${value}`);
|
|
320
|
+
await axios
|
|
321
|
+
.post(`/appliance/${this.getApplianceId()}/erd/${erd}`, {
|
|
322
|
+
kind: 'appliance#erdListEntry',
|
|
323
|
+
userId: this.getUserId(),
|
|
324
|
+
applianceId: this.getApplianceId(),
|
|
325
|
+
erd,
|
|
326
|
+
value: typeof value === 'boolean' ? (value ? '01' : '00') : value,
|
|
327
|
+
});
|
|
328
|
+
await this.debugLog(`Successfully wrote ERD ${erd}`);
|
|
329
|
+
}
|
|
330
|
+
catch (error) {
|
|
331
|
+
// 400 means ERD not supported or invalid value - cache it
|
|
332
|
+
if (error?.response?.status === 400) {
|
|
333
|
+
this.unsupportedErds.add(erd);
|
|
334
|
+
await this.debugLog(`ERD ${erd} write failed - not supported or invalid value (400) - will not retry`);
|
|
335
|
+
}
|
|
336
|
+
else {
|
|
337
|
+
await this.warnLog(`writeErd ${erd} error: ${error?.message ?? error}`);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Get device context for HAP accessories
|
|
343
|
+
*/
|
|
344
|
+
async getDeviceContext(accessory, device) {
|
|
345
|
+
// Only parse firmware if not already set
|
|
346
|
+
if (!this.deviceFirmwareVersion) {
|
|
347
|
+
const deviceFirmwareVersion = device.firmware ?? this.platform.version ?? '0.0.0';
|
|
348
|
+
this.deviceFirmwareVersion = await this.parseFirmwareVersion(deviceFirmwareVersion);
|
|
349
|
+
}
|
|
350
|
+
accessory.context.device.firmware = this.deviceFirmwareVersion;
|
|
351
|
+
accessory
|
|
352
|
+
.getService(this.hap.Service.AccessoryInformation)
|
|
353
|
+
.setCharacteristic(this.hap.Characteristic.HardwareRevision, this.deviceFirmwareVersion || '1.0.0')
|
|
354
|
+
.setCharacteristic(this.hap.Characteristic.SoftwareRevision, this.deviceFirmwareVersion || '1.0.0')
|
|
355
|
+
.setCharacteristic(this.hap.Characteristic.FirmwareRevision, this.deviceFirmwareVersion || '1.0.0')
|
|
356
|
+
.getCharacteristic(this.hap.Characteristic.FirmwareRevision)
|
|
357
|
+
.updateValue(this.deviceFirmwareVersion || '1.0.0');
|
|
358
|
+
this.debugSuccessLog(`deviceFirmwareVersion: ${this.deviceFirmwareVersion}`);
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Get device firmware version for Matter devices
|
|
362
|
+
*/
|
|
363
|
+
async getDeviceFirmwareVersion(device) {
|
|
364
|
+
const deviceFirmwareVersion = device.firmware ?? this.platform.version ?? '0.0.0';
|
|
365
|
+
this.deviceFirmwareVersion = await this.parseFirmwareVersion(deviceFirmwareVersion);
|
|
366
|
+
await this.debugLog(`deviceFirmwareVersion: ${this.deviceFirmwareVersion}`);
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Update HAP characteristic value and log the change
|
|
370
|
+
*/
|
|
371
|
+
async updateCharacteristic(Service, Characteristic, CharacteristicValue, CharacteristicName) {
|
|
372
|
+
if (!this.accessory) {
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
375
|
+
if (CharacteristicValue === undefined) {
|
|
376
|
+
this.debugLog(`${CharacteristicName}: ${CharacteristicValue}`);
|
|
377
|
+
}
|
|
378
|
+
else {
|
|
379
|
+
Service.updateCharacteristic(Characteristic, CharacteristicValue);
|
|
380
|
+
this.debugLog(`updateCharacteristic ${CharacteristicName}: ${CharacteristicValue}`);
|
|
381
|
+
this.debugWarnLog(`${CharacteristicName} context before: ${this.accessory.context[CharacteristicName]}`);
|
|
382
|
+
this.accessory.context[CharacteristicName] = CharacteristicValue;
|
|
383
|
+
this.debugWarnLog(`${CharacteristicName} context after: ${this.accessory.context[CharacteristicName]}`);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Create Matter accessory configuration
|
|
388
|
+
* Should be overridden by device-specific implementations that support Matter
|
|
389
|
+
*/
|
|
390
|
+
createMatterAccessory() {
|
|
391
|
+
return undefined;
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Get the Matter accessory instance
|
|
395
|
+
*/
|
|
396
|
+
getMatterAccessory() {
|
|
397
|
+
if (!this.matterAccessory && this.useMatter) {
|
|
398
|
+
this.matterAccessory = this.createMatterAccessory();
|
|
399
|
+
}
|
|
400
|
+
return this.matterAccessory;
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Validate Matter API availability and log details for debugging
|
|
404
|
+
*/
|
|
405
|
+
validateMatterAPI() {
|
|
406
|
+
const matter = this.api.matter;
|
|
407
|
+
const matterAPI = matter?._matterAPI;
|
|
408
|
+
// Log once per plugin session
|
|
409
|
+
if (!this.constructor.prototype._matterAPILogged) {
|
|
410
|
+
this.infoLog(`[Matter Debug] Checking Matter API availability...`);
|
|
411
|
+
this.infoLog(`[Matter Debug] matter exists: ${!!matter}`);
|
|
412
|
+
this.infoLog(`[Matter Debug] matter._matterAPI exists: ${!!matterAPI}`);
|
|
413
|
+
if (matter && !matterAPI) {
|
|
414
|
+
const matterKeys = Object.keys(matter);
|
|
415
|
+
this.infoLog(`[Matter Debug] matter keys (${matterKeys.length}): ${matterKeys.join(', ')}`);
|
|
416
|
+
}
|
|
417
|
+
if (matterAPI) {
|
|
418
|
+
const apiKeys = Object.keys(matterAPI);
|
|
419
|
+
this.infoLog(`[Matter Debug] API keys (${apiKeys.length}): ${apiKeys.join(', ')}`);
|
|
420
|
+
this.infoLog(`[Matter Debug] uuid: ${typeof matterAPI.uuid} ${matterAPI.uuid ? '✓' : '✗'}`);
|
|
421
|
+
this.infoLog(`[Matter Debug] deviceTypes: ${typeof matterAPI.deviceTypes} ${matterAPI.deviceTypes ? '✓' : '✗'}`);
|
|
422
|
+
this.infoLog(`[Matter Debug] registerAccessory: ${typeof matterAPI.registerAccessory}`);
|
|
423
|
+
if (matterAPI.deviceTypes && typeof matterAPI.deviceTypes === 'object') {
|
|
424
|
+
const deviceTypeKeys = Object.keys(matterAPI.deviceTypes);
|
|
425
|
+
this.infoLog(`[Matter Debug] Available deviceTypes (${deviceTypeKeys.length}): ${deviceTypeKeys.slice(0, 15).join(', ')}${deviceTypeKeys.length > 15 ? '...' : ''}`);
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
this.constructor.prototype._matterAPILogged = true;
|
|
429
|
+
}
|
|
430
|
+
// Validate required components
|
|
431
|
+
if (!matterAPI) {
|
|
432
|
+
return { valid: false, api: null };
|
|
433
|
+
}
|
|
434
|
+
if (!matterAPI.uuid || !matterAPI.deviceTypes || typeof matterAPI.registerAccessory !== 'function') {
|
|
435
|
+
this.errorLog('[Matter Debug] Validation failed:');
|
|
436
|
+
if (!matterAPI.uuid) {
|
|
437
|
+
this.errorLog(' - uuid is missing');
|
|
438
|
+
}
|
|
439
|
+
if (!matterAPI.deviceTypes) {
|
|
440
|
+
this.errorLog(' - deviceTypes is missing');
|
|
441
|
+
}
|
|
442
|
+
if (typeof matterAPI.registerAccessory !== 'function') {
|
|
443
|
+
this.errorLog(` - registerAccessory is not a function (type: ${typeof matterAPI.registerAccessory})`);
|
|
444
|
+
}
|
|
445
|
+
return { valid: false, api: matterAPI };
|
|
446
|
+
}
|
|
447
|
+
return { valid: true, api: matterAPI };
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Helper to create base Matter accessory info
|
|
451
|
+
*/
|
|
452
|
+
createBaseMatterConfig() {
|
|
453
|
+
const device = this.accessory ? this.accessory.context.device : {};
|
|
454
|
+
const displayName = device.nickname || 'SmartHQ Device';
|
|
455
|
+
const serialNumber = device.applianceId || 'unknown';
|
|
456
|
+
// Type assertion for Matter API (will be properly typed in Homebridge 2.0)
|
|
457
|
+
const matterAPI = this.api.matter?._matterAPI;
|
|
458
|
+
// Debug: Log Matter API structure (first device only to avoid spam)
|
|
459
|
+
if (!this.constructor.prototype._matterAPILogged) {
|
|
460
|
+
this.infoLog(`[Matter Debug] API available: ${!!matterAPI}`);
|
|
461
|
+
if (matterAPI) {
|
|
462
|
+
this.infoLog(`[Matter Debug] API keys: ${Object.keys(matterAPI).join(', ')}`);
|
|
463
|
+
this.infoLog(`[Matter Debug] uuid type: ${typeof matterAPI.uuid} = ${matterAPI.uuid ? 'exists' : 'missing'}`);
|
|
464
|
+
this.infoLog(`[Matter Debug] deviceTypes type: ${typeof matterAPI.deviceTypes} = ${matterAPI.deviceTypes ? 'exists' : 'missing'}`);
|
|
465
|
+
this.infoLog(`[Matter Debug] registerAccessory type: ${typeof matterAPI.registerAccessory}`);
|
|
466
|
+
if (matterAPI.deviceTypes) {
|
|
467
|
+
const deviceTypeKeys = Object.keys(matterAPI.deviceTypes);
|
|
468
|
+
this.infoLog(`[Matter Debug] Available deviceTypes (${deviceTypeKeys.length}): ${deviceTypeKeys.slice(0, 10).join(', ')}${deviceTypeKeys.length > 10 ? '...' : ''}`);
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
this.constructor.prototype._matterAPILogged = true;
|
|
472
|
+
}
|
|
473
|
+
// Validate Matter API is available
|
|
474
|
+
if (!matterAPI || !matterAPI.uuid) {
|
|
475
|
+
throw new Error('Matter API not available or incomplete');
|
|
476
|
+
}
|
|
477
|
+
return {
|
|
478
|
+
UUID: matterAPI.uuid.generate(serialNumber),
|
|
479
|
+
displayName,
|
|
480
|
+
serialNumber,
|
|
481
|
+
manufacturer: device.brand && device.brand !== 'Unknown' ? device.brand : 'GE Appliances',
|
|
482
|
+
model: device.model || 'SmartHQ',
|
|
483
|
+
firmwareRevision: this.deviceFirmwareVersion || '1.0.0',
|
|
484
|
+
hardwareRevision: this.deviceFirmwareVersion || '1.0.0',
|
|
485
|
+
};
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* Update Matter cluster state
|
|
489
|
+
*/
|
|
490
|
+
async updateMatterState(clusterName, attributes) {
|
|
491
|
+
if (!this.matterUuid) {
|
|
492
|
+
await this.debugLog('Cannot update Matter state - UUID not set');
|
|
493
|
+
return;
|
|
494
|
+
}
|
|
495
|
+
try {
|
|
496
|
+
// Type assertion for Matter API (will be properly typed in Homebridge 2.0)
|
|
497
|
+
const matterAPI = this.api.matter?._matterAPI;
|
|
498
|
+
if (!matterAPI || typeof matterAPI.updateAccessoryState !== 'function') {
|
|
499
|
+
await this.debugLog('Matter API not available or incomplete');
|
|
500
|
+
return;
|
|
501
|
+
}
|
|
502
|
+
await matterAPI.updateAccessoryState(this.matterUuid, clusterName, attributes);
|
|
503
|
+
await this.debugLog(`Updated Matter cluster ${clusterName}: ${JSON.stringify(attributes)}`);
|
|
504
|
+
}
|
|
505
|
+
catch (error) {
|
|
506
|
+
await this.errorLog(`Failed to update Matter cluster ${clusterName}: ${error?.message ?? error}`);
|
|
507
|
+
}
|
|
508
|
+
}
|
|
183
509
|
}
|
|
184
510
|
//# sourceMappingURL=device.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/devices/device.ts"],"names":[],"mappings":"AASA,MAAM,OAAgB,UAAU;IAcT;IACT;IACA;IAfI,GAAG,CAAK;IACR,GAAG,CAAS;IACZ,MAAM,CAAwB;IAC3B,GAAG,CAAK;IAE3B,SAAS;IACC,aAAa,CAAS;IACtB,iBAAiB,CAAS;IAC1B,gBAAgB,CAAS;IACzB,cAAc,CAAS;IACvB,qBAAqB,CAAS;IAExC,YACqB,QAAyB,EAClC,SAA4C,EAC5C,MAAqB;QAFZ,aAAQ,GAAR,QAAQ,CAAiB;QAClC,cAAS,GAAT,SAAS,CAAmC;QAC5C,WAAM,GAAN,MAAM,CAAe;QAE/B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAA;QAC5B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;QAClC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;QAEvB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACjC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAExC,4BAA4B;QAC5B,SAAS;aACN,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAE;aAClD,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;aAC/F,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;aAClF,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;aAC5F,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;aAChF,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;aACxF,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC;aACvF,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC;aACvF,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC;aACvF,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC;aAC3D,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAqB;QAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,UAAU,CAAA;QAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAA;QACzJ,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,OAAO,aAAa,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAqB;QAC/C,cAAc;QACd,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,GAAG,CAAA;QACvF,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5H,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,WAAW,iBAAiB,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;QAClF,aAAa;QACb,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,IAAI,CAAC,CAAA;QAClF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAA;QACzH,IAAI,CAAC,eAAe,CAAC,SAAS,UAAU,gBAAgB,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAA;QAChF,WAAW;QACX,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,CAAA;QAC5E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAA;QACnH,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,QAAQ,cAAc,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;IAC3E,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,MAAqB;QACjD,MAAM,YAAY,GAAG,EAAE,CAAA;QACvB,MAAM,UAAU,GAAG;YACjB,SAAS;YACT,aAAa;YACb,YAAY;YACZ,UAAU;YACV,aAAa;SACd,CAAA;QACD,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC/B,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YACnC,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAA4B,EAAE,MAAqB;QACxE,MAAM,qBAAqB,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAA;QACjF,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,EAAE,CAAA;QAChD,IAAI,CAAC,QAAQ,CAAC,qBAAqB,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;QACrE,IAAI,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;YAChD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAClC,MAAM,YAAY,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;YACrC,IAAI,CAAC,qBAAqB,GAAG,YAAY,IAAI,OAAO,CAAA;QACtD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAA;QACzE,CAAC;QACD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAA;QAC9D,SAAS;aACN,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAE;aAClD,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC;aACvF,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC;aACvF,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC;aACvF,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC;aAC3D,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QAC1C,IAAI,CAAC,eAAe,CAAC,0BAA0B,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAA;IAC9E,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,oBAAoB,CAAC,OAAgB,EAAE,cAAmB,EAAE,mBAAoD,EAAE,kBAA0B;QAChJ,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,kBAAkB,KAAK,mBAAmB,EAAE,CAAC,CAAA;QAChE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,oBAAoB,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAA;YACjE,IAAI,CAAC,QAAQ,CAAC,wBAAwB,kBAAkB,KAAK,mBAAmB,EAAE,CAAC,CAAA;YACnF,IAAI,CAAC,YAAY,CAAC,GAAG,kBAAkB,oBAAoB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;YACxG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,mBAAmB,CAAA;YAChE,IAAI,CAAC,YAAY,CAAC,GAAG,kBAAkB,mBAAmB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACzG,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,GAAG,GAAU;QACzB,IAAI,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAG,GAAU;QAC5B,IAAI,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAG,GAAU;QACjC,IAAI,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACvC,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,GAAU;QACzB,IAAI,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAG,GAAU;QAC9B,IAAI,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACvC,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAU;QAC1B,IAAI,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QACjE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAG,GAAU;QAC/B,IAAI,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACvC,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAU;QAC1B,IAAI,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YACxE,CAAC;iBAAM,IAAI,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE,CAAC;gBAC9C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,CAAA;IAC7E,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,IAAI,IAAI,CAAC,aAAa,KAAK,UAAU,CAAA;IAClH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/devices/device.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,17 @@ import { deviceBase } from './device.js';
|
|
|
5
5
|
export declare class SmartHQDishWasher extends deviceBase {
|
|
6
6
|
readonly platform: SmartHQPlatform;
|
|
7
7
|
readonly device: SmartHqContext['device'] & devicesConfig;
|
|
8
|
-
private DishWasher;
|
|
9
8
|
SensorUpdateInProgress: boolean;
|
|
10
9
|
deviceStatus: any;
|
|
10
|
+
private useMatterOverride;
|
|
11
11
|
constructor(platform: SmartHQPlatform, accessory: PlatformAccessory<SmartHqContext>, device: SmartHqContext['device'] & devicesConfig);
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Initialize Matter protocol
|
|
14
|
+
*/
|
|
15
|
+
private initializeMatter;
|
|
16
|
+
/**
|
|
17
|
+
* Initialize HAP (HomeKit) protocol
|
|
18
|
+
*/
|
|
19
|
+
private initializeHAP;
|
|
14
20
|
}
|
|
15
21
|
//# sourceMappingURL=dishwasher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dishwasher.d.ts","sourceRoot":"","sources":["../../src/devices/dishwasher.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"dishwasher.d.ts","sourceRoot":"","sources":["../../src/devices/dishwasher.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAKnE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,qBAAa,iBAAkB,SAAQ,UAAU;IAS7C,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAElC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IAT3D,sBAAsB,EAAG,OAAO,CAAA;IAChC,YAAY,EAAE,GAAG,CAAA;IAGjB,OAAO,CAAC,iBAAiB,CAAiB;gBAG/B,QAAQ,EAAE,eAAe,EAClC,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EACnC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;IA0B3D;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0ExB;;OAEG;IACH,OAAO,CAAC,aAAa;CA8DtB"}
|