homebridge-kasa-python 2.7.0-beta.0 → 2.7.0-beta.2

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/README.md CHANGED
@@ -12,37 +12,37 @@
12
12
 
13
13
  <p align="center">
14
14
  <a href="https://github.com/ZeliardM/homebridge-kasa-python/blob/latest/LICENSE"><img src="https://badgen.net/badge/license/MIT" alt="mit license"></a>
15
- <a href="https://www.npmjs.com/package/homebridge-kasa-python"><img src="https://img.shields.io/npm/v/homebridge-kasa-python" alt="npm version"></a>
15
+ <a href="https://www.npmjs.com/package/homebridge-kasa-python"><img src="https://badgen.net/npm/v/homebridge-kasa-python/latest?label=latest" alt="npm version"></a>
16
+ <a href="https://pypi.org/project/python-kasa/"><img src="https://badgen.net/badge/Python/3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13/blue?label=latest-Python" alt="PyPI pyversions"></a>
17
+ <a href="https://www.npmjs.com/package/homebridge-kasa-python"><img src="https://badgen.net/npm/v/homebridge-kasa-python/beta?label=beta" alt="npm version"></a>
18
+ <a href="https://pypi.org/project/python-kasa/"><img src="https://badgen.net/badge/Python/3.11%20%7C%203.12%20%7C%203.13/cyan?label=beta-Python" alt="PyPI pyversions"></a>
16
19
  <a href="https://www.npmjs.com/package/homebridge-kasa-python"><img src="https://badgen.net/npm/dt/homebridge-kasa-python" alt="npm downloads total"></a>
17
- <a href="https://www.npmjs.com/package/homebridge-kasa-python"><img src="https://badgen.net/npm/dm/homebridge-kasa-python" alt="npm downloads monthly"></a>
18
20
  <a href="https://www.paypal.me/ZeliardM/USD/"><img src="https://badgen.net/badge/donate/paypal/E69138" alt="donate"></a>
19
21
  <a href="https://github.com/sponsors/ZeliardM"><img src="https://badgen.net/badge/donate/github/E69138" alt="donate"></a>
20
- <a href="https://pypi.org/project/python-kasa/"><img src="https://img.shields.io/badge/Python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue" alt="PyPI pyversions"></a>
21
22
  <a href="https://github.com/homebridge/homebridge/wiki/Verified-Plugins"><img src="https://badgen.net/badge/homebridge/verified/purple" alt="homebridge verified"></a>
22
23
  </p>
23
24
 
24
25
  <div align="center">
25
26
 
26
27
  > ## IMPORTANT!!!
27
- >This Plug-In Has Only Been Configured And Tested On Proxmox LXC. I Have Not Tested This On Any Other Platforms. If You Install It On Another Platform and It Works, Please Let Me Know So It Can Be Added To The List Of Supported Platforms.</p>
28
- >Updates To Code Require Cached Accessories To Be Removed To Update Naming Conventions For Homebridge 2.0 Update.
28
+ >With Beta v2.7.0, Support for anything less than Python v3.11 will be dropped. As of right now, the Homebridge Docker Image comes with Python 3.10. It is in the process of being updated to come with Python 3.12, but there is no ETA on that release yet.
29
29
 
30
30
  </div>
31
31
 
32
- This is a [Homebridge](https://github.com/homebridge/homebridge) plug-in based on the Python-Kasa API Library to interact with TP-Link Kasa Devices.
32
+ This is a [Homebridge](https://github.com/homebridge/homebridge) plug-in based on the Python-Kasa API Library to interact with TP-Link Kasa/Tapo Devices.
33
33
 
34
- This plug-in will automatically discover your TP-Link Kasa Devices on your network locally only and configure them to be used in HomeKit.
34
+ This plug-in will automatically discover your TP-Link Kasa/Tapo Devices on your network locally only and configure them to be used in HomeKit.
35
35
 
36
- Automatic Discovery is possible only for some devices, some newer devices require the Username and Password for your TP-Link Kasa Cloud Account. Credentials can be provided in the plug-in settings.
36
+ Automatic Discovery may be possible only for some devices. If your device is not discovered automatically, try adding the IP Address into the Manual Devices List. Some newer devices require the Username and Password for your TP-Link Kasa/Tapo Cloud Account. Credentials can be enabled and provided in the plug-in settings.
37
37
 
38
38
  ### Current Supported and Tested Devices
39
39
  - I currently have used this plug-in with the HS300 (US) Power Strip and the KP115 (US) Plug. All other devices are yet to be tested and fully supported. If you have a device that is a plug or power strip and it does work as expected in HomeKit, please let me know and I can add it to the list of tested and supported devices. I don't have a lot of devices so cannot fully test everything.
40
40
 
41
41
  ### Features
42
42
 
43
- - Automatically discover TP-Link Kasa Devices locally only on your network.
43
+ - Automatically discover TP-Link Kasa/Tapo Devices locally only on your network.
44
44
  - Change Device States for Plugs, Change Device States for Power Strips, Change Device State and Supports Dimming for Switches, Change Device State and Supports Hue, Saturation, and Value (HSV), Color, Color Temperature Adjustments, and Dimming for Bulbs and Light Strips that support those options.</p>*NOTE - Not All Functions Are Currently Supported, All Devices and Functions Could Be Supported By The Plug-In In The Furture.*</p>
45
- - Supported Devices from the API are listed below, Devices with an asterisks ('*') next to the specific firmware will require the Username and Password for your TP-Link Kasa Cloud Account to connect and function correctly.</p>*NOTE - Not All Devices Listed Below Are Supported By This Plug-In. These Devices Are Supported By The Python-Kasa API And Could Be Supported By The Plug-In In The Future.*</p>
45
+ - Supported Devices from the API are listed below, Devices with an asterisks ('*') next to the specific firmware will require the Username and Password for your TP-Link Kasa/Tapo Cloud Account to connect and function correctly.</p>*NOTE - Not All Devices Listed Below Are Supported By This Plug-In. These Devices Are Supported By The Python-Kasa API Library And Could Be Supported By The Plug-In In The Future.*</p>
46
46
  <div align="center">
47
47
  <table style="border-collapse: collapse; border: 1px solid black;">
48
48
  <thead>
@@ -55,7 +55,7 @@ Automatic Discovery is possible only for some devices, some newer devices requir
55
55
  </thead>
56
56
  <tbody>
57
57
  <tr>
58
- <td align="center" rowspan="24" style="border: 1px solid black; padding: 8px;">Plugs</td>
58
+ <td align="center" rowspan="36" style="border: 1px solid black; padding: 8px;">Plugs</td>
59
59
  <td align="center" style="border: 1px solid black; padding: 8px;">EP10</td>
60
60
  <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
61
61
  <td align="center" style="border: 1px solid black; padding: 8px;">1.0.2</td>
@@ -159,7 +159,59 @@ Automatic Discovery is possible only for some devices, some newer devices requir
159
159
  <td align="center" style="border: 1px solid black; padding: 8px;">1.0.0</td>
160
160
  </tr>
161
161
  <tr>
162
- <td align="center" rowspan="15" style="border: 1px solid black; padding: 8px;">Power Strips</td>
162
+ <td align="center" rowspan="3" style="border: 1px solid black; padding: 8px;">P100</td>
163
+ <td align="center" rowspan="3"style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
164
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.1.3</td>
165
+ </tr>
166
+ <tr>
167
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.3.7</td>
168
+ </tr>
169
+ <tr>
170
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.4.0</td>
171
+ </tr>
172
+ <tr>
173
+ <td align="center" rowspan="3" style="border: 1px solid black; padding: 8px;">P110</td>
174
+ <td align="center" rowspan="2"style="border: 1px solid black; padding: 8px;">1.0 (EU)</td>
175
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.7</td>
176
+ </tr>
177
+ <tr>
178
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.2.3</td>
179
+ </tr>
180
+ <tr>
181
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (UK)</td>
182
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.3.0</td>
183
+ </tr>
184
+ <tr>
185
+ <td align="center" rowspan="2" style="border: 1px solid black; padding: 8px;">P110M</td>
186
+ <td align="center" rowspan="1"style="border: 1px solid black; padding: 8px;">1.0 (AU)</td>
187
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.2.3</td>
188
+ </tr>
189
+ <tr>
190
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (EU)</td>
191
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.2.3</td>
192
+ </tr>
193
+ <tr>
194
+ <td align="center" style="border: 1px solid black; padding: 8px;">P115</td>
195
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (EU)</td>
196
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.2.3</td>
197
+ </tr>
198
+ <tr>
199
+ <td align="center" style="border: 1px solid black; padding: 8px;">P125M</td>
200
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
201
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.1.0</td>
202
+ </tr>
203
+ <tr>
204
+ <td align="center" style="border: 1px solid black; padding: 8px;">P135</td>
205
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
206
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.5</td>
207
+ </tr>
208
+ <tr>
209
+ <td align="center" style="border: 1px solid black; padding: 8px;">TP15</td>
210
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
211
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.3</td>
212
+ </tr>
213
+ <tr>
214
+ <td align="center" rowspan="20" style="border: 1px solid black; padding: 8px;">Power Strips</td>
163
215
  <td align="center" rowspan="1" style="border: 1px solid black; padding: 8px;">EP40</td>
164
216
  <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
165
217
  <td align="center" style="border: 1px solid black; padding: 8px;">1.0.2</td>
@@ -223,7 +275,28 @@ Automatic Discovery is possible only for some devices, some newer devices requir
223
275
  <td align="center" style="border: 1px solid black; padding: 8px;">1.0.4</td>
224
276
  </tr>
225
277
  <tr>
226
- <td align="center" rowspan="28" style="border: 1px solid black; padding: 8px;">Wall Switches</td>
278
+ <td align="center" rowspan="3" style="border: 1px solid black; padding: 8px;">P300</td>
279
+ <td align="center" rowspan="3" style="border: 1px solid black; padding: 8px;">1.0 (EU)</td>
280
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.7</td>
281
+ </tr>
282
+ <tr>
283
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.13</td>
284
+ </tr>
285
+ <tr>
286
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.15</td>
287
+ </tr>
288
+ <tr>
289
+ <td align="center" style="border: 1px solid black; padding: 8px;">P304M</td>
290
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (UK)</td>
291
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.3</td>
292
+ </tr>
293
+ <tr>
294
+ <td align="center" style="border: 1px solid black; padding: 8px;">TP25</td>
295
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
296
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.2</td>
297
+ </tr>
298
+ <tr>
299
+ <td align="center" rowspan="31" style="border: 1px solid black; padding: 8px;">Switches</td>
227
300
  <td align="center" rowspan="2" style="border: 1px solid black; padding: 8px;">ES20M</td>
228
301
  <td align="center" rowspan="2" style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
229
302
  <td align="center" style="border: 1px solid black; padding: 8px;">1.0.8</td>
@@ -338,7 +411,22 @@ Automatic Discovery is possible only for some devices, some newer devices requir
338
411
  <td align="center" style="border: 1px solid black; padding: 8px;">1.0.7*</td>
339
412
  </tr>
340
413
  <tr>
341
- <td align="center" rowspan="14" style="border: 1px solid black; padding: 8px;">Bulbs</td>
414
+ <td align="center" style="border: 1px solid black; padding: 8px;">S500D</td>
415
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
416
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.5</td>
417
+ </tr>
418
+ <tr>
419
+ <td align="center" style="border: 1px solid black; padding: 8px;">S505</td>
420
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
421
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.2</td>
422
+ </tr>
423
+ <tr>
424
+ <td align="center" style="border: 1px solid black; padding: 8px;">S505D</td>
425
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
426
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.1.0</td>
427
+ </tr>
428
+ <tr>
429
+ <td align="center" rowspan="39" style="border: 1px solid black; padding: 8px;">Light Bulbs</td>
342
430
  <td align="center" style="border: 1px solid black; padding: 8px;">KL110</td>
343
431
  <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
344
432
  <td align="center" style="border: 1px solid black; padding: 8px;">1.8.11</td>
@@ -401,7 +489,39 @@ Automatic Discovery is possible only for some devices, some newer devices requir
401
489
  <td align="center" style="border: 1px solid black; padding: 8px;">1.8.11</td>
402
490
  </tr>
403
491
  <tr>
404
- <td align="center" rowspan="8" style="border: 1px solid black; padding: 8px;">Light Strips</td>
492
+ <td align="center" style="border: 1px solid black; padding: 8px;">L501B</td>
493
+ <td align="center" style="border: 1px solid black; padding: 8px;">3.0 (EU)</td>
494
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.5</td>
495
+ </tr>
496
+ <tr>
497
+ <td align="center" rowspan="2" style="border: 1px solid black; padding: 8px;">L510E</td>
498
+ <td align="center" rowspan="2" style="border: 1px solid black; padding: 8px;">3.0 (US)</td>
499
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.5</td>
500
+ </tr>
501
+ <tr>
502
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.1.2</td>
503
+ </tr>
504
+ <tr>
505
+ <td align="center" rowspan="4" style="border: 1px solid black; padding: 8px;">L530E</td>
506
+ <td align="center" rowspan="3" style="border: 1px solid black; padding: 8px;">3.0 (EU)</td>
507
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.6</td>
508
+ </tr>
509
+ <tr>
510
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.1.0</td>
511
+ </tr>
512
+ <tr>
513
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.1.6</td>
514
+ </tr>
515
+ <tr>
516
+ <td align="center" style="border: 1px solid black; padding: 8px;">2.0 (US)</td>
517
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.1.0</td>
518
+ </tr>
519
+ <tr>
520
+ <td align="center" style="border: 1px solid black; padding: 8px;">L630</td>
521
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (EU)</td>
522
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.1.2</td>
523
+ </tr>
524
+ <tr>
405
525
  <td align="center" rowspan="2" style="border: 1px solid black; padding: 8px;">KL400L5</td>
406
526
  <td align="center" rowspan="2" style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
407
527
  <td align="center" style="border: 1px solid black; padding: 8px;">1.0.5</td>
@@ -434,30 +554,41 @@ Automatic Discovery is possible only for some devices, some newer devices requir
434
554
  <td align="center" style="border: 1px solid black; padding: 8px;">1.0.11</td>
435
555
  </tr>
436
556
  <tr>
437
- <td align="center" rowspan="3" style="border: 1px solid black; padding: 8px;">Hubs</td>
438
- <td align="center" rowspan="3" style="border: 1px solid black; padding: 8px;">KH100</td>
439
- <td align="center" rowspan="2" style="border: 1px solid black; padding: 8px;">1.0 (EU)</td>
440
- <td align="center" style="border: 1px solid black; padding: 8px;">1.2.3*</td>
557
+ <td align="center" rowspan="2" style="border: 1px solid black; padding: 8px;">L900-10</td>
558
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (EU)</td>
559
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.17</td>
441
560
  </tr>
442
561
  <tr>
443
- <td align="center" style="border: 1px solid black; padding: 8px;">1.5.12*</td>
562
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
563
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.11</td>
444
564
  </tr>
445
565
  <tr>
446
- <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (UK)</td>
447
- <td align="center" style="border: 1px solid black; padding: 8px;">1.5.6*</td>
566
+ <td align="center" rowspan="2" style="border: 1px solid black; padding: 8px;">L900-5</td>
567
+ <td align="center" rowspan="2" style="border: 1px solid black; padding: 8px;">1.0 (EU)</td>
568
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.17</td>
569
+ </tr>
570
+ <tr>
571
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.1.0</td>
448
572
  </tr>
449
573
  <tr>
450
- <td align="center" rowspan="3" style="border: 1px solid black; padding: 8px;">Hub-Connected Devices</td>
451
- <td align="center" rowspan="3" style="border: 1px solid black; padding: 8px;">KE100</td>
574
+ <td align="center" rowspan="4" style="border: 1px solid black; padding: 8px;">L920-5</td>
452
575
  <td align="center" rowspan="2" style="border: 1px solid black; padding: 8px;">1.0 (EU)</td>
453
- <td align="center" style="border: 1px solid black; padding: 8px;">2.4.0*</td>
576
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0.7</td>
454
577
  </tr>
455
578
  <tr>
456
- <td align="center" style="border: 1px solid black; padding: 8px;">2.8.0*</td>
579
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.1.3</td>
457
580
  </tr>
458
581
  <tr>
459
- <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (UK)</td>
460
- <td align="center" style="border: 1px solid black; padding: 8px;">2.8.0*</td>
582
+ <td align="center" rowspan="2" style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
583
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.1.0</td>
584
+ </tr>
585
+ <tr>
586
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.1.3</td>
587
+ </tr>
588
+ <tr>
589
+ <td align="center" style="border: 1px solid black; padding: 8px;">L930-5</td>
590
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.0 (US)</td>
591
+ <td align="center" style="border: 1px solid black; padding: 8px;">1.1.2</td>
461
592
  </tr>
462
593
  </tbody>
463
594
  </table>
@@ -1,26 +1,33 @@
1
+ import HomeKitDeviceLightBulb from './homekitLightBulb.js';
1
2
  import HomeKitDevicePlug from './homekitPlug.js';
2
- import HomeKitDevicePowerStrip from './homekitPowerstrip.js';
3
+ import HomeKitDevicePowerStrip from './homekitPowerStrip.js';
3
4
  import HomeKitDeviceSwitch from './homekitSwitch.js';
4
- import { Switches } from './kasaDevices.js';
5
+ import { LightBulbs, Plugs, PowerStrips, Switches } from './kasaDevices.js';
6
+ function isLightBulb(device) {
7
+ return LightBulbs.includes(device.disc_info.model);
8
+ }
5
9
  function isPlug(device) {
6
- return 'child_num' in device.sys_info && device.sys_info.child_num === 0;
10
+ return Plugs.includes(device.disc_info.model);
7
11
  }
8
12
  function isPowerStrip(device) {
9
- return device.sys_info.children !== undefined && device.sys_info.child_num > 0 && Array.isArray(device.sys_info.children);
13
+ return PowerStrips.includes(device.disc_info.model);
10
14
  }
11
15
  function isSwitch(device) {
12
16
  return Switches.includes(device.disc_info.model);
13
17
  }
14
18
  export default function create(platform, KasaDevice) {
19
+ if (isLightBulb(KasaDevice)) {
20
+ return new HomeKitDeviceLightBulb(platform, KasaDevice);
21
+ }
22
+ if (isPlug(KasaDevice)) {
23
+ return new HomeKitDevicePlug(platform, KasaDevice);
24
+ }
15
25
  if (isPowerStrip(KasaDevice)) {
16
26
  return new HomeKitDevicePowerStrip(platform, KasaDevice);
17
27
  }
18
28
  if (isSwitch(KasaDevice)) {
19
29
  return new HomeKitDeviceSwitch(platform, KasaDevice);
20
30
  }
21
- if (isPlug(KasaDevice)) {
22
- return new HomeKitDevicePlug(platform, KasaDevice);
23
- }
24
31
  platform.log.error('Unknown device type:', KasaDevice);
25
32
  return undefined;
26
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/devices/create.ts"],"names":[],"mappings":"AACA,OAAO,iBAAiB,MAAM,kBAAkB,CAAC;AACjD,OAAO,uBAAuB,MAAM,wBAAwB,CAAC;AAC7D,OAAO,mBAAmB,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,SAAS,MAAM,CAAC,MAAkB;IAChC,OAAO,WAAW,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,YAAY,CAAC,MAAkB;IACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5H,CAAC;AAED,SAAS,QAAQ,CAAC,MAAkB;IAClC,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,QAA4B,EAC5B,UAAsB;IAEtB,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;IACvD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/devices/create.ts"],"names":[],"mappings":"AACA,OAAO,sBAAsB,MAAM,uBAAuB,CAAC;AAC3D,OAAO,iBAAiB,MAAM,kBAAkB,CAAC;AACjD,OAAO,uBAAuB,MAAM,wBAAwB,CAAC;AAC7D,OAAO,mBAAmB,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5E,SAAS,WAAW,CAAC,MAAkB;IACrC,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,MAAM,CAAC,MAAkB;IAChC,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,YAAY,CAAC,MAAkB;IACtC,OAAO,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,QAAQ,CAAC,MAAkB;IAClC,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,QAA4B,EAC5B,UAAsB;IAEtB,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;IACvD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import HomekitDevice from './index.js';
2
+ import type KasaPythonPlatform from '../platform.js';
3
+ import type { LightBulb } from './kasaDevices.js';
4
+ export default class HomeKitDeviceLightBulb extends HomekitDevice {
5
+ protected kasaDevice: LightBulb;
6
+ private hasBrightness;
7
+ private hasColorTemp;
8
+ private hasHSV;
9
+ constructor(platform: KasaPythonPlatform, kasaDevice: LightBulb);
10
+ private addLightBulbService;
11
+ identify(): void;
12
+ }
@@ -0,0 +1,37 @@
1
+ import HomekitDevice from './index.js';
2
+ export default class HomeKitDeviceLightBulb extends HomekitDevice {
3
+ kasaDevice;
4
+ hasBrightness;
5
+ hasColorTemp;
6
+ hasHSV;
7
+ constructor(platform, kasaDevice) {
8
+ super(platform, kasaDevice, 5 /* Categories.LIGHTBULB */, 'LIGHTBULB');
9
+ this.kasaDevice = kasaDevice;
10
+ this.log.debug(`Initializing HomeKitDeviceLightBulb for device: ${kasaDevice.sys_info.alias}`);
11
+ this.hasBrightness = !!this.kasaDevice.feature_info.brightness;
12
+ this.hasColorTemp = !!this.kasaDevice.feature_info.color_temp;
13
+ this.hasHSV = !!this.kasaDevice.feature_info.hsv;
14
+ this.addLightBulbService();
15
+ }
16
+ addLightBulbService() {
17
+ const { Lightbulb } = this.platform.Service;
18
+ const lightbulbService = this.homebridgeAccessory.getService(Lightbulb) ?? this.addService(Lightbulb, this.name);
19
+ this.log.debug(`Adding characteristics for lightbulb service: ${this.name}`);
20
+ if (this.hasBrightness) {
21
+ this.addCharacteristic(lightbulbService, this.platform.Characteristic.Brightness);
22
+ }
23
+ else if (this.hasColorTemp) {
24
+ this.addCharacteristic(lightbulbService, this.platform.Characteristic.ColorTemperature);
25
+ }
26
+ else if (this.hasHSV) {
27
+ this.addCharacteristic(lightbulbService, this.platform.Characteristic.Hue);
28
+ this.addCharacteristic(lightbulbService, this.platform.Characteristic.Saturation);
29
+ }
30
+ this.addCharacteristic(lightbulbService, this.platform.Characteristic.On);
31
+ return lightbulbService;
32
+ }
33
+ identify() {
34
+ this.log.info('identify');
35
+ }
36
+ }
37
+ //# sourceMappingURL=homekitLightBulb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homekitLightBulb.js","sourceRoot":"","sources":["../../src/devices/homekitLightBulb.ts"],"names":[],"mappings":"AAGA,OAAO,aAAa,MAAM,YAAY,CAAC;AAIvC,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,aAAa;IAOnD;IANJ,aAAa,CAAU;IACvB,YAAY,CAAU;IACtB,MAAM,CAAU;IAExB,YACE,QAA4B,EAClB,UAAqB;QAE/B,KAAK,CACH,QAAQ,EACR,UAAU,gCAEV,WAAW,CACZ,CAAC;QAPQ,eAAU,GAAV,UAAU,CAAW;QAQ/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mDAAmD,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC;QAC9D,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC;QACjD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,mBAAmB;QACzB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAE5C,MAAM,gBAAgB,GACpB,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iDAAiD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACpF,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAC1F,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC3E,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAE1E,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -1,9 +1,9 @@
1
1
  import HomekitDevice from './index.js';
2
2
  import type KasaPythonPlatform from '../platform.js';
3
- import type { Powerstrip } from './kasaDevices.js';
3
+ import type { PowerStrip } from './kasaDevices.js';
4
4
  export default class HomeKitDevicePowerStrip extends HomekitDevice {
5
- protected kasaDevice: Powerstrip;
6
- constructor(platform: KasaPythonPlatform, kasaDevice: Powerstrip);
5
+ protected kasaDevice: PowerStrip;
6
+ constructor(platform: KasaPythonPlatform, kasaDevice: PowerStrip);
7
7
  private addOutletService;
8
8
  identify(): void;
9
9
  }
@@ -23,4 +23,4 @@ export default class HomeKitDevicePowerStrip extends HomekitDevice {
23
23
  this.log.info('identify');
24
24
  }
25
25
  }
26
- //# sourceMappingURL=homekitPowerstrip.js.map
26
+ //# sourceMappingURL=homekitPowerStrip.js.map
@@ -1 +1 @@
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"}
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"}
@@ -1,4 +1,4 @@
1
- export type KasaDevice = Plug | Powerstrip | Switch;
1
+ export type KasaDevice = Plug | PowerStrip | Switch;
2
2
  export interface SysInfo {
3
3
  active?: number;
4
4
  alias: string;
@@ -56,13 +56,19 @@ export interface ConfigDevice {
56
56
  host: string;
57
57
  alias: string;
58
58
  }
59
+ export interface LightBulb {
60
+ sys_info: SysInfo;
61
+ disc_info: DiscoveryInfo;
62
+ feature_info: FeatureInfo;
63
+ device_config: DeviceConfig;
64
+ }
59
65
  export interface Plug {
60
66
  sys_info: SysInfo;
61
67
  disc_info: DiscoveryInfo;
62
68
  feature_info: FeatureInfo;
63
69
  device_config: DeviceConfig;
64
70
  }
65
- export interface Powerstrip {
71
+ export interface PowerStrip {
66
72
  sys_info: SysInfo;
67
73
  disc_info: DiscoveryInfo;
68
74
  feature_info: FeatureInfo;
@@ -77,8 +83,5 @@ export interface Switch {
77
83
  export declare const Plugs: string[];
78
84
  export declare const PowerStrips: string[];
79
85
  export declare const Switches: string[];
80
- export declare const Bulbs: string[];
81
- export declare const LightStrips: string[];
82
- export declare const Hubs: string[];
83
- export declare const HubConnectedDevices: string[];
84
- export declare const Cameras: string[];
86
+ export declare const LightBulbs: string[];
87
+ export declare const Unsupported: string[];
@@ -53,7 +53,7 @@ export const Switches = [
53
53
  'S505(US)',
54
54
  'S505D(US)',
55
55
  ];
56
- export const Bulbs = [
56
+ export const LightBulbs = [
57
57
  'KL110(US)',
58
58
  'KL120(US)',
59
59
  'KL125(US)',
@@ -69,8 +69,6 @@ export const Bulbs = [
69
69
  'L530E(EU)',
70
70
  'L530E(US)',
71
71
  'L630(EU)',
72
- ];
73
- export const LightStrips = [
74
72
  'KL400L5(US)',
75
73
  'KL420L5(US)',
76
74
  'KL430(UN)',
@@ -82,14 +80,12 @@ export const LightStrips = [
82
80
  'L920-5(US)',
83
81
  'L930-5(US)',
84
82
  ];
85
- export const Hubs = [
83
+ export const Unsupported = [
86
84
  'KH100(EU)',
87
85
  'KH100(UK)',
88
86
  'H100(EU)',
89
87
  'H200(EU)',
90
88
  'H200(US)',
91
- ];
92
- export const HubConnectedDevices = [
93
89
  'KE100(EU)',
94
90
  'KE100(UK)',
95
91
  'S200B(EU)',
@@ -103,8 +99,6 @@ export const HubConnectedDevices = [
103
99
  'T310(US)',
104
100
  'T315(EU)',
105
101
  'T315(US)',
106
- ];
107
- export const Cameras = [
108
102
  'C210(EU)',
109
103
  'TC65',
110
104
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"kasaDevices.js","sourceRoot":"","sources":["../../src/devices/kasaDevices.ts"],"names":[],"mappings":"AAuFA,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,UAAU;IACV,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,WAAW;IACX,UAAU;IACV,WAAW;IACX,UAAU;IACV,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,WAAW;IACX,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,WAAW;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,aAAa;IACb,aAAa;IACb,WAAW;IACX,WAAW;IACX,aAAa;IACb,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,UAAU;IACV,MAAM;CACP,CAAC"}
1
+ {"version":3,"file":"kasaDevices.js","sourceRoot":"","sources":["../../src/devices/kasaDevices.ts"],"names":[],"mappings":"AA8FA,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,UAAU;IACV,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,WAAW;IACX,UAAU;IACV,WAAW;IACX,UAAU;IACV,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,WAAW;IACX,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,WAAW;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,aAAa;IACb,aAAa;IACb,WAAW;IACX,WAAW;IACX,aAAa;IACb,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,MAAM;CACP,CAAC"}
package/dist/platform.js CHANGED
@@ -14,8 +14,8 @@ import { runCommand } from './utils.js';
14
14
  import { PLATFORM_NAME, PLUGIN_NAME } from './settings.js';
15
15
  import { isObjectLike, lookup, lookupCharacteristicNameByUUID, prefixLogger } from './utils.js';
16
16
  let packageConfig;
17
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
17
18
  async function loadPackageConfig(logger) {
18
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
19
19
  const packageConfigPath = path.join(__dirname, '..', 'package.json');
20
20
  const log = prefixLogger(logger, '[Package Config]');
21
21
  try {
@@ -217,7 +217,7 @@ export default class KasaPythonPlatform {
217
217
  }
218
218
  }
219
219
  async startKasaApi() {
220
- const scriptPath = `${this.storagePath}/node_modules/homebridge-kasa-python/dist/python/kasaApi.py`;
220
+ const scriptPath = path.join(__dirname, 'python', 'kasaApi.py');
221
221
  const loggerLevel = this.getLoggerLevel();
222
222
  startLoggingServer(this.log, async (loggingPort) => {
223
223
  const loggingServerUrl = `http://localhost:${loggingPort}/log`;
@@ -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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"}