homebridge-kasa-python 2.7.0-beta.14 → 2.7.0-beta.15

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.
@@ -75,25 +75,31 @@ export default class HomeKitDeviceLightBulb extends HomeKitDevice {
75
75
  return characteristic;
76
76
  }
77
77
  async handleOnGet(service, characteristicType, characteristicName) {
78
- try {
79
- if (this.kasaDevice.offline || this.platform.isShuttingDown) {
80
- this.log.warn(`Device is offline or platform is shutting down, cannot set value for characteristic ${characteristicName}`);
81
- return this.getDefaultValue(characteristicType);
78
+ if (this.kasaDevice.offline || this.platform.isShuttingDown) {
79
+ this.log.warn(`Device is offline or platform is shutting down, cannot get value for characteristic ${characteristicName}`);
80
+ return this.getDefaultValue(characteristicType);
81
+ }
82
+ const task = (async () => {
83
+ try {
84
+ let characteristicValue = service.getCharacteristic(characteristicType).value;
85
+ if (!characteristicValue) {
86
+ characteristicValue = this.getInitialValue(characteristicType);
87
+ service.getCharacteristic(characteristicType).updateValue(characteristicValue);
88
+ }
89
+ this.log.debug(`Got value for characteristic ${characteristicName}: ${characteristicValue}`);
90
+ return characteristicValue ?? this.getDefaultValue(characteristicType);
82
91
  }
83
- let characteristicValue = service.getCharacteristic(characteristicType).value;
84
- if (!characteristicValue) {
85
- characteristicValue = this.getInitialValue(characteristicType);
86
- service.getCharacteristic(characteristicType).updateValue(characteristicValue);
92
+ catch (error) {
93
+ this.log.error(`Error getting current value for characteristic ${characteristicName} for device: ${this.name}:`, error);
94
+ this.kasaDevice.offline = true;
95
+ this.stopPolling();
87
96
  }
88
- this.log.debug(`Got value for characteristic ${characteristicName}: ${characteristicValue}`);
89
- return characteristicValue ?? this.getDefaultValue(characteristicType);
90
- }
91
- catch (error) {
92
- this.log.error(`Error getting current value for characteristic ${characteristicName} for device: ${this.name}:`, error);
93
- this.kasaDevice.offline = true;
94
- this.stopPolling();
95
- }
96
- return this.getDefaultValue(characteristicType);
97
+ return this.getDefaultValue(characteristicType);
98
+ })();
99
+ this.platform.ongoingTasks.push(task);
100
+ const result = await task;
101
+ this.platform.ongoingTasks = this.platform.ongoingTasks.filter(t => t !== task);
102
+ return result;
97
103
  }
98
104
  getInitialValue(characteristicType) {
99
105
  if (characteristicType === this.platform.Characteristic.On) {
@@ -136,40 +142,45 @@ export default class HomeKitDeviceLightBulb extends HomeKitDevice {
136
142
  new Promise((resolve) => this.updateEmitter.once('periodicDeviceDiscoveryComplete', resolve)),
137
143
  ]);
138
144
  }
139
- if (this.deviceManager) {
140
- try {
141
- this.isUpdating = true;
142
- this.log.debug(`Setting value for characteristic ${characteristicName} to ${value}`);
143
- const characteristicMap = {
144
- Brightness: 'brightness',
145
- On: 'state',
146
- ColorTemperature: 'color_temp',
147
- Hue: 'hue',
148
- Saturation: 'saturation',
149
- };
150
- const characteristicKey = characteristicMap[characteristicName ?? ''];
151
- if (!characteristicKey) {
152
- throw new Error(`Characteristic key not found for ${characteristicName}`);
145
+ const task = (async () => {
146
+ if (this.deviceManager) {
147
+ try {
148
+ this.isUpdating = true;
149
+ this.log.debug(`Setting value for characteristic ${characteristicName} to ${value}`);
150
+ const characteristicMap = {
151
+ Brightness: 'brightness',
152
+ On: 'state',
153
+ ColorTemperature: 'color_temp',
154
+ Hue: 'hue',
155
+ Saturation: 'saturation',
156
+ };
157
+ const characteristicKey = characteristicMap[characteristicName ?? ''];
158
+ if (!characteristicKey) {
159
+ throw new Error(`Characteristic key not found for ${characteristicName}`);
160
+ }
161
+ await this.deviceManager.controlDevice(this.deviceConfig, characteristicKey, value);
162
+ this.kasaDevice.sys_info[characteristicKey] = value;
163
+ this.updateValue(service, service.getCharacteristic(characteristicType), this.name, value);
164
+ this.previousKasaDevice = JSON.parse(JSON.stringify(this.kasaDevice));
165
+ this.log.debug(`Set value for characteristic ${characteristicName} to ${value} successfully`);
166
+ }
167
+ catch (error) {
168
+ this.log.error(`Error setting current value for characteristic ${characteristicName} for device: ${this.name}:`, error);
169
+ this.kasaDevice.offline = true;
170
+ this.stopPolling();
171
+ }
172
+ finally {
173
+ this.isUpdating = false;
174
+ this.updateEmitter.emit('updateComplete');
153
175
  }
154
- await this.deviceManager.controlDevice(this.deviceConfig, characteristicKey, value);
155
- this.kasaDevice.sys_info[characteristicKey] = value;
156
- this.updateValue(service, service.getCharacteristic(characteristicType), this.name, value);
157
- this.previousKasaDevice = JSON.parse(JSON.stringify(this.kasaDevice));
158
- this.log.debug(`Set value for characteristic ${characteristicName} to ${value} successfully`);
159
- }
160
- catch (error) {
161
- this.log.error(`Error setting current value for characteristic ${characteristicName} for device: ${this.name}:`, error);
162
- this.kasaDevice.offline = true;
163
- this.stopPolling();
164
176
  }
165
- finally {
166
- this.isUpdating = false;
167
- this.updateEmitter.emit('updateComplete');
177
+ else {
178
+ throw new Error('Device manager is undefined.');
168
179
  }
169
- }
170
- else {
171
- throw new Error('Device manager is undefined.');
172
- }
180
+ })();
181
+ this.platform.ongoingTasks.push(task);
182
+ await task;
183
+ this.platform.ongoingTasks = this.platform.ongoingTasks.filter(t => t !== task);
173
184
  }
174
185
  async updateState() {
175
186
  if (this.kasaDevice.offline || this.platform.isShuttingDown) {
@@ -1 +1 @@
1
- {"version":3,"file":"homekitLightBulb.js","sourceRoot":"","sources":["../../src/devices/homekitLightBulb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"homekitLightBulb.js","sourceRoot":"","sources":["../../src/devices/homekitLightBulb.ts"],"names":[],"mappings":"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"}
@@ -59,25 +59,31 @@ export default class HomeKitDevicePlug extends HomeKitDevice {
59
59
  return service;
60
60
  }
61
61
  async handleOnGet(service, characteristicType, characteristicName) {
62
- try {
63
- if (this.kasaDevice.offline || this.platform.isShuttingDown) {
64
- this.log.warn(`Device is offline or platform is shutting down, cannot set value for characteristic ${characteristicName}`);
65
- return false;
62
+ if (this.kasaDevice.offline || this.platform.isShuttingDown) {
63
+ this.log.warn(`Device is offline or platform is shutting down, cannot get value for characteristic ${characteristicName}`);
64
+ return false;
65
+ }
66
+ const task = (async () => {
67
+ try {
68
+ let characteristicValue = service.getCharacteristic(characteristicType).value;
69
+ if (!characteristicValue) {
70
+ characteristicValue = this.getInitialValue(characteristicType);
71
+ service.getCharacteristic(characteristicType).updateValue(characteristicValue);
72
+ }
73
+ this.log.debug(`Got value for characteristic ${characteristicName}: ${characteristicValue}`);
74
+ return characteristicValue ?? false;
66
75
  }
67
- let characteristicValue = service.getCharacteristic(characteristicType).value;
68
- if (!characteristicValue) {
69
- characteristicValue = this.getInitialValue(characteristicType);
70
- service.getCharacteristic(characteristicType).updateValue(characteristicValue);
76
+ catch (error) {
77
+ this.log.error(`Error getting current value for characteristic ${characteristicName} for device: ${this.name}:`, error);
78
+ this.kasaDevice.offline = true;
79
+ this.stopPolling();
71
80
  }
72
- this.log.debug(`Got value for characteristic ${characteristicName}: ${characteristicValue}`);
73
- return characteristicValue ?? false;
74
- }
75
- catch (error) {
76
- this.log.error(`Error getting current value for characteristic ${characteristicName} for device: ${this.name}:`, error);
77
- this.kasaDevice.offline = true;
78
- this.stopPolling();
79
- }
80
- return false;
81
+ return false;
82
+ })();
83
+ this.platform.ongoingTasks.push(task);
84
+ const result = await task;
85
+ this.platform.ongoingTasks = this.platform.ongoingTasks.filter(t => t !== task);
86
+ return result;
81
87
  }
82
88
  getInitialValue(characteristicType) {
83
89
  if (characteristicType === this.platform.Characteristic.On || characteristicType === this.platform.Characteristic.OutletInUse) {
@@ -96,37 +102,42 @@ export default class HomeKitDevicePlug extends HomeKitDevice {
96
102
  new Promise((resolve) => this.updateEmitter.once('periodicDeviceDiscoveryComplete', resolve)),
97
103
  ]);
98
104
  }
99
- if (this.deviceManager) {
100
- try {
101
- this.isUpdating = true;
102
- this.log.debug(`Setting value for characteristic ${characteristicName} to ${value}`);
103
- const characteristicMap = {
104
- On: 'state',
105
- };
106
- const characteristicKey = characteristicMap[characteristicName ?? ''];
107
- if (!characteristicKey) {
108
- throw new Error(`Characteristic key not found for ${characteristicName}`);
105
+ const task = (async () => {
106
+ if (this.deviceManager) {
107
+ try {
108
+ this.isUpdating = true;
109
+ this.log.debug(`Setting value for characteristic ${characteristicName} to ${value}`);
110
+ const characteristicMap = {
111
+ On: 'state',
112
+ };
113
+ const characteristicKey = characteristicMap[characteristicName ?? ''];
114
+ if (!characteristicKey) {
115
+ throw new Error(`Characteristic key not found for ${characteristicName}`);
116
+ }
117
+ await this.deviceManager.controlDevice(this.deviceConfig, characteristicKey, value);
118
+ this.kasaDevice.sys_info[characteristicKey] = value;
119
+ this.updateValue(service, service.getCharacteristic(characteristicType), this.name, value);
120
+ this.updateValue(service, service.getCharacteristic(this.platform.Characteristic.OutletInUse), this.name, value);
121
+ this.previousKasaDevice = JSON.parse(JSON.stringify(this.kasaDevice));
122
+ this.log.debug(`Set value for characteristic ${characteristicName} to ${value} successfully`);
123
+ }
124
+ catch (error) {
125
+ this.log.error(`Error setting current value for characteristic ${characteristicName} for device: ${this.name}:`, error);
126
+ this.kasaDevice.offline = true;
127
+ this.stopPolling();
128
+ }
129
+ finally {
130
+ this.isUpdating = false;
131
+ this.updateEmitter.emit('updateComplete');
109
132
  }
110
- await this.deviceManager.controlDevice(this.deviceConfig, characteristicKey, value);
111
- this.kasaDevice.sys_info[characteristicKey] = value;
112
- this.updateValue(service, service.getCharacteristic(characteristicType), this.name, value);
113
- this.updateValue(service, service.getCharacteristic(this.platform.Characteristic.OutletInUse), this.name, value);
114
- this.previousKasaDevice = JSON.parse(JSON.stringify(this.kasaDevice));
115
- this.log.debug(`Set value for characteristic ${characteristicName} to ${value} successfully`);
116
- }
117
- catch (error) {
118
- this.log.error(`Error setting current value for characteristic ${characteristicName} for device: ${this.name}:`, error);
119
- this.kasaDevice.offline = true;
120
- this.stopPolling();
121
133
  }
122
- finally {
123
- this.isUpdating = false;
124
- this.updateEmitter.emit('updateComplete');
134
+ else {
135
+ throw new Error('Device manager is undefined.');
125
136
  }
126
- }
127
- else {
128
- throw new Error('Device manager is undefined.');
129
- }
137
+ })();
138
+ this.platform.ongoingTasks.push(task);
139
+ await task;
140
+ this.platform.ongoingTasks = this.platform.ongoingTasks.filter(t => t !== task);
130
141
  }
131
142
  async updateState() {
132
143
  if (this.kasaDevice.offline || this.platform.isShuttingDown) {
@@ -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,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,aAAa,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,aAAa;IASjD;IARF,UAAU,GAAY,KAAK,CAAC;IAC3B,kBAAkB,CAAyB;IAC3C,UAAU,CAAsB;IAChC,eAAe,CAA6B;IAC5C,aAAa,GAAiB,IAAI,YAAY,EAAE,CAAC;IAEzD,YACE,QAA4B,EACrB,UAAgB;QAEvB,KAAK,CACH,QAAQ,EACR,UAAU,6BAEV,QAAQ,CACT,CAAC;QAPK,eAAU,GAAV,UAAU,CAAM;QAQvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8CAA8C,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,KAAK,IAAI,EAAE;YAC3C,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACtE,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAY,CAAC;gBAC7F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAEnD,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACjF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,YAAY;QAClB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzC,MAAM,OAAO,GACX,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,oBAAoB,CAAC,OAAgB;QAC3C,MAAM,eAAe,GAAG;YACtB;gBACE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBACrC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;aAC3E;YACD;gBACE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW;gBAC9C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC;aACpF;SACF,CAAC,MAAM,CAAC,OAAO,CAA6E,CAAC;QAE9F,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YACzC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAC5B,OAAgB,EAChB,kBAAsD,EACtD,kBAAsC;QAEtC,MAAM,cAAc,GAAmB,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC;YAClF,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAChD,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACnG,IAAI,kBAAkB,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;YAC3D,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACrG,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAAgB,EAChB,kBAAsD,EACtD,kBAAsC;QAEtC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uFAAuF,kBAAkB,EAAE,CAAC,CAAC;YAC3H,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;YACvB,IAAI,CAAC;gBACH,IAAI,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC;gBAC9E,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACzB,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;oBAC/D,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;gBACjF,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,kBAAkB,KAAK,mBAAmB,EAAE,CAAC,CAAC;gBAC7F,OAAO,mBAAmB,IAAI,KAAK,CAAC;YACtC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kDAAkD,kBAAkB,gBAAgB,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;gBACxH,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,eAAe,CAAC,kBAAsD;QAC5E,IAAI,kBAAkB,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,kBAAkB,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YAC9H,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC;QACjD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAAgB,EAChB,kBAAsD,EACtD,kBAAsC,EACtC,KAA0B;QAE1B,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uFAAuF,kBAAkB,EAAE,CAAC,CAAC;YAC3H,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC;YAC/D,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;gBAClF,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;aACpG,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;YACvB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,kBAAkB,OAAO,KAAK,EAAE,CAAC,CAAC;oBAErF,MAAM,iBAAiB,GAA8B;wBACnD,EAAE,EAAE,OAAO;qBACZ,CAAC;oBAEF,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;oBACtE,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,kBAAkB,EAAE,CAAC,CAAC;oBAC5E,CAAC;oBAED,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;oBACnF,IAAI,CAAC,UAAU,CAAC,QAA2D,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC;oBAExG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC3F,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAEjH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBACtE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,kBAAkB,OAAO,KAAK,eAAe,CAAC,CAAC;gBAChG,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kDAAkD,kBAAkB,gBAAgB,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;oBACxH,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC;QACX,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAClF,CAAC;IAES,KAAK,CAAC,WAAW;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5D,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC;YAC/D,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;gBAClF,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;aACpG,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;YACvB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClF,IAAI,OAAO,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACvC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;oBAEnD,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;wBAC9B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;wBACjH,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;wBAC1H,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,IAAI,uCAAuC,CAAC,CAAC;gBACnG,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC;QACX,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAClF,CAAC;IAEM,YAAY;QACjB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5D,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC5D,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC5C,CAAC;gBACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC;IAEM,WAAW;QAChB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -62,25 +62,31 @@ export default class HomeKitDevicePowerStrip extends HomeKitDevice {
62
62
  return service;
63
63
  }
64
64
  async handleOnGet(service, characteristicType, characteristicName, child) {
65
- try {
66
- if (this.kasaDevice.offline || this.platform.isShuttingDown) {
67
- this.log.warn(`Device is offline or platform is shutting down, cannot set value for characteristic ${characteristicName}`);
68
- return false;
65
+ if (this.kasaDevice.offline || this.platform.isShuttingDown) {
66
+ this.log.warn(`Device is offline or platform is shutting down, cannot get value for characteristic ${characteristicName}`);
67
+ return false;
68
+ }
69
+ const task = (async () => {
70
+ try {
71
+ let characteristicValue = service.getCharacteristic(characteristicType).value;
72
+ if (!characteristicValue) {
73
+ characteristicValue = this.getInitialValue(characteristicType, child);
74
+ service.getCharacteristic(characteristicType).updateValue(characteristicValue);
75
+ }
76
+ this.log.debug(`Got value for characteristic ${characteristicName}: ${characteristicValue}`);
77
+ return characteristicValue ?? false;
69
78
  }
70
- let characteristicValue = service.getCharacteristic(characteristicType).value;
71
- if (!characteristicValue) {
72
- characteristicValue = this.getInitialValue(characteristicType, child);
73
- service.getCharacteristic(characteristicType).updateValue(characteristicValue);
79
+ catch (error) {
80
+ this.log.error(`Error getting current value for characteristic ${characteristicName} for device: ${child.alias}:`, error);
81
+ this.kasaDevice.offline = true;
82
+ this.stopPolling();
74
83
  }
75
- this.log.debug(`Got value for characteristic ${characteristicName}: ${characteristicValue}`);
76
- return characteristicValue ?? false;
77
- }
78
- catch (error) {
79
- this.log.error(`Error getting current value for characteristic ${characteristicName} for device: ${child.alias}:`, error);
80
- this.kasaDevice.offline = true;
81
- this.stopPolling();
82
- }
83
- return false;
84
+ return false;
85
+ })();
86
+ this.platform.ongoingTasks.push(task);
87
+ const result = await task;
88
+ this.platform.ongoingTasks = this.platform.ongoingTasks.filter(t => t !== task);
89
+ return result;
84
90
  }
85
91
  getInitialValue(characteristicType, child) {
86
92
  if (characteristicType === this.platform.Characteristic.On || characteristicType === this.platform.Characteristic.OutletInUse) {
@@ -99,42 +105,47 @@ export default class HomeKitDevicePowerStrip extends HomeKitDevice {
99
105
  new Promise((resolve) => this.updateEmitter.once('periodicDeviceDiscoveryComplete', resolve)),
100
106
  ]);
101
107
  }
102
- if (this.deviceManager) {
103
- try {
104
- this.isUpdating = true;
105
- this.log.debug(`Setting value for characteristic ${characteristicName} to ${value}`);
106
- const characteristicMap = {
107
- On: 'state',
108
- };
109
- const characteristicKey = characteristicMap[characteristicName ?? ''];
110
- if (!characteristicKey) {
111
- throw new Error(`Characteristic key not found for ${characteristicName}`);
108
+ const task = (async () => {
109
+ if (this.deviceManager) {
110
+ try {
111
+ this.isUpdating = true;
112
+ this.log.debug(`Setting value for characteristic ${characteristicName} to ${value}`);
113
+ const characteristicMap = {
114
+ On: 'state',
115
+ };
116
+ const characteristicKey = characteristicMap[characteristicName ?? ''];
117
+ if (!characteristicKey) {
118
+ throw new Error(`Characteristic key not found for ${characteristicName}`);
119
+ }
120
+ const childNumber = parseInt(child.id.slice(-1), 10);
121
+ await this.deviceManager.controlDevice(this.deviceConfig, characteristicKey, value, childNumber);
122
+ child[characteristicKey] = value;
123
+ const childIndex = this.kasaDevice.sys_info.children?.findIndex(c => c.id === child.id);
124
+ if (childIndex !== undefined && childIndex !== -1) {
125
+ this.kasaDevice.sys_info.children[childIndex] = { ...child };
126
+ }
127
+ this.updateValue(service, service.getCharacteristic(characteristicType), child.alias, value);
128
+ this.updateValue(service, service.getCharacteristic(this.platform.Characteristic.OutletInUse), child.alias, value);
129
+ this.previousKasaDevice = JSON.parse(JSON.stringify(this.kasaDevice));
130
+ this.log.debug(`Set value for characteristic ${characteristicName} to ${value} successfully`);
112
131
  }
113
- const childNumber = parseInt(child.id.slice(-1), 10);
114
- await this.deviceManager.controlDevice(this.deviceConfig, characteristicKey, value, childNumber);
115
- child[characteristicKey] = value;
116
- const childIndex = this.kasaDevice.sys_info.children?.findIndex(c => c.id === child.id);
117
- if (childIndex !== undefined && childIndex !== -1) {
118
- this.kasaDevice.sys_info.children[childIndex] = { ...child };
132
+ catch (error) {
133
+ this.log.error(`Error setting current value for characteristic ${characteristicName} for device: ${child.alias}:`, error);
134
+ this.kasaDevice.offline = true;
135
+ this.stopPolling();
136
+ }
137
+ finally {
138
+ this.isUpdating = false;
139
+ this.updateEmitter.emit('updateComplete');
119
140
  }
120
- this.updateValue(service, service.getCharacteristic(characteristicType), child.alias, value);
121
- this.updateValue(service, service.getCharacteristic(this.platform.Characteristic.OutletInUse), child.alias, value);
122
- this.previousKasaDevice = JSON.parse(JSON.stringify(this.kasaDevice));
123
- this.log.debug(`Set value for characteristic ${characteristicName} to ${value} successfully`);
124
- }
125
- catch (error) {
126
- this.log.error(`Error setting current value for characteristic ${characteristicName} for device: ${child.alias}:`, error);
127
- this.kasaDevice.offline = true;
128
- this.stopPolling();
129
141
  }
130
- finally {
131
- this.isUpdating = false;
132
- this.updateEmitter.emit('updateComplete');
142
+ else {
143
+ throw new Error('Device manager is undefined.');
133
144
  }
134
- }
135
- else {
136
- throw new Error('Device manager is undefined.');
137
- }
145
+ })();
146
+ this.platform.ongoingTasks.push(task);
147
+ await task;
148
+ this.platform.ongoingTasks = this.platform.ongoingTasks.filter(t => t !== task);
138
149
  }
139
150
  async updateState() {
140
151
  if (this.kasaDevice.offline || this.platform.isShuttingDown) {
@@ -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":"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"}
@@ -60,25 +60,31 @@ export default class HomeKitDeviceSwitch extends HomeKitDevice {
60
60
  return characteristic;
61
61
  }
62
62
  async handleOnGet(service, characteristicType, characteristicName) {
63
- try {
64
- if (this.kasaDevice.offline || this.platform.isShuttingDown) {
65
- this.log.warn(`Device is offline or platform is shutting down, cannot set value for characteristic ${characteristicName}`);
66
- return this.getDefaultValue(characteristicType);
63
+ if (this.kasaDevice.offline || this.platform.isShuttingDown) {
64
+ this.log.warn(`Device is offline or platform is shutting down, cannot get value for characteristic ${characteristicName}`);
65
+ return this.getDefaultValue(characteristicType);
66
+ }
67
+ const task = (async () => {
68
+ try {
69
+ let characteristicValue = service.getCharacteristic(characteristicType).value;
70
+ if (!characteristicValue) {
71
+ characteristicValue = this.getInitialValue(characteristicType);
72
+ service.getCharacteristic(characteristicType).updateValue(characteristicValue);
73
+ }
74
+ this.log.debug(`Got value for characteristic ${characteristicName}: ${characteristicValue}`);
75
+ return characteristicValue ?? this.getDefaultValue(characteristicType);
67
76
  }
68
- let characteristicValue = service.getCharacteristic(characteristicType).value;
69
- if (!characteristicValue) {
70
- characteristicValue = this.getInitialValue(characteristicType);
71
- service.getCharacteristic(characteristicType).updateValue(characteristicValue);
77
+ catch (error) {
78
+ this.log.error(`Error getting current value for characteristic ${characteristicName} for device: ${this.name}:`, error);
79
+ this.kasaDevice.offline = true;
80
+ this.stopPolling();
72
81
  }
73
- this.log.debug(`Got value for characteristic ${characteristicName}: ${characteristicValue}`);
74
- return characteristicValue ?? this.getDefaultValue(characteristicType);
75
- }
76
- catch (error) {
77
- this.log.error(`Error getting current value for characteristic ${characteristicName} for device: ${this.name}:`, error);
78
- this.kasaDevice.offline = true;
79
- this.stopPolling();
80
- }
81
- return this.getDefaultValue(characteristicType);
82
+ return this.getDefaultValue(characteristicType);
83
+ })();
84
+ this.platform.ongoingTasks.push(task);
85
+ const result = await task;
86
+ this.platform.ongoingTasks = this.platform.ongoingTasks.filter(t => t !== task);
87
+ return result;
82
88
  }
83
89
  getInitialValue(characteristicType) {
84
90
  if (characteristicType === this.platform.Characteristic.On) {
@@ -106,37 +112,42 @@ export default class HomeKitDeviceSwitch extends HomeKitDevice {
106
112
  new Promise((resolve) => this.updateEmitter.once('periodicDeviceDiscoveryComplete', resolve)),
107
113
  ]);
108
114
  }
109
- if (this.deviceManager) {
110
- try {
111
- this.isUpdating = true;
112
- this.log.debug(`Setting value for characteristic ${characteristicName} to ${value}`);
113
- const characteristicMap = {
114
- Brightness: 'brightness',
115
- On: 'state',
116
- };
117
- const characteristicKey = characteristicMap[characteristicName ?? ''];
118
- if (!characteristicKey) {
119
- throw new Error(`Characteristic key not found for ${characteristicName}`);
115
+ const task = (async () => {
116
+ if (this.deviceManager) {
117
+ try {
118
+ this.isUpdating = true;
119
+ this.log.debug(`Setting value for characteristic ${characteristicName} to ${value}`);
120
+ const characteristicMap = {
121
+ Brightness: 'brightness',
122
+ On: 'state',
123
+ };
124
+ const characteristicKey = characteristicMap[characteristicName ?? ''];
125
+ if (!characteristicKey) {
126
+ throw new Error(`Characteristic key not found for ${characteristicName}`);
127
+ }
128
+ await this.deviceManager.controlDevice(this.deviceConfig, characteristicKey, value);
129
+ this.kasaDevice.sys_info[characteristicKey] = value;
130
+ this.updateValue(service, service.getCharacteristic(characteristicType), this.name, value);
131
+ this.previousKasaDevice = JSON.parse(JSON.stringify(this.kasaDevice));
132
+ this.log.debug(`Set value for characteristic ${characteristicName} to ${value} successfully`);
133
+ }
134
+ catch (error) {
135
+ this.log.error(`Error setting current value for characteristic ${characteristicName} for device: ${this.name}:`, error);
136
+ this.kasaDevice.offline = true;
137
+ this.stopPolling();
138
+ }
139
+ finally {
140
+ this.isUpdating = false;
141
+ this.updateEmitter.emit('updateComplete');
120
142
  }
121
- await this.deviceManager.controlDevice(this.deviceConfig, characteristicKey, value);
122
- this.kasaDevice.sys_info[characteristicKey] = value;
123
- this.updateValue(service, service.getCharacteristic(characteristicType), this.name, value);
124
- this.previousKasaDevice = JSON.parse(JSON.stringify(this.kasaDevice));
125
- this.log.debug(`Set value for characteristic ${characteristicName} to ${value} successfully`);
126
- }
127
- catch (error) {
128
- this.log.error(`Error setting current value for characteristic ${characteristicName} for device: ${this.name}:`, error);
129
- this.kasaDevice.offline = true;
130
- this.stopPolling();
131
143
  }
132
- finally {
133
- this.isUpdating = false;
134
- this.updateEmitter.emit('updateComplete');
144
+ else {
145
+ throw new Error('Device manager is undefined.');
135
146
  }
136
- }
137
- else {
138
- throw new Error('Device manager is undefined.');
139
- }
147
+ })();
148
+ this.platform.ongoingTasks.push(task);
149
+ await task;
150
+ this.platform.ongoingTasks = this.platform.ongoingTasks.filter(t => t !== task);
140
151
  }
141
152
  async updateState() {
142
153
  if (this.kasaDevice.offline || this.platform.isShuttingDown) {
@@ -1 +1 @@
1
- {"version":3,"file":"homekitSwitch.js","sourceRoot":"","sources":["../../src/devices/homekitSwitch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"homekitSwitch.js","sourceRoot":"","sources":["../../src/devices/homekitSwitch.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,aAAa,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,aAAa;IAUnD;IATF,UAAU,GAAY,KAAK,CAAC;IAC3B,kBAAkB,CAAyB;IAC3C,UAAU,CAAsB;IAChC,aAAa,CAAU;IACvB,eAAe,CAA6B;IAC5C,aAAa,GAAiB,IAAI,YAAY,EAAE,CAAC;IAEzD,YACE,QAA4B,EACrB,UAAkB;QAEzB,KAAK,CACH,QAAQ,EACR,UAAU,6BAEV,QAAQ,CACT,CAAC;QAPK,eAAU,GAAV,UAAU,CAAQ;QAQzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gDAAgD,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC;QAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,KAAK,IAAI,EAAE;YAC3C,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACtE,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAY,CAAC;gBAC7F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAEnD,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACjF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,YAAY;QAClB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5D,MAAM,OAAO,GACX,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9F,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,oBAAoB,CAAC,OAAgB;QAC3C,MAAM,eAAe,GAAG;YACtB;gBACE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBACrC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;aAC3E;YACD,IAAI,CAAC,aAAa,IAAI;gBACpB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU;gBAC7C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;aACnF;SACF,CAAC,MAAM,CAAC,OAAO,CAA6E,CAAC;QAE9F,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YACzC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAC5B,OAAgB,EAChB,kBAAsD,EACtD,kBAAsC;QAEtC,MAAM,cAAc,GAAmB,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC;YAClF,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAChD,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACnG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACnG,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAAgB,EAChB,kBAAsD,EACtD,kBAAsC;QAEtC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uFAAuF,kBAAkB,EAAE,CAAC,CAAC;YAC3H,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;YACvB,IAAI,CAAC;gBACH,IAAI,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC;gBAC9E,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACzB,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;oBAC/D,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;gBACjF,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,kBAAkB,KAAK,mBAAmB,EAAE,CAAC,CAAC;gBAC7F,OAAO,mBAAmB,IAAI,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kDAAkD,kBAAkB,gBAAgB,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;gBACxH,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;YACD,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAClD,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,eAAe,CAAC,kBAAsD;QAC5E,IAAI,kBAAkB,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC;QACjD,CAAC;aAAM,IAAI,kBAAkB,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YAC1E,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAEO,eAAe,CAAC,kBAAsD;QAC5E,IAAI,kBAAkB,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YACnE,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAAgB,EAChB,kBAAsD,EACtD,kBAAsC,EACtC,KAA0B;QAE1B,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uFAAuF,kBAAkB,EAAE,CAAC,CAAC;YAC3H,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC;YAC/D,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;gBAClF,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;aACpG,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;YACvB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,kBAAkB,OAAO,KAAK,EAAE,CAAC,CAAC;oBAErF,MAAM,iBAAiB,GAA8B;wBACnD,UAAU,EAAE,YAAY;wBACxB,EAAE,EAAE,OAAO;qBACZ,CAAC;oBAEF,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;oBACtE,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,kBAAkB,EAAE,CAAC,CAAC;oBAC5E,CAAC;oBAED,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;oBACnF,IAAI,CAAC,UAAU,CAAC,QAA2D,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC;oBAExG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAE3F,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBACtE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,kBAAkB,OAAO,KAAK,eAAe,CAAC,CAAC;gBAChG,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kDAAkD,kBAAkB,gBAAgB,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;oBACxH,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC;QACX,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAClF,CAAC;IAES,KAAK,CAAC,WAAW;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5D,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC;YAC/D,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;gBAClF,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;aACpG,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;YACvB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;oBACjF,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrE,IAAI,OAAO,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACvC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBACvD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;oBAEnD,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;wBAC9B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;wBACjH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,IAAI,cAAc,KAAK,EAAE,CAAC,CAAC;oBAC9E,CAAC;oBAED,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;wBAC9D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC;wBAC1H,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,IAAI,mBAAmB,UAAU,EAAE,CAAC,CAAC;oBAC7F,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,IAAI,CAAC,IAAI,uCAAuC,CAAC,CAAC;gBACnG,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC;QACX,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAClF,CAAC;IAEM,YAAY;QACjB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5D,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC5D,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC5C,CAAC;gBACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC;IAEM,WAAW;QAChB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { API, Characteristic, DynamicPlatformPlugin, Logging, PlatformAccessory, PlatformConfig, Service, WithUUID } from 'homebridge';
1
+ import type { API, Characteristic, CharacteristicValue, DynamicPlatformPlugin, Logging, PlatformAccessory, PlatformConfig, Service, WithUUID } from 'homebridge';
2
2
  import { EventEmitter } from 'node:events';
3
3
  import DeviceManager from './devices/deviceManager.js';
4
4
  import type { KasaPythonConfig } from './config.js';
@@ -25,7 +25,7 @@ export default class KasaPythonPlatform implements DynamicPlatformPlugin {
25
25
  private isUpgrade;
26
26
  periodicDeviceDiscovering: boolean;
27
27
  isShuttingDown: boolean;
28
- ongoingTasks: Promise<void>[];
28
+ ongoingTasks: (Promise<void> | Promise<CharacteristicValue>)[];
29
29
  periodicDeviceDiscoveryEmitter: EventEmitter;
30
30
  constructor(log: Logging, config: PlatformConfig, api: API);
31
31
  private createHomeKitDevice;
package/dist/platform.js CHANGED
@@ -137,6 +137,7 @@ export default class KasaPythonPlatform {
137
137
  this.storagePath = this.api.user.storagePath();
138
138
  this.venvPythonExecutable = path.join(this.storagePath, 'kasa-python', '.venv', 'bin', 'python3');
139
139
  this.config = parseConfig(config);
140
+ this.periodicDeviceDiscoveryEmitter.setMaxListeners(150);
140
141
  this.platformInitialization = this.initializePlatform().catch((error) => {
141
142
  this.log.error('Platform initialization failed:', error);
142
143
  });
@@ -159,7 +160,6 @@ export default class KasaPythonPlatform {
159
160
  await Promise.all(this.ongoingTasks);
160
161
  this.stopKasaApi();
161
162
  });
162
- this.periodicDeviceDiscoveryEmitter.setMaxListeners(150);
163
163
  }
164
164
  createHomeKitDevice(kasaDevice) {
165
165
  this.log.debug('Creating HomeKit device for:', kasaDevice.sys_info);
@@ -238,47 +238,52 @@ export default class KasaPythonPlatform {
238
238
  return;
239
239
  }
240
240
  this.periodicDeviceDiscovering = true;
241
- try {
242
- const discoveredDevices = await this.deviceManager?.discoverDevices() || {};
243
- const now = new Date();
244
- const offlineInterval = this.config.discoveryOptions.offlineInterval;
245
- this.log.info(`Discovered ${Object.keys(discoveredDevices).length} devices`);
246
- this.configuredAccessories.forEach((platformAccessory, uuid) => {
247
- const deviceId = platformAccessory.context.deviceId;
248
- if (deviceId) {
249
- const device = this.findDiscoveredDevice(discoveredDevices, platformAccessory);
250
- if (device) {
251
- this.updateAccessoryDeviceStatus(platformAccessory, device, now);
252
- this.updateOrCreateHomeKitDevice(deviceId, device);
241
+ const task = (async () => {
242
+ try {
243
+ const discoveredDevices = await this.deviceManager?.discoverDevices() || {};
244
+ const now = new Date();
245
+ const offlineInterval = this.config.discoveryOptions.offlineInterval;
246
+ this.log.info(`Discovered ${Object.keys(discoveredDevices).length} devices`);
247
+ this.configuredAccessories.forEach((platformAccessory, uuid) => {
248
+ const deviceId = platformAccessory.context.deviceId;
249
+ if (deviceId) {
250
+ const device = this.findDiscoveredDevice(discoveredDevices, platformAccessory);
251
+ if (device) {
252
+ this.updateAccessoryDeviceStatus(platformAccessory, device, now);
253
+ this.updateOrCreateHomeKitDevice(deviceId, device);
254
+ }
255
+ else {
256
+ this.updateAccessoryStatus(platformAccessory);
257
+ this.handleOfflineAccessory(platformAccessory, uuid, now, offlineInterval);
258
+ }
253
259
  }
254
- else {
255
- this.updateAccessoryStatus(platformAccessory);
256
- this.handleOfflineAccessory(platformAccessory, uuid, now, offlineInterval);
260
+ });
261
+ Object.values(discoveredDevices).forEach(device => {
262
+ device.last_seen = now;
263
+ device.offline = false;
264
+ const deviceId = device.sys_info.device_id;
265
+ const isConfigured = Array.from(this.configuredAccessories.values()).some(platformAccessory => platformAccessory.context.deviceId === deviceId);
266
+ if (!isConfigured) {
267
+ this.log.debug(`New device [${deviceId}] found, adding to HomeKit`);
268
+ this.foundDevice(device);
257
269
  }
258
- }
259
- });
260
- Object.values(discoveredDevices).forEach(device => {
261
- device.last_seen = now;
262
- device.offline = false;
263
- const deviceId = device.sys_info.device_id;
264
- const isConfigured = Array.from(this.configuredAccessories.values()).some(platformAccessory => platformAccessory.context.deviceId === deviceId);
265
- if (!isConfigured) {
266
- this.log.debug(`New device [${deviceId}] found, adding to HomeKit`);
267
- this.foundDevice(device);
268
- }
269
- });
270
- this.periodicDeviceDiscoveryEmitter.setMaxListeners(Object.keys(discoveredDevices).length + 10);
271
- const maxListenerCount = this.periodicDeviceDiscoveryEmitter.getMaxListeners();
272
- this.log.debug('periodicDeviceDiscoveryEmitter max listener count:', maxListenerCount);
273
- }
274
- catch (error) {
275
- this.log.error('Error during periodic device discovery:', error);
276
- }
277
- finally {
278
- this.periodicDeviceDiscovering = false;
279
- this.periodicDeviceDiscoveryEmitter.emit('periodicDeviceDiscoveryComplete');
280
- this.log.debug('Finished periodic device discovery');
281
- }
270
+ });
271
+ this.periodicDeviceDiscoveryEmitter.setMaxListeners(Object.keys(discoveredDevices).length + 10);
272
+ const maxListenerCount = this.periodicDeviceDiscoveryEmitter.getMaxListeners();
273
+ this.log.debug('periodicDeviceDiscoveryEmitter max listener count:', maxListenerCount);
274
+ }
275
+ catch (error) {
276
+ this.log.error('Error during periodic device discovery:', error);
277
+ }
278
+ finally {
279
+ this.periodicDeviceDiscovering = false;
280
+ this.periodicDeviceDiscoveryEmitter.emit('periodicDeviceDiscoveryComplete');
281
+ this.log.debug('Finished periodic device discovery');
282
+ }
283
+ })();
284
+ this.ongoingTasks.push(task);
285
+ await task;
286
+ this.ongoingTasks = this.ongoingTasks.filter(t => t !== task);
282
287
  }
283
288
  findDiscoveredDevice(discoveredDevices, platformAccessory) {
284
289
  this.log.debug(`Finding discovered device with Platform Accessory ${platformAccessory.displayName}`);
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -19,11 +19,11 @@ device_cache: Dict[str, Device] = {}
19
19
  def get_light_info(device: Device) -> Dict[str, Any]:
20
20
  light_module = device.modules.get(Module.Light)
21
21
  light_info = {}
22
- if (light_module.has_feature("brightness")):
22
+ if light_module.has_feature("brightness"):
23
23
  light_info["brightness"] = light_module.brightness
24
- if (light_module.has_feature("color_temp")):
24
+ if light_module.has_feature("color_temp"):
25
25
  light_info["color_temp"] = light_module.color_temp
26
- if (light_module.has_feature("hsv")):
26
+ if light_module.has_feature("hsv"):
27
27
  hue, saturation, _ = light_module.hsv
28
28
  light_info["hsv"] = {"hue": hue, "saturation": saturation}
29
29
  return light_info
@@ -35,17 +35,17 @@ def serialize_child(child: Device) -> Dict[str, Any]:
35
35
  "state": child.features["state"].value
36
36
  }
37
37
  light_module = child.modules.get(Module.Light)
38
- if (light_module):
38
+ if light_module:
39
39
  child_info.update(get_light_info(child))
40
40
  return child_info
41
41
 
42
42
  def custom_sysinfo_config_serializer(device: Device) -> Dict[str, Any]:
43
- child_num = len(device.children) if (device.children) else 0
43
+ child_num = len(device.children) if device.children else 0
44
44
 
45
45
  sys_info = {
46
46
  "alias": device.alias or f'{device.device_type}_{device.host}',
47
47
  "child_num": child_num,
48
- "device_id": device.device_id if (device.mac != device.device_id) else device.sys_info.get("deviceId"),
48
+ "device_id": device.device_id if device.mac != device.device_id else device.sys_info.get("deviceId"),
49
49
  "device_type": device.config.connection_type.device_family.value,
50
50
  "host": device.host,
51
51
  "hw_ver": device.device_info.hardware_version,
@@ -54,14 +54,14 @@ def custom_sysinfo_config_serializer(device: Device) -> Dict[str, Any]:
54
54
  "sw_ver": device.device_info.firmware_version,
55
55
  }
56
56
 
57
- if (child_num > 0):
57
+ if child_num > 0:
58
58
  sys_info["children"] = [serialize_child(child) for child in device.children]
59
59
  else:
60
60
  sys_info.update({
61
61
  "state": device.features["state"].value
62
62
  })
63
63
  light_module = device.modules.get(Module.Light)
64
- if (light_module):
64
+ if light_module:
65
65
  sys_info.update(get_light_info(device))
66
66
 
67
67
  device_config = {
@@ -71,7 +71,7 @@ def custom_sysinfo_config_serializer(device: Device) -> Dict[str, Any]:
71
71
  **({"credentials": {
72
72
  "username": device.config.credentials.username,
73
73
  "password": device.config.credentials.password
74
- }} if (device.config.credentials) else {}),
74
+ }} if device.config.credentials else {}),
75
75
  "connection_type": {
76
76
  "device_family": device.config.connection_type.device_family.value,
77
77
  "encryption_type": device.config.connection_type.encryption_type.value,
@@ -87,7 +87,7 @@ def custom_sysinfo_config_serializer(device: Device) -> Dict[str, Any]:
87
87
  def custom_feature_serializer(device: Device) -> Dict[str, Any]:
88
88
  feature_info = {}
89
89
  light_module = device.modules.get(Module.Light)
90
- if (light_module):
90
+ if light_module:
91
91
  feature_info = {
92
92
  "brightness": light_module.has_feature("brightness"),
93
93
  "color_temp": light_module.has_feature("color_temp"),
@@ -106,7 +106,7 @@ async def discover_devices(
106
106
  ) -> Dict[str, Any]:
107
107
  devices = {}
108
108
  broadcasts = ["255.255.255.255"] + (additional_broadcasts or [])
109
- creds = Credentials(username, password) if (username) and (password) else None
109
+ creds = Credentials(username, password) if username and password else None
110
110
 
111
111
  async def on_discovered(device: Device):
112
112
  try:
@@ -134,7 +134,7 @@ async def discover_devices(
134
134
  pass
135
135
 
136
136
  async def discover_manual_device(host: str):
137
- if (host in devices):
137
+ if host in devices:
138
138
  return
139
139
  try:
140
140
  device = await Discover.discover_single(host=host, credentials=creds)
@@ -160,21 +160,21 @@ async def discover_devices(
160
160
  try:
161
161
  homekit_component = dev.modules.get(Module.HomeKit)
162
162
  matter_component = dev.modules.get(Module.Matter)
163
- if (homekit_component) or (matter_component):
163
+ if homekit_component or matter_component:
164
164
  continue
165
165
  except Exception:
166
166
  pass
167
167
 
168
168
  dev_type = dev.sys_info.get("mic_type") or dev.sys_info.get("type")
169
- if (dev_type) and (dev_type not in UNSUPPORTED_TYPES):
170
- if (ip not in device_cache):
169
+ if dev_type and dev_type not in UNSUPPORTED_TYPES:
170
+ if ip not in device_cache:
171
171
  device_cache[ip] = dev
172
172
  update_tasks.append(create_device_info(ip, dev))
173
173
 
174
174
  results = await asyncio.gather(*update_tasks, return_exceptions=True)
175
175
 
176
176
  for result in results:
177
- if (isinstance(result, Exception)):
177
+ if isinstance(result, Exception):
178
178
  continue
179
179
  ip, info = result
180
180
  all_device_info[ip] = info
@@ -194,11 +194,16 @@ async def create_device_info(ip: str, dev: Device):
194
194
  async def get_sys_info(device_config: Dict[str, Any]) -> Dict[str, Any]:
195
195
  host = device_config["host"]
196
196
  dev = device_cache.get(host)
197
- if (not dev):
197
+ if not dev:
198
198
  dev = await Device.connect(config=Device.Config.from_dict(device_config))
199
199
  device_cache[host] = dev
200
200
  else:
201
- await dev.update()
201
+ try:
202
+ await dev.update()
203
+ except ConnectionResetError:
204
+ device_cache.pop(host, None)
205
+ dev = await Device.connect(config=Device.Config.from_dict(device_config))
206
+ device_cache[host] = dev
202
207
  device = custom_sysinfo_config_serializer(dev)
203
208
  return {"sys_info": device["sys_info"]}
204
209
 
@@ -211,33 +216,43 @@ async def control_device(
211
216
  ) -> Dict[str, Any]:
212
217
  host = device_config["host"]
213
218
  dev = device_cache.get(host)
214
- if (not dev):
219
+ if not dev:
215
220
  dev = await Device.connect(config=Device.Config.from_dict(device_config))
216
221
  device_cache[host] = dev
217
-
218
222
  try:
219
- target = dev.children[child_num] if (child_num is not None) else dev
220
- light = target.modules.get(Module.Light)
221
-
222
- if (feature == "state"):
223
- await getattr(target, action)()
224
- elif (feature == "brightness") and (light.has_feature("brightness")):
225
- await handle_brightness(target, action, value)
226
- elif (feature == "color_temp") and (light.has_feature("color_temp")):
227
- await handle_color_temp(target, action, value)
228
- elif (feature in ["hue", "saturation"]) and (light.has_feature("hsv")):
229
- await handle_hsv(target, action, feature, value)
230
- else:
231
- return {"status": "failed", "error": "Invalid feature or action"}
232
- return {"status": "success"}
223
+ return await perform_device_action(dev, feature, action, value, child_num)
224
+ except ConnectionResetError:
225
+ device_cache.pop(host, None)
226
+ dev = await Device.connect(config=Device.Config.from_dict(device_config))
227
+ device_cache[host] = dev
228
+ try:
229
+ return await perform_device_action(dev, feature, action, value, child_num)
230
+ except Exception as e:
231
+ return {"status": "failed", "error": str(e)}
233
232
  except Exception as e:
234
233
  return {"status": "failed", "error": str(e)}
235
234
 
235
+ async def perform_device_action(dev: Device, feature: str, action: str, value: Any, child_num: Optional[int] = None) -> Dict[str, Any]:
236
+ target = dev.children[child_num] if child_num is not None else dev
237
+ light = target.modules.get(Module.Light)
238
+
239
+ if feature == "state":
240
+ await getattr(target, action)()
241
+ elif feature == "brightness" and light.has_feature("brightness"):
242
+ await handle_brightness(target, action, value)
243
+ elif feature == "color_temp" and light.has_feature("color_temp"):
244
+ await handle_color_temp(target, action, value)
245
+ elif feature in ["hue", "saturation"] and light.has_feature("hsv"):
246
+ await handle_hsv(target, action, feature, value)
247
+ else:
248
+ return {"status": "failed", "error": "Invalid feature or action"}
249
+ return {"status": "success"}
250
+
236
251
  async def handle_brightness(target: Device, action: str, value: int):
237
252
  light = target.modules.get(Module.Light)
238
- if (value == 0):
253
+ if value == 0:
239
254
  await target.turn_off()
240
- elif (0 < value <= 100):
255
+ elif 0 < value <= 100:
241
256
  await getattr(light, action)(value)
242
257
  else:
243
258
  await target.turn_on()
@@ -251,9 +266,9 @@ async def handle_color_temp(target: Device, action: str, value: int):
251
266
  async def handle_hsv(target: Device, action: str, feature: str, value: Dict[str, int]):
252
267
  light = target.modules.get(Module.Light)
253
268
  hsv = list(light.hsv)
254
- if (feature == "hue"):
269
+ if feature == "hue":
255
270
  hsv[0] = value["hue"]
256
- elif (feature == "saturation"):
271
+ elif feature == "saturation":
257
272
  hsv[1] = value["saturation"]
258
273
  await getattr(light, action)(tuple(hsv))
259
274
 
@@ -261,8 +276,8 @@ async def handle_hsv(target: Device, action: str, feature: str, value: Dict[str,
261
276
  async def discover_route():
262
277
  try:
263
278
  auth = request.authorization
264
- username = auth.username if (auth) else None
265
- password = auth.password if (auth) else None
279
+ username = auth.username if auth else None
280
+ password = auth.password if auth else None
266
281
  data = await request.get_json()
267
282
  additional_broadcasts = data.get('additionalBroadcasts', [])
268
283
  manual_devices = data.get('manualDevices', [])
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "Homebridge Kasa Python",
3
3
  "name": "homebridge-kasa-python",
4
- "version": "2.7.0-beta.14",
4
+ "version": "2.7.0-beta.15",
5
5
  "description": "Plugin that uses Python-Kasa API to communicate with Kasa Devices.",
6
6
  "license": "MIT",
7
7
  "type": "module",
@@ -75,7 +75,7 @@
75
75
  ],
76
76
  "dependencies": {
77
77
  "axios": "^1.7.9",
78
- "ts-essentials": "^10.0.3",
78
+ "ts-essentials": "^10.0.4",
79
79
  "typescript": "^5.7.2"
80
80
  },
81
81
  "overrides": {
package/requirements.txt CHANGED
@@ -1,3 +1,3 @@
1
1
  python-kasa==0.9.0
2
- quart==0.19.9
2
+ quart==0.20.0
3
3
  uvicorn==0.34.0