homebridge-kasa-python 2.5.1 → 2.5.3

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.
@@ -32,6 +32,7 @@ export default class KasaPythonPlatform implements DynamicPlatformPlugin {
32
32
  private checkPython;
33
33
  private startKasaApi;
34
34
  private stopKasaApi;
35
+ private getLoggerLevel;
35
36
  lsc(serviceOrCharacteristic: Service | Characteristic | {
36
37
  UUID: string;
37
38
  }, characteristic?: Characteristic | {
package/dist/platform.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import getPort from 'get-port';
2
2
  import path from 'node:path';
3
3
  import { promises as fs } from 'node:fs';
4
+ import { createServer } from 'node:http';
4
5
  import { satisfies } from 'semver';
5
- import { fileURLToPath } from 'node:url';
6
+ import { StringDecoder } from 'node:string_decoder';
7
+ import { fileURLToPath, parse } from 'node:url';
6
8
  import create from './devices/create.js';
7
9
  import DeviceManager from './devices/deviceManager.js';
8
10
  import PythonChecker from './python/pythonChecker.js';
@@ -55,6 +57,44 @@ async function checkForUpgrade(storagePath, logger) {
55
57
  }
56
58
  return false;
57
59
  }
60
+ function startLoggingServer(log, callback) {
61
+ getPort().then(port => {
62
+ const server = createServer((req, res) => {
63
+ const parsedUrl = parse(req.url, true);
64
+ const decoder = new StringDecoder('utf-8');
65
+ let buffer = '';
66
+ req.on('data', (chunk) => {
67
+ buffer += decoder.write(chunk);
68
+ });
69
+ req.on('end', () => {
70
+ buffer += decoder.end();
71
+ if (parsedUrl.pathname === '/log' && req.method === 'POST') {
72
+ try {
73
+ const logEntry = JSON.parse(buffer);
74
+ if (logEntry.level in log) {
75
+ log[logEntry.level](logEntry.message);
76
+ }
77
+ else {
78
+ log.error(`Invalid log level: ${logEntry.level}`);
79
+ }
80
+ }
81
+ catch (error) {
82
+ log.error('Failed to parse log entry:', error);
83
+ }
84
+ }
85
+ res.writeHead(200, { 'Content-Type': 'application/json' });
86
+ res.end(JSON.stringify({ status: 'ok' }));
87
+ });
88
+ });
89
+ server.listen(port, () => {
90
+ log.debug(`Logging server started on port ${port}`);
91
+ callback(port);
92
+ });
93
+ });
94
+ }
95
+ function delay(ms) {
96
+ return new Promise(resolve => setTimeout(resolve, ms));
97
+ }
58
98
  export default class KasaPythonPlatform {
59
99
  log;
60
100
  api;
@@ -135,7 +175,6 @@ export default class KasaPythonPlatform {
135
175
  this.port = await getPort();
136
176
  this.deviceManager = new DeviceManager(this);
137
177
  await this.startKasaApi();
138
- await this.deviceManager.discoverDevices();
139
178
  }
140
179
  catch (error) {
141
180
  this.log.error('An error occurred during startup:', error);
@@ -152,19 +191,33 @@ export default class KasaPythonPlatform {
152
191
  }
153
192
  async startKasaApi() {
154
193
  const scriptPath = `${this.storagePath}/node_modules/homebridge-kasa-python/dist/python/kasaApi.py`;
155
- try {
156
- const [, , , process] = await runCommand(this.log, this.venvPythonExecutable, [scriptPath, this.port.toString()], undefined, true, true, true);
157
- this.kasaProcess = process;
158
- }
159
- catch (error) {
160
- if (error instanceof Error) {
161
- this.log.error(`Error starting kasaApi.py process: ${error.message}`);
194
+ const loggerLevel = this.getLoggerLevel();
195
+ startLoggingServer(this.log, async (loggingPort) => {
196
+ const loggingServerUrl = `http://localhost:${loggingPort}/log`;
197
+ try {
198
+ const [, , , process] = await runCommand(this.log, this.venvPythonExecutable, [scriptPath, this.port.toString()], undefined, true, true, true, {
199
+ LOGGER_LEVEL: loggerLevel,
200
+ LOGGING_SERVER_URL: loggingServerUrl,
201
+ });
202
+ await delay(5000);
203
+ this.kasaProcess = process;
204
+ if (this.deviceManager) {
205
+ await this.deviceManager.discoverDevices();
206
+ }
207
+ else {
208
+ this.log.error('Device manager is undefined.');
209
+ }
162
210
  }
163
- else {
164
- this.log.error('An unknown error occurred during startup');
211
+ catch (error) {
212
+ if (error instanceof Error) {
213
+ this.log.error(`Error starting kasaApi.py process: ${error.message}`);
214
+ }
215
+ else {
216
+ this.log.error('An unknown error occurred during startup');
217
+ }
218
+ throw error;
165
219
  }
166
- throw error;
167
- }
220
+ });
168
221
  }
169
222
  stopKasaApi() {
170
223
  if (this.kasaProcess) {
@@ -172,6 +225,21 @@ export default class KasaPythonPlatform {
172
225
  this.kasaProcess = null;
173
226
  }
174
227
  }
228
+ getLoggerLevel() {
229
+ const level = process.env.LOGGER_LEVEL || 'INFO';
230
+ switch (level.toUpperCase()) {
231
+ case 'DEBUG':
232
+ return 'DEBUG';
233
+ case 'INFO':
234
+ return 'INFO';
235
+ case 'WARN':
236
+ return 'WARN';
237
+ case 'ERROR':
238
+ return 'ERROR';
239
+ default:
240
+ return 'INFO';
241
+ }
242
+ }
175
243
  lsc(serviceOrCharacteristic, characteristic) {
176
244
  const serviceName = serviceOrCharacteristic instanceof this.api.hap.Service
177
245
  ? this.getServiceName(serviceOrCharacteristic)
@@ -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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"}
@@ -1,11 +1,28 @@
1
- import asyncio, eventlet, eventlet.wsgi, json, sys
1
+ import asyncio, eventlet, eventlet.wsgi, json, os, requests, sys
2
2
  from flask import Flask, request, jsonify
3
3
  from flask_socketio import SocketIO
4
4
  from kasa import Discover, Device
5
+ from loguru import logger
5
6
 
6
7
  app = Flask(__name__)
7
8
  socketio = SocketIO(app, cors_allowed_origins="*")
8
9
 
10
+ # Configure loguru to send logs to the logging server
11
+ logging_server_url = os.getenv('LOGGING_SERVER_URL')
12
+
13
+ class RemoteLogger:
14
+ def __init__(self, url):
15
+ self.url = url
16
+
17
+ def write(self, message):
18
+ if message.strip():
19
+ requests.post(self.url, json={"level": "debug", "message": message.strip()})
20
+
21
+ logger.add(RemoteLogger(logging_server_url), level="DEBUG")
22
+
23
+ # Replace app.logger with loguru logger
24
+ app.logger = logger
25
+
9
26
  device_cache = {}
10
27
 
11
28
  UNSUPPORTED_TYPES = {
@@ -17,6 +34,7 @@ UNSUPPORTED_TYPES = {
17
34
  }
18
35
 
19
36
  def custom_device_serializer(device):
37
+ app.logger.debug(f"Serializing device: {device}")
20
38
  def is_serializable(value):
21
39
  try:
22
40
  json.dumps(value)
@@ -33,25 +51,32 @@ def custom_device_serializer(device):
33
51
  return serialized_data
34
52
 
35
53
  async def discover_devices(username=None, password=None, additional_broadcasts=None, manual_devices=None):
54
+ app.logger.debug("Starting device discovery")
36
55
  devices = {}
37
56
  broadcasts = ["255.255.255.255"] + (additional_broadcasts or [])
38
57
 
39
58
  for broadcast in broadcasts:
40
59
  try:
60
+ app.logger.debug(f"Discovering devices on broadcast: {broadcast}")
41
61
  discovered_devices = await Discover.discover(target=broadcast, username=username, password=password)
42
62
  discovered_devices = {ip: dev for ip, dev in discovered_devices.items() if hasattr(dev, 'device_type')}
43
63
  devices.update(discovered_devices)
64
+ app.logger.debug(f"Discovered {len(discovered_devices)} devices on broadcast {broadcast}")
44
65
  except Exception as e:
45
66
  app.logger.error(f"Error discovering devices on broadcast {broadcast}: {str(e)}")
46
67
 
47
68
  if manual_devices:
48
- for device in manual_devices:
69
+ for host in manual_devices:
49
70
  try:
50
- discovered_device = await Discover.discover_single(host=device, username=username, password=password)
71
+ app.logger.debug(f"Discovering manual device: {host}")
72
+ discovered_device = await Discover.discover_single(host=host, username=username, password=password)
51
73
  if discovered_device and hasattr(discovered_device, 'device_type'):
52
- devices[device] = discovered_device
74
+ devices[host] = discovered_device
75
+ app.logger.debug(f"Discovered manual device: {host}")
76
+ else:
77
+ app.logger.warning(f"Manual device not found or missing device_type: {host}")
53
78
  except Exception as e:
54
- app.logger.error(f"Error discovering manual device {device}: {str(e)}")
79
+ app.logger.error(f"Error discovering manual device {host}: {str(e)}")
55
80
 
56
81
  all_device_info = {}
57
82
  tasks = []
@@ -72,9 +97,11 @@ async def discover_devices(username=None, password=None, additional_broadcasts=N
72
97
  for ip, info in results:
73
98
  all_device_info[ip] = info
74
99
 
100
+ app.logger.debug(f"Device discovery completed with {len(all_device_info)} devices found")
75
101
  return all_device_info
76
102
 
77
103
  async def update_device_info(ip, dev: Device):
104
+ app.logger.debug(f"Updating device info for {ip}")
78
105
  try:
79
106
  await dev.update()
80
107
  device_info = custom_device_serializer(dev)
@@ -83,12 +110,14 @@ async def update_device_info(ip, dev: Device):
83
110
  "device_info": device_info,
84
111
  "device_config": device_config
85
112
  }
113
+ app.logger.debug(f"Updated device info for {ip}")
86
114
  return ip, device_cache[ip]
87
115
  except Exception as e:
88
116
  app.logger.error(f"Error updating device info for {ip}: {str(e)}")
89
117
  return ip, {}
90
118
 
91
119
  async def get_device_info(device_config):
120
+ app.logger.debug(f"Getting device info for config: {device_config}")
92
121
  dev = await Device.connect(config=Device.Config.from_dict(device_config))
93
122
  try:
94
123
  await dev.update()
@@ -103,6 +132,11 @@ async def get_device_info(device_config):
103
132
  await dev.disconnect()
104
133
 
105
134
  async def control_device(device_config, action, child_num=None):
135
+ if child_num is not None:
136
+ app.logger.debug(f"Controlling device with config: {device_config}, action: {action}, child_num: {child_num}")
137
+ else:
138
+ app.logger.debug(f"Controlling device with config: {device_config}, action: {action}")
139
+
106
140
  kasa_device = await Device.connect(config=Device.Config.from_dict(device_config))
107
141
  try:
108
142
  if child_num is not None:
@@ -110,8 +144,10 @@ async def control_device(device_config, action, child_num=None):
110
144
  await getattr(child, action)()
111
145
  else:
112
146
  await getattr(kasa_device, action)()
147
+ app.logger.debug(f"Controlled device with action: {action}")
113
148
  return {"status": "success", f"is_{action.split('_')[1]}": True}
114
149
  except Exception as e:
150
+ app.logger.error(f"Error controlling device: {str(e)}")
115
151
  return {"status": "error", "message": str(e)}
116
152
  finally:
117
153
  await kasa_device.disconnect()
@@ -127,15 +163,16 @@ def discover():
127
163
  password = auth.password if auth else None
128
164
  additional_broadcasts = request.json.get('additionalBroadcasts', [])
129
165
  manual_devices = request.json.get('manualDevices', [])
130
- app.logger.info(f"Starting device discovery with additionalBroadcasts: {additional_broadcasts} and manualDevices: {manual_devices}")
166
+ app.logger.debug(f"Starting device discovery with additionalBroadcasts: {additional_broadcasts} and manualDevices: {manual_devices}")
131
167
  devices_info = run_async(discover_devices, username, password, additional_broadcasts, manual_devices)
132
- app.logger.info(f"Device discovery completed with {len(devices_info)} devices found")
168
+ app.logger.debug(f"Device discovery completed with {len(devices_info)} devices found")
133
169
  return jsonify(devices_info)
134
170
 
135
171
  @app.route('/getSysInfo', methods=['POST'])
136
172
  def get_sys_info_route():
137
173
  data = request.json
138
174
  device_config = data['device_config']
175
+ app.logger.debug(f"Getting system info for device config: {device_config}")
139
176
  device_info = run_async(get_device_info, device_config)
140
177
  return jsonify(device_info)
141
178
 
@@ -145,6 +182,7 @@ def control_device_route():
145
182
  device_config = data['device_config']
146
183
  action = data['action']
147
184
  child_num = data.get('child_num')
185
+ app.logger.debug(f"Controlling device with config: {device_config}, action: {action}, child_num: {child_num}")
148
186
  result = run_async(control_device, device_config, action, child_num)
149
187
  return jsonify(result)
150
188
 
package/dist/utils.d.ts CHANGED
@@ -12,4 +12,4 @@ export declare function lookup<T>(object: unknown, compareFn: undefined | ((obje
12
12
  export declare function lookupCharacteristicNameByUUID(characteristic: typeof Characteristic, uuid: string): string | undefined;
13
13
  export declare function miredToKelvin(mired: number): number;
14
14
  export declare function prefixLogger(logger: Logger, prefix: string | (() => string)): Logging;
15
- export declare function runCommand(logger: Logger, command: string, args?: readonly string[], options?: SpawnOptionsWithoutStdio, hideStdout?: boolean, hideStderr?: boolean, returnProcess?: boolean): Promise<[string, string, number | null, (ChildProcessWithoutNullStreams | null)?]>;
15
+ export declare function runCommand(logger: Logger, command: string, args?: readonly string[], options?: SpawnOptionsWithoutStdio, hideStdout?: boolean, hideStderr?: boolean, returnProcess?: boolean, envVars?: Record<string, string>): Promise<[string, string, number | null, (ChildProcessWithoutNullStreams | null)?]>;
package/dist/utils.js CHANGED
@@ -77,7 +77,7 @@ export function prefixLogger(logger, prefix) {
77
77
  clonedLogger.prefix = typeof logger.prefix === 'string' ? `${prefix} ${logger.prefix}` : prefix;
78
78
  return clonedLogger;
79
79
  }
80
- export async function runCommand(logger, command, args = [], options, hideStdout = false, hideStderr = false, returnProcess = false) {
80
+ export async function runCommand(logger, command, args = [], options, hideStdout = false, hideStderr = false, returnProcess = false, envVars = {}) {
81
81
  let stdout = '';
82
82
  let stderr = '';
83
83
  let outputFile = null;
@@ -89,7 +89,10 @@ export async function runCommand(logger, command, args = [], options, hideStdout
89
89
  return true;
90
90
  });
91
91
  logger.debug(`Running command: ${command} ${filteredArgs.join(' ')}`);
92
- const p = spawn(command, filteredArgs, options);
92
+ const p = spawn(command, filteredArgs, {
93
+ ...options,
94
+ env: { ...process.env, ...envVars },
95
+ });
93
96
  logger.debug(`Command PID: ${p.pid}`);
94
97
  p.stdout.setEncoding('utf8').on('data', data => {
95
98
  stdout += data;
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AASA,OAAO,EAAkC,KAAK,EAA4B,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,UAAU,eAAe,CAC7B,EAAwC,EACxC,OAAe,EACf,QAA2B;IAE3B,IAAI,QAAQ,GAA0E,EAAE,CAAC;IACzF,IAAI,KAAK,GAA0B,IAAI,CAAC;IAExC,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,MAAM,eAAe,GAAG,QAAQ,CAAC;QACjC,QAAQ,GAAG,EAAE,CAAC;QACd,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;aACvB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;aACjE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACjE,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,CAAC,GAAO,EAAE,EAAE;QACjB,IAAI,QAAQ,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAClC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAEnC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,GAAG,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAgB,EAAE,cAAkD;IACzG,MAAM,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC3F,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,eAAsC,EACtC,cAAoD;IAEpD,OAAO,eAAe,CAAC,IAAI,CACzB,CAAC,IAAoB,EAAE,EAAE,CACvB,IAAI,YAAY,cAAc;QAC7B,IAAiC,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,CAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAkB;IAC7C,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,UAAU,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,GAAG,GAAG,MAAM,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,MAAe,EACf,SAAoE,EACpE,KAAQ;IAER,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,CAAC,UAAmB,EAAE,MAAS,EAAW,EAAE,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;IAElG,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,cAAqC,EACrC,IAAY;IAEZ,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAE,cAA6D,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;AACtI,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,GAAG,GAAG,KAAK,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,MAA+B;IAC1E,MAAM,OAAO,GAAuD,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9G,MAAM,YAAY,GAAY,OAAO,CAAC,MAAM,CAAC,CAAC,GAAY,EAAE,MAAM,EAAE,EAAE;QACpE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;YACnC,MAAM,YAAY,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YACtE,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC;gBAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,KAAiB,EAAE,GAAG,YAAY,IAAI,OAAO,EAAE,EAAE,GAAG,UAAU,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC;gBACtC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,IAAI,OAAO,EAAE,EAAE,GAAG,UAAU,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAa,CAAC,CAAC;IAEjB,YAAoD,CAAC,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAEzI,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAc,EACd,OAAe,EACf,OAA0B,EAAE,EAC5B,OAAkC,EAClC,aAAsB,KAAK,EAC3B,aAAsB,KAAK,EAC3B,gBAAyB,KAAK;IAE9B,IAAI,MAAM,GAAW,EAAE,CAAC;IACxB,IAAI,MAAM,GAAW,EAAE,CAAC;IACxB,IAAI,UAAU,GAAkB,IAAI,CAAC;IAErC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QACrC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,GAAmC,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAChF,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAEtC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;QAC7C,MAAM,IAAI,IAAI,CAAC;QACf,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;QAC7C,MAAM,IAAI,IAAI,CAAC;QACf,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEjC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAChD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;gBACzB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC;QAElB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACpE,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC,IAAI,EAAE,CAAC;IAET,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAClC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
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.5.1",
4
+ "version": "2.5.3",
5
5
  "description": "Plugin that uses Python-Kasa API to communicate with Kasa Devices.",
6
6
  "license": "MIT",
7
7
  "type": "module",
package/requirements.txt CHANGED
@@ -1,4 +1,6 @@
1
1
  eventlet==0.37.0
2
2
  flask==3.0.3
3
3
  flask_socketio==5.4.1
4
+ loguru==0.7.2
5
+ requests==2.32.3
4
6
  python-kasa==0.7.7