homebridge-kasa-python 2.6.13 → 2.7.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/config.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { ErrorObject } from 'ajv';
2
2
  import type { ConfigDevice } from './devices/kasaDevices.js';
3
3
  export declare class ConfigParseError extends Error {
4
- errors?: (ErrorObject<string, Record<string, unknown>, unknown>[] | null) | undefined;
5
- unknownError?: unknown;
6
- constructor(message: string, errors?: (ErrorObject<string, Record<string, unknown>, unknown>[] | null) | undefined, unknownError?: unknown);
4
+ errors?: ErrorObject<string, Record<string, unknown>, unknown>[] | null | undefined;
5
+ unknownError?: unknown | undefined;
6
+ constructor(message: string, errors?: ErrorObject<string, Record<string, unknown>, unknown>[] | null | undefined, unknownError?: unknown | undefined);
7
7
  private formatMessage;
8
8
  }
9
9
  export interface KasaPythonConfigInput {
@@ -1,3 +1,4 @@
1
+ import type { CharacteristicValue } from 'homebridge';
1
2
  import HomekitDevice from './index.js';
2
3
  import KasaPythonPlatform from '../platform.js';
3
4
  import type { KasaDevice, SysInfo } from './kasaDevices.js';
@@ -18,6 +19,7 @@ export default class DeviceManager {
18
19
  discoverDevices(): Promise<Record<string, KasaDevice>>;
19
20
  private processDevice;
20
21
  getSysInfo(device: HomekitDevice): Promise<SysInfo | undefined>;
21
- toggleDevice(device: HomekitDevice, state: boolean, child_num?: number): Promise<void>;
22
+ controlDevice(device: HomekitDevice, feature: string, value: CharacteristicValue, child_num?: number): Promise<void>;
22
23
  private performDeviceAction;
24
+ private logError;
23
25
  }
@@ -61,7 +61,7 @@ export default class DeviceManager {
61
61
  return JSON.parse(configData);
62
62
  }
63
63
  catch (error) {
64
- this.log.error('Error reading config file:', error);
64
+ this.logError('Error reading config file', error);
65
65
  throw error;
66
66
  }
67
67
  }
@@ -70,7 +70,7 @@ export default class DeviceManager {
70
70
  await fs.writeFile(configPath, JSON.stringify(fileConfig, null, 2), 'utf8');
71
71
  }
72
72
  catch (error) {
73
- this.log.error('Error writing config file:', error);
73
+ this.logError('Error writing config file', error);
74
74
  }
75
75
  }
76
76
  async discoverDevices() {
@@ -131,10 +131,12 @@ export default class DeviceManager {
131
131
  Object.keys(devices).forEach(ip => {
132
132
  const deviceInfo = devices[ip].sys_info;
133
133
  const discoveryInfo = devices[ip].disc_info;
134
+ const featureInfo = devices[ip].feature_info;
134
135
  const deviceConfig = devices[ip].device_config;
135
136
  const device = {
136
137
  sys_info: deviceInfo,
137
138
  disc_info: discoveryInfo,
139
+ feature_info: featureInfo,
138
140
  device_config: deviceConfig,
139
141
  };
140
142
  this.processDevice(device, platformConfig);
@@ -153,11 +155,7 @@ export default class DeviceManager {
153
155
  return processedDevices;
154
156
  }
155
157
  catch (error) {
156
- this.log.error(`An error occurred during device discovery: ${axios.isAxiosError(error) ? error.message : 'An unknown error occurred'}`);
157
- if (axios.isAxiosError(error) && error.response) {
158
- this.log.error(`Response status: ${error.response.status}`);
159
- this.log.error(`Response data: ${JSON.stringify(error.response.data)}`);
160
- }
158
+ this.logError('An error occurred during device discovery', error);
161
159
  return {};
162
160
  }
163
161
  }
@@ -177,32 +175,40 @@ export default class DeviceManager {
177
175
  return sysInfo;
178
176
  }
179
177
  catch (error) {
180
- this.log.error(`An error occurred during getSysInfo: ${axios.isAxiosError(error) ? error.message : 'An unknown error occurred'}`);
181
- if (axios.isAxiosError(error) && error.response) {
182
- this.log.error(`Response status: ${error.response.status}`);
183
- this.log.error(`Response data: ${JSON.stringify(error.response.data)}`);
184
- }
178
+ this.logError('An error occurred during getSysInfo', error);
185
179
  }
186
180
  }
187
- async toggleDevice(device, state, child_num) {
188
- const action = state ? 'turn_on' : 'turn_off';
189
- const childText = child_num !== undefined ? ` child ${child_num}` : '';
181
+ async controlDevice(device, feature, value, child_num) {
190
182
  try {
191
- await this.performDeviceAction(device, action, child_num);
183
+ let action;
184
+ switch (feature) {
185
+ case 'brightness':
186
+ case 'color_temp':
187
+ action = `set_${feature}`;
188
+ break;
189
+ case 'hue':
190
+ case 'saturation':
191
+ action = 'set_hsv';
192
+ break;
193
+ case 'state':
194
+ action = value ? 'turn_on' : 'turn_off';
195
+ break;
196
+ default:
197
+ throw new Error(`Unsupported feature: ${feature}`);
198
+ }
199
+ await this.performDeviceAction(device, feature, action, value, child_num);
192
200
  }
193
201
  catch (error) {
194
- this.log.error(`An error occurred turning ${state ? 'on' : 'off'} device ${device.name}${childText}: ${axios.isAxiosError(error) ? error.message : 'An unknown error occurred'}`);
195
- if (axios.isAxiosError(error) && error.response) {
196
- this.log.error(`Response status: ${error.response.status}`);
197
- this.log.error(`Response data: ${JSON.stringify(error.response.data)}`);
198
- }
202
+ this.logError(`An error occurred performing action ${feature} with value ${value} for device ${device.name}`, error, child_num);
199
203
  }
200
204
  }
201
- async performDeviceAction(device, action, childNumber) {
205
+ async performDeviceAction(device, feature, action, value, childNumber) {
202
206
  const url = `${this.apiUrl}/controlDevice`;
203
207
  const data = {
204
208
  device_config: device.deviceConfig,
209
+ feature,
205
210
  action,
211
+ value,
206
212
  ...(childNumber !== undefined && { child_num: childNumber }),
207
213
  };
208
214
  try {
@@ -212,11 +218,17 @@ export default class DeviceManager {
212
218
  }
213
219
  }
214
220
  catch (error) {
215
- this.log.error(`Error performing action: ${axios.isAxiosError(error) ? error.message : 'An unknown error occurred'}`);
216
- if (axios.isAxiosError(error) && error.response) {
217
- this.log.error(`Response status: ${error.response.status}`);
218
- this.log.error(`Response data: ${JSON.stringify(error.response.data)}`);
219
- }
221
+ this.logError('Error performing action', error);
222
+ }
223
+ }
224
+ logError(message, error, child_num) {
225
+ this.log.error(`${message}: ${axios.isAxiosError(error) ? error.message : 'An unknown error occurred'}`);
226
+ if (axios.isAxiosError(error) && error.response) {
227
+ this.log.error(`Response status: ${error.response.status}`);
228
+ this.log.error(`Response data: ${JSON.stringify(error.response.data)}`);
229
+ }
230
+ if (child_num !== undefined) {
231
+ this.log.error(`Child number: ${child_num}`);
220
232
  }
221
233
  }
222
234
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deviceManager.js","sourceRoot":"","sources":["../../src/devices/deviceManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deviceManager.js","sourceRoot":"","sources":["../../src/devices/deviceManager.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,7 @@ import type KasaPythonPlatform from '../platform.js';
3
3
  import type { Plug } from './kasaDevices.js';
4
4
  export default class HomeKitDevicePlug extends HomekitDevice {
5
5
  protected kasaDevice: Plug;
6
- private getSysInfo;
7
- private previousKasaDevice;
8
- private isUpdating;
9
6
  constructor(platform: KasaPythonPlatform, kasaDevice: Plug);
10
7
  private addOutletService;
11
- private addCharacteristic;
12
- private handleOnGet;
13
- private handleOnSet;
14
- private updateState;
15
- private startPolling;
16
8
  identify(): void;
17
9
  }
@@ -1,29 +1,11 @@
1
1
  import HomekitDevice from './index.js';
2
- import { deferAndCombine, getOrAddCharacteristic } from '../utils.js';
3
2
  export default class HomeKitDevicePlug extends HomekitDevice {
4
3
  kasaDevice;
5
- getSysInfo;
6
- previousKasaDevice;
7
- isUpdating = false;
8
4
  constructor(platform, kasaDevice) {
9
5
  super(platform, kasaDevice, 7 /* Categories.OUTLET */, 'OUTLET');
10
6
  this.kasaDevice = kasaDevice;
11
7
  this.log.debug(`Initializing HomeKitDevicePlug for device: ${kasaDevice.sys_info.alias}`);
12
8
  this.addOutletService();
13
- this.getSysInfo = deferAndCombine(async (requestCount) => {
14
- this.log.debug(`Executing deferred getSysInfo count: ${requestCount}`);
15
- if (this.deviceManager) {
16
- this.log.debug('Fetching new SysInfo from device manager');
17
- const newSysInfo = await this.deviceManager.getSysInfo(this);
18
- this.previousKasaDevice = this.kasaDevice;
19
- this.kasaDevice.sys_info = newSysInfo;
20
- this.log.debug('Updated SysInfo from device manager');
21
- return this.kasaDevice;
22
- }
23
- this.log.warn('Device manager is not available');
24
- return undefined;
25
- }, platform.config.waitTimeUpdate);
26
- this.startPolling();
27
9
  }
28
10
  addOutletService() {
29
11
  const { Outlet } = this.platform.Service;
@@ -33,109 +15,6 @@ export default class HomeKitDevicePlug extends HomekitDevice {
33
15
  this.addCharacteristic(outletService, this.platform.Characteristic.OutletInUse);
34
16
  return outletService;
35
17
  }
36
- addCharacteristic(service, characteristicType) {
37
- this.log.debug(`Adding characteristic ${this.platform.getCharacteristicName(characteristicType)} for device: ${this.name}`);
38
- const characteristic = getOrAddCharacteristic(service, characteristicType);
39
- characteristic.onGet(this.handleOnGet.bind(this, characteristicType));
40
- if (characteristicType === this.platform.Characteristic.On) {
41
- characteristic.onSet(this.handleOnSet.bind(this));
42
- }
43
- return service;
44
- }
45
- async handleOnGet(characteristicType) {
46
- this.log.debug(`Handling OnGet for characteristic ${this.platform.getCharacteristicName(characteristicType)} for device: ${this.name}`);
47
- try {
48
- const stateValue = this.kasaDevice.sys_info.state;
49
- const characteristicName = this.platform.getCharacteristicName(characteristicType);
50
- this.log.debug(`Current State of ${characteristicName} is: ${stateValue} for ${this.name}`);
51
- return this.kasaDevice.sys_info.state ?? false;
52
- }
53
- catch (error) {
54
- this.log.error('Error getting device state:', error);
55
- }
56
- return 0;
57
- }
58
- async handleOnSet(value) {
59
- this.log.info(`Setting On to: ${value} for ${this.name}`);
60
- if (typeof value === 'boolean') {
61
- if (this.deviceManager) {
62
- try {
63
- this.isUpdating = true;
64
- this.log.debug(`Toggling device state to ${value} for device: ${this.name}`);
65
- await this.deviceManager.toggleDevice(this, value);
66
- this.kasaDevice.sys_info.state = value;
67
- this.previousKasaDevice = this.kasaDevice;
68
- const service = this.homebridgeAccessory.getService(this.platform.Service.Outlet);
69
- if (service) {
70
- const onCharacteristic = service.getCharacteristic(this.platform.Characteristic.On);
71
- const outletInUseCharacteristic = service.getCharacteristic(this.platform.Characteristic.OutletInUse);
72
- this.updateValue(service, onCharacteristic, value);
73
- this.updateValue(service, outletInUseCharacteristic, value);
74
- }
75
- this.log.debug(`Successfully set On to ${value} for ${this.name}`);
76
- return;
77
- }
78
- catch (error) {
79
- this.logRejection(error);
80
- }
81
- finally {
82
- this.isUpdating = false;
83
- }
84
- }
85
- else {
86
- throw new Error('Device manager is undefined.');
87
- }
88
- }
89
- else {
90
- this.log.warn('setValue: Invalid On:', value);
91
- throw new Error(`setValue: Invalid On: ${value}`);
92
- }
93
- }
94
- async updateState() {
95
- if (this.isUpdating) {
96
- this.log.debug('Update already in progress, skipping updateState');
97
- return;
98
- }
99
- this.isUpdating = true;
100
- try {
101
- this.log.debug('Updating device state');
102
- const device = await this.getSysInfo();
103
- if (device) {
104
- this.log.debug('Device found, updating state');
105
- const service = this.homebridgeAccessory.getService(this.platform.Service.Outlet);
106
- if (service && this.previousKasaDevice) {
107
- const previousRelayState = this.previousKasaDevice.sys_info.state;
108
- if (previousRelayState !== device.sys_info.state) {
109
- this.kasaDevice.sys_info.state = device.sys_info.state;
110
- const onCharacteristic = service.getCharacteristic(this.platform.Characteristic.On);
111
- const outletInUseCharacteristic = service.getCharacteristic(this.platform.Characteristic.OutletInUse);
112
- this.updateValue(service, onCharacteristic, device.sys_info.state ?? false);
113
- this.updateValue(service, outletInUseCharacteristic, device.sys_info.state ?? false);
114
- this.log.debug(`Updated state for device: ${this.name} to ${device.sys_info.state}`);
115
- }
116
- else {
117
- this.log.debug(`State unchanged for device: ${this.name}`);
118
- }
119
- }
120
- else {
121
- this.log.warn(`Service not found for device: ${this.name} or previous Kasa device is undefined`);
122
- }
123
- }
124
- else {
125
- this.log.warn('Device not found, skipping state update');
126
- }
127
- }
128
- catch (error) {
129
- this.log.error('Error updating device state:', error);
130
- }
131
- finally {
132
- this.isUpdating = false;
133
- }
134
- }
135
- startPolling() {
136
- this.log.debug('Starting polling for device state updates');
137
- setInterval(this.updateState.bind(this), this.platform.config.discoveryOptions.pollingInterval);
138
- }
139
18
  identify() {
140
19
  this.log.info('identify');
141
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"homekitPlug.js","sourceRoot":"","sources":["../../src/devices/homekitPlug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"homekitPlug.js","sourceRoot":"","sources":["../../src/devices/homekitPlug.ts"],"names":[],"mappings":"AAGA,OAAO,aAAa,MAAM,YAAY,CAAC;AAIvC,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,aAAa;IAG9C;IAFZ,YACE,QAA4B,EAClB,UAAgB;QAE1B,KAAK,CACH,QAAQ,EACR,UAAU,6BAEV,QAAQ,CACT,CAAC;QAPQ,eAAU,GAAV,UAAU,CAAM;QAQ1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8CAA8C,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEO,gBAAgB;QACtB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAEzC,MAAM,aAAa,GACjB,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8CAA8C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEhF,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -3,15 +3,7 @@ import type KasaPythonPlatform from '../platform.js';
3
3
  import type { Powerstrip } from './kasaDevices.js';
4
4
  export default class HomeKitDevicePowerStrip extends HomekitDevice {
5
5
  protected kasaDevice: Powerstrip;
6
- private getSysInfo;
7
- private previousKasaDevice;
8
- private isUpdating;
9
6
  constructor(platform: KasaPythonPlatform, kasaDevice: Powerstrip);
10
7
  private addOutletService;
11
- private addCharacteristic;
12
- private handleOnGet;
13
- private handleOnSet;
14
- private updateState;
15
- private startPolling;
16
8
  identify(): void;
17
9
  }
@@ -1,10 +1,6 @@
1
1
  import HomekitDevice from './index.js';
2
- import { deferAndCombine, getOrAddCharacteristic } from '../utils.js';
3
2
  export default class HomeKitDevicePowerStrip extends HomekitDevice {
4
3
  kasaDevice;
5
- getSysInfo;
6
- previousKasaDevice;
7
- isUpdating = false;
8
4
  constructor(platform, kasaDevice) {
9
5
  super(platform, kasaDevice, 7 /* Categories.OUTLET */, 'OUTLET');
10
6
  this.kasaDevice = kasaDevice;
@@ -13,20 +9,6 @@ export default class HomeKitDevicePowerStrip extends HomekitDevice {
13
9
  this.log.debug(`Adding outlet service for child device: ${child.alias}`);
14
10
  this.addOutletService(child, index);
15
11
  });
16
- this.getSysInfo = deferAndCombine(async (requestCount) => {
17
- this.log.debug(`Executing deferred getSysInfo count: ${requestCount}`);
18
- if (this.deviceManager) {
19
- this.log.debug('Fetching new SysInfo from device manager');
20
- const newSysInfo = await this.deviceManager.getSysInfo(this);
21
- this.previousKasaDevice = this.kasaDevice;
22
- this.kasaDevice.sys_info = newSysInfo;
23
- this.log.debug('Updated SysInfo from device manager');
24
- return this.kasaDevice;
25
- }
26
- this.log.warn('Device manager is not available');
27
- return undefined;
28
- }, platform.config.waitTimeUpdate);
29
- this.startPolling();
30
12
  }
31
13
  addOutletService(child, index) {
32
14
  const { Outlet } = this.platform.Service;
@@ -37,132 +19,6 @@ export default class HomeKitDevicePowerStrip extends HomekitDevice {
37
19
  this.addCharacteristic(outletService, this.platform.Characteristic.OutletInUse, child);
38
20
  return outletService;
39
21
  }
40
- addCharacteristic(service, characteristicType, child) {
41
- this.log.debug(`Adding characteristic ${this.platform.getCharacteristicName(characteristicType)} for child device: ${child.alias}`);
42
- const characteristic = getOrAddCharacteristic(service, characteristicType);
43
- characteristic.onGet(this.handleOnGet.bind(this, child, characteristicType));
44
- if (characteristicType === this.platform.Characteristic.On) {
45
- characteristic.onSet(this.handleOnSet.bind(this, child));
46
- }
47
- return service;
48
- }
49
- async handleOnGet(child, characteristicType) {
50
- this.log.debug(`Handling OnGet for characteristic ${this.platform.getCharacteristicName(characteristicType)}` +
51
- ` for child device: ${child.alias}`);
52
- try {
53
- const childInfo = this.kasaDevice.sys_info.children?.find((c) => c.id === child.id);
54
- if (!childInfo) {
55
- this.log.warn(`Child with id ${child.id} not found`);
56
- return false;
57
- }
58
- const stateValue = childInfo.state;
59
- const characteristicName = this.platform.getCharacteristicName(characteristicType);
60
- this.log.debug(`Current State of ${characteristicName} is: ${stateValue} for ${child.alias}`);
61
- return childInfo.state;
62
- }
63
- catch (error) {
64
- this.log.error('Error getting device state:', error);
65
- }
66
- return 0;
67
- }
68
- async handleOnSet(child, value) {
69
- this.log.info(`Setting On to: ${value} for ${child.alias}`);
70
- if (typeof value === 'boolean') {
71
- if (this.deviceManager) {
72
- const childNumber = parseInt(child.id.slice(-1), 10);
73
- try {
74
- this.isUpdating = true;
75
- this.log.debug(`Toggling device state to ${value} for child number: ${childNumber}`);
76
- await this.deviceManager.toggleDevice(this, value, childNumber);
77
- const kasaChild = this.kasaDevice.sys_info.children?.find((c) => c.id === child.id);
78
- if (kasaChild) {
79
- kasaChild.state = value;
80
- }
81
- this.previousKasaDevice = this.kasaDevice;
82
- const service = this.homebridgeAccessory.getServiceById(this.platform.Service.Outlet, `outlet-${childNumber + 1}`);
83
- if (service) {
84
- const onCharacteristic = service.getCharacteristic(this.platform.Characteristic.On);
85
- const outletInUseCharacteristic = service.getCharacteristic(this.platform.Characteristic.OutletInUse);
86
- this.updateValue(service, onCharacteristic, value);
87
- this.updateValue(service, outletInUseCharacteristic, value);
88
- }
89
- this.log.debug(`Successfully set On to ${value} for ${child.alias}`);
90
- return;
91
- }
92
- catch (error) {
93
- this.logRejection(error);
94
- }
95
- finally {
96
- this.isUpdating = false;
97
- }
98
- }
99
- else {
100
- throw new Error('Device manager is undefined.');
101
- }
102
- }
103
- else {
104
- this.log.warn('setValue: Invalid On:', value);
105
- throw new Error(`setValue: Invalid On: ${value}`);
106
- }
107
- }
108
- async updateState() {
109
- if (this.isUpdating) {
110
- this.log.debug('Update already in progress, skipping updateState');
111
- return;
112
- }
113
- this.isUpdating = true;
114
- try {
115
- this.log.debug('Updating device state');
116
- const device = await this.getSysInfo();
117
- if (device) {
118
- this.log.debug('Device found, updating child devices');
119
- device.sys_info.children?.forEach(async (child) => {
120
- const childNumber = parseInt(child.id.slice(-1), 10);
121
- this.log.debug(`Processing child device: ${child.alias} with child number: ${childNumber}`);
122
- const service = this.homebridgeAccessory.getServiceById(this.platform.Service.Outlet, `outlet-${childNumber + 1}`);
123
- if (service && this.previousKasaDevice) {
124
- this.log.debug(`Service found for child device: ${child.alias}`);
125
- const previousKasaChild = this.previousKasaDevice.sys_info.children?.find(c => c.id === child.id);
126
- const kasaChild = this.kasaDevice.sys_info.children?.find(c => c.id === child.id);
127
- if (previousKasaChild && kasaChild) {
128
- this.log.debug(`Previous state: ${previousKasaChild.state}, Current state: ${child.state} for child device: ${child.alias}`);
129
- if (previousKasaChild.state !== child.state) {
130
- kasaChild.state = child.state;
131
- const onCharacteristic = service.getCharacteristic(this.platform.Characteristic.On);
132
- const outletInUseCharacteristic = service.getCharacteristic(this.platform.Characteristic.OutletInUse);
133
- this.updateValue(service, onCharacteristic, child.state, child.alias);
134
- this.updateValue(service, outletInUseCharacteristic, child.state, child.alias);
135
- this.log.debug(`Updated state for child device: ${child.alias} to ${child.state}`);
136
- }
137
- else {
138
- this.log.debug(`State unchanged for child device: ${child.alias}`);
139
- }
140
- }
141
- else {
142
- this.log.warn(`Child device: ${child.alias} not found in previous or current Kasa device`);
143
- }
144
- }
145
- else {
146
- this.log.warn(`Service not found for child device: ${child.alias} or previous Kasa device is undefined`);
147
- }
148
- });
149
- }
150
- else {
151
- this.log.warn('Device not found, skipping child device updates');
152
- }
153
- this.log.debug('Device state updated successfully');
154
- }
155
- catch (error) {
156
- this.log.error('Error updating device state:', error);
157
- }
158
- finally {
159
- this.isUpdating = false;
160
- }
161
- }
162
- startPolling() {
163
- this.log.debug('Starting polling for device state updates');
164
- setInterval(this.updateState.bind(this), this.platform.config.discoveryOptions.pollingInterval);
165
- }
166
22
  identify() {
167
23
  this.log.info('identify');
168
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"homekitPowerstrip.js","sourceRoot":"","sources":["../../src/devices/homekitPowerstrip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"homekitPowerstrip.js","sourceRoot":"","sources":["../../src/devices/homekitPowerstrip.ts"],"names":[],"mappings":"AAGA,OAAO,aAAa,MAAM,YAAY,CAAC;AAIvC,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,aAAa;IAGpD;IAFZ,YACE,QAA4B,EAClB,UAAsB;QAEhC,KAAK,CACH,QAAQ,EACR,UAAU,6BAEV,QAAQ,CACT,CAAC;QAPQ,eAAU,GAAV,UAAU,CAAY;QAQhC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oDAAoD,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAkB,EAAE,KAAa,EAAE,EAAE;YAC/E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,KAAkB,EAAE,KAAa;QACxD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzC,MAAM,aAAa,GACjB,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,KAAK,GAAG,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QAE9D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8CAA8C,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9E,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAEvF,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -3,15 +3,8 @@ import type KasaPythonPlatform from '../platform.js';
3
3
  import type { Switch } from './kasaDevices.js';
4
4
  export default class HomeKitDeviceSwitch extends HomekitDevice {
5
5
  protected kasaDevice: Switch;
6
- private getSysInfo;
7
- private previousKasaDevice;
8
- private isUpdating;
6
+ private hasBrightness;
9
7
  constructor(platform: KasaPythonPlatform, kasaDevice: Switch);
10
8
  private addSwitchService;
11
- private addCharacteristic;
12
- private handleOnGet;
13
- private handleOnSet;
14
- private updateState;
15
- private startPolling;
16
9
  identify(): void;
17
10
  }