amaran-light-cli 1.8.1 → 1.10.0

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.
Files changed (82) hide show
  1. package/README.md +36 -16
  2. package/dist/__tests__/lightControl.test.js +0 -31
  3. package/dist/__tests__/lightControl.test.js.map +1 -1
  4. package/dist/__tests__/simulateSchedule.test.js +4 -2
  5. package/dist/__tests__/simulateSchedule.test.js.map +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +7 -2
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands/daylightSimulation/autoCct.d.ts.map +1 -1
  10. package/dist/commands/daylightSimulation/autoCct.js +49 -17
  11. package/dist/commands/daylightSimulation/autoCct.js.map +1 -1
  12. package/dist/commands/daylightSimulation/graphSchedule.js +1 -1
  13. package/dist/commands/daylightSimulation/graphSchedule.js.map +1 -1
  14. package/dist/commands/daylightSimulation/printSchedule.js +4 -4
  15. package/dist/commands/daylightSimulation/printSchedule.js.map +1 -1
  16. package/dist/commands/daylightSimulation/schedule.d.ts +5 -0
  17. package/dist/commands/daylightSimulation/schedule.d.ts.map +1 -0
  18. package/dist/commands/daylightSimulation/schedule.js +11 -0
  19. package/dist/commands/daylightSimulation/schedule.js.map +1 -0
  20. package/dist/commands/daylightSimulation/simulateSchedule.d.ts.map +1 -1
  21. package/dist/commands/daylightSimulation/simulateSchedule.js +6 -2
  22. package/dist/commands/daylightSimulation/simulateSchedule.js.map +1 -1
  23. package/dist/commands/daylightSimulation/weather.d.ts +5 -0
  24. package/dist/commands/daylightSimulation/weather.d.ts.map +1 -0
  25. package/dist/commands/daylightSimulation/weather.js +96 -0
  26. package/dist/commands/daylightSimulation/weather.js.map +1 -0
  27. package/dist/commands/deviceControl/cct.d.ts.map +1 -1
  28. package/dist/commands/deviceControl/cct.js +91 -3
  29. package/dist/commands/deviceControl/cct.js.map +1 -1
  30. package/dist/commands/deviceControl/color.d.ts.map +1 -1
  31. package/dist/commands/deviceControl/color.js +171 -3
  32. package/dist/commands/deviceControl/color.js.map +1 -1
  33. package/dist/commands/deviceControl/config.d.ts.map +1 -1
  34. package/dist/commands/deviceControl/config.js +36 -3
  35. package/dist/commands/deviceControl/config.js.map +1 -1
  36. package/dist/commands/deviceControl/hsi.d.ts.map +1 -1
  37. package/dist/commands/deviceControl/hsi.js +132 -2
  38. package/dist/commands/deviceControl/hsi.js.map +1 -1
  39. package/dist/commands/deviceControl/info.d.ts.map +1 -1
  40. package/dist/commands/deviceControl/info.js +115 -29
  41. package/dist/commands/deviceControl/info.js.map +1 -1
  42. package/dist/commands/deviceControl/intensity.d.ts.map +1 -1
  43. package/dist/commands/deviceControl/intensity.js +86 -2
  44. package/dist/commands/deviceControl/intensity.js.map +1 -1
  45. package/dist/commands/deviceControl/power.d.ts.map +1 -1
  46. package/dist/commands/deviceControl/power.js +120 -29
  47. package/dist/commands/deviceControl/power.js.map +1 -1
  48. package/dist/commands/deviceControl/status.d.ts.map +1 -1
  49. package/dist/commands/deviceControl/status.js +184 -21
  50. package/dist/commands/deviceControl/status.js.map +1 -1
  51. package/dist/commands.d.ts.map +1 -1
  52. package/dist/commands.js +4 -8
  53. package/dist/commands.js.map +1 -1
  54. package/dist/daylightSimulation/cctUtil.d.ts.map +1 -1
  55. package/dist/daylightSimulation/cctUtil.js +2 -1
  56. package/dist/daylightSimulation/cctUtil.js.map +1 -1
  57. package/dist/daylightSimulation/privacyUtil.d.ts +13 -0
  58. package/dist/daylightSimulation/privacyUtil.d.ts.map +1 -0
  59. package/dist/daylightSimulation/privacyUtil.js +30 -0
  60. package/dist/daylightSimulation/privacyUtil.js.map +1 -0
  61. package/dist/daylightSimulation/textSchedule.d.ts +1 -1
  62. package/dist/daylightSimulation/textSchedule.d.ts.map +1 -1
  63. package/dist/daylightSimulation/textSchedule.js +3 -18
  64. package/dist/daylightSimulation/textSchedule.js.map +1 -1
  65. package/dist/daylightSimulation/weatherUtil.d.ts +35 -0
  66. package/dist/daylightSimulation/weatherUtil.d.ts.map +1 -0
  67. package/dist/daylightSimulation/weatherUtil.js +163 -0
  68. package/dist/daylightSimulation/weatherUtil.js.map +1 -0
  69. package/dist/deviceControl/lightControl.d.ts +2 -5
  70. package/dist/deviceControl/lightControl.d.ts.map +1 -1
  71. package/dist/deviceControl/lightControl.js +38 -23
  72. package/dist/deviceControl/lightControl.js.map +1 -1
  73. package/dist/deviceControl/types.d.ts +33 -1
  74. package/dist/deviceControl/types.d.ts.map +1 -1
  75. package/dist/test/MockLightServer.d.ts.map +1 -1
  76. package/dist/test/MockLightServer.js +6 -5
  77. package/dist/test/MockLightServer.js.map +1 -1
  78. package/package.json +1 -1
  79. package/dist/commands/deviceControl/firmware.d.ts +0 -5
  80. package/dist/commands/deviceControl/firmware.d.ts.map +0 -1
  81. package/dist/commands/deviceControl/firmware.js +0 -68
  82. package/dist/commands/deviceControl/firmware.js.map +0 -1
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Formats a coordinate (latitude or longitude) with privacy redaction by default.
3
+ */
4
+ export function formatCoordinate(coord, privacyOff = false) {
5
+ return privacyOff ? coord.toFixed(4) : `${Math.round(coord)}.XXXX`;
6
+ }
7
+ /**
8
+ * Formats a location source (e.g., "geoip (1.2.3.4)") with privacy redaction by default.
9
+ */
10
+ export function formatSource(source, privacyOff = false) {
11
+ if (privacyOff || !source.includes('('))
12
+ return source;
13
+ const ipMatch = source.match(/(\d+\.\d+\.\d+\.\d+)/);
14
+ if (ipMatch) {
15
+ const ipParts = ipMatch[1].split('.');
16
+ // Redact first three octets
17
+ return source.replace(ipMatch[1], `XXX.XXX.XXX.${ipParts[3]}`);
18
+ }
19
+ return source;
20
+ }
21
+ /**
22
+ * Formats a full location string with privacy redaction by default.
23
+ */
24
+ export function formatLocation(lat, lon, source, privacyOff = false) {
25
+ const formattedLat = formatCoordinate(lat, privacyOff);
26
+ const formattedLon = formatCoordinate(lon, privacyOff);
27
+ const formattedSrc = formatSource(source, privacyOff);
28
+ return `${formattedLat}°, ${formattedLon}° (${formattedSrc})`;
29
+ }
30
+ //# sourceMappingURL=privacyUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privacyUtil.js","sourceRoot":"","sources":["../../src/daylightSimulation/privacyUtil.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,UAAU,GAAG,KAAK;IAChE,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,UAAU,GAAG,KAAK;IAC7D,IAAI,UAAU,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAEvD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACrD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,4BAA4B;QAC5B,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,GAAW,EAAE,MAAc,EAAE,UAAU,GAAG,KAAK;IACzF,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAEtD,OAAO,GAAG,YAAY,MAAM,YAAY,MAAM,YAAY,GAAG,CAAC;AAChE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { Schedule } from './scheduleMaker.js';
2
2
  export interface TextScheduleOptions {
3
3
  csv?: boolean;
4
- private?: boolean;
4
+ privacyOff?: boolean;
5
5
  interval?: string;
6
6
  stripAnsi?: boolean;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"textSchedule.d.ts","sourceRoot":"","sources":["../../src/daylightSimulation/textSchedule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAkDD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM,CAsI1F"}
1
+ {"version":3,"file":"textSchedule.d.ts","sourceRoot":"","sources":["../../src/daylightSimulation/textSchedule.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAiCD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM,CAsI1F"}
@@ -1,5 +1,6 @@
1
1
  import chalk from 'chalk';
2
2
  import { CURVE_METADATA, SPECIAL_TIME_CONFIG } from './constants.js';
3
+ import { formatCoordinate, formatSource } from './privacyUtil.js';
3
4
  // Helper function to get color and emoji for a special time
4
5
  function getSpecialTimeStyling(currentTime, times) {
5
6
  const isSpecialTime = (specialTime) => {
@@ -14,22 +15,6 @@ function getSpecialTimeStyling(currentTime, times) {
14
15
  }
15
16
  return { color: chalk.white, emoji: '' };
16
17
  }
17
- const formatCoordinate = (coord, isPrivate) => {
18
- return isPrivate ? `${Math.round(coord)}.XXXX` : coord.toFixed(4);
19
- };
20
- const formatSource = (src, isPrivate) => {
21
- if (!isPrivate || !src.includes('('))
22
- return src;
23
- const ipMatch = src.match(/(\d+\.\d+\.\d+\.\d+)/);
24
- if (ipMatch) {
25
- const ipParts = ipMatch[1].split('.');
26
- ipParts[0] = 'XXX';
27
- ipParts[1] = 'XXX';
28
- ipParts[2] = 'XXX';
29
- return src.replace(ipMatch[1], ipParts.join('.'));
30
- }
31
- return src;
32
- };
33
18
  const formatTitle = (key) => {
34
19
  return key
35
20
  .replace(/([A-Z])/g, ' $1')
@@ -42,7 +27,7 @@ const stripAnsiCodes = (message) => {
42
27
  };
43
28
  export function textSchedule(schedule, options = {}) {
44
29
  const lines = [];
45
- const isPrivate = options.private !== false;
30
+ const privacyOff = options.privacyOff === true;
46
31
  const { csv, interval, stripAnsi } = options;
47
32
  const push = (message) => {
48
33
  lines.push(stripAnsi ? stripAnsiCodes(message) : message);
@@ -71,7 +56,7 @@ export function textSchedule(schedule, options = {}) {
71
56
  push(chalk.blue('\n═══════════════════════════════════════════════════════════'));
72
57
  push(chalk.blue(' Auto-CCT Schedule Preview'));
73
58
  push(chalk.blue('═══════════════════════════════════════════════════════════\n'));
74
- push(chalk.cyan(`Location: ${formatCoordinate(schedule.lat, isPrivate)}°, ${formatCoordinate(schedule.lon, isPrivate)}° (${formatSource(schedule.source, isPrivate)})`));
59
+ push(chalk.cyan(`Location: ${formatCoordinate(schedule.lat, privacyOff)}°, ${formatCoordinate(schedule.lon, privacyOff)}° (${formatSource(schedule.source, privacyOff)})`));
75
60
  push(chalk.cyan(`Date: ${schedule.date.toLocaleDateString(undefined, { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' })}`));
76
61
  push(chalk.cyan(`Interval: Every ${interval ?? '30'} minute${interval !== '1' ? 's' : ''}`));
77
62
  push(chalk.cyan(schedule.curves.length > 1
@@ -1 +1 @@
1
- {"version":3,"file":"textSchedule.js","sourceRoot":"","sources":["../../src/daylightSimulation/textSchedule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"textSchedule.js","sourceRoot":"","sources":["../../src/daylightSimulation/textSchedule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUlE,4DAA4D;AAC5D,SAAS,qBAAqB,CAC5B,WAAiB,EACjB,KAA8C;IAE9C,MAAM,aAAa,GAAG,CAAC,WAAoC,EAAE,EAAE;QAC7D,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACtE,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,aAAa;IACvF,CAAC,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE,CAAC;QACzC,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE;IAC1C,OAAO,GAAG;SACP,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;SAC1B,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC3C,IAAI,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,EAAE;IACzC,8FAA8F;IAC9F,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,QAAkB,EAAE,UAA+B,EAAE;IAChF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC;IAC/C,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAE7C,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,EAAE;QAC/B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEF,IAAI,GAAG,EAAE,CAAC;QACR,aAAa;QACb,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEvB,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;YACtD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,WAAW,GAAG,EAAE,SAAS,CAAC,CAAC;YAEzD,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACpC,GAAG,CAAC,IAAI,CACN,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,EACzB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAC1C,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnC,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,kBAAkB;QAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,CAAC;QAElF,IAAI,CACF,KAAK,CAAC,IAAI,CACR,aAAa,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAC1J,CACF,CAAC;QACF,IAAI,CACF,KAAK,CAAC,IAAI,CACR,SAAS,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,CAC5H,CACF,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,QAAQ,IAAI,IAAI,UAAU,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7F,IAAI,CACF,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,mCAAmC;YACrC,CAAC,CAAC,UAAU,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CACnD,CACF,CAAC;QAEF,MAAM,eAAe,GAAG;YACtB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACpC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;aAC/B,CAAC,CAAC;YACH,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE;SAC7E,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEpE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;YAC9C,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAChG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBACjG,IAAI,IAAI,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,EAAE,CAAC;YACtG,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEvB,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG;gBACd,MAAM;gBACN,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3B,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAgC,CAAC,CAAC;oBAClE,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC9D,CAAC,CAAC;aACH,CAAC;YACF,MAAM,SAAS,GAAG,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAExD,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACvB,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAEzC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBACjG,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC3E,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC;gBACrD,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBACvC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACpC,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5E,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,CAAC;YAChB,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAE/C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBACjG,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvF,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC3E,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,KAAK,IAAI,IAAI,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { WeatherOptions } from './types.js';
2
+ interface WttrResponse {
3
+ current_condition: Array<{
4
+ weatherCode: string;
5
+ temp_C: string;
6
+ weatherDesc: Array<{
7
+ value: string;
8
+ }>;
9
+ localObsDateTime: string;
10
+ [key: string]: unknown;
11
+ }>;
12
+ weather: Array<{
13
+ date: string;
14
+ hourly: Array<{
15
+ time: string;
16
+ weatherCode: string;
17
+ tempC: string;
18
+ weatherDesc: Array<{
19
+ value: string;
20
+ }>;
21
+ [key: string]: unknown;
22
+ }>;
23
+ }>;
24
+ [key: string]: unknown;
25
+ }
26
+ export declare function getWeatherData(lat: number, lon: number, date?: Date, debug?: boolean): Promise<WeatherOptions & {
27
+ raw?: WttrResponse;
28
+ source: 'api' | 'cache' | 'forecast';
29
+ description?: string;
30
+ effectiveTime?: string;
31
+ dataTimestamp?: number;
32
+ temp_C?: string;
33
+ }>;
34
+ export {};
35
+ //# sourceMappingURL=weatherUtil.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weatherUtil.d.ts","sourceRoot":"","sources":["../../src/daylightSimulation/weatherUtil.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAYjD,UAAU,YAAY;IACpB,iBAAiB,EAAE,KAAK,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACtC,gBAAgB,EAAE,MAAM,CAAC;QACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,KAAK,CAAC;gBAAE,KAAK,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;YACtC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA8ED,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,IAAiB,EACvB,KAAK,UAAQ,GACZ,OAAO,CACR,cAAc,GAAG;IACf,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,UAAU,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CACF,CA2FA"}
@@ -0,0 +1,163 @@
1
+ import * as fs from 'node:fs';
2
+ import * as path from 'node:path';
3
+ const CACHE_FILE = path.join(process.env.HOME || '', '.amaran-cli-weather.json');
4
+ const CACHE_TTL_MS = 4 * 60 * 60 * 1000; // 4 hours
5
+ /**
6
+ * WWO Weather Code Mapping to Cloud Cover and Precipitation
7
+ * Based on: https://www.worldweatheronline.com/feed/wwo-weather-codes.ashx
8
+ */
9
+ function mapWeatherCode(code) {
10
+ const c = parseInt(code, 10);
11
+ // Default values
12
+ let cloudCover = 0;
13
+ let precipitation = 'none';
14
+ // Precipitation mapping
15
+ if ([395, 392, 371, 368, 338, 335, 332, 329, 326, 323, 230, 227, 179].includes(c)) {
16
+ precipitation = 'snow';
17
+ }
18
+ else if ([389, 386, 359, 356, 353, 308, 305, 302, 299, 296, 293, 176].includes(c)) {
19
+ precipitation = 'rain';
20
+ }
21
+ else if ([284, 281, 266, 263, 185, 182, 143].includes(c)) {
22
+ precipitation = 'drizzle';
23
+ }
24
+ // Cloud cover mapping (estimated)
25
+ if ([122, 143, 248, 260].includes(c)) {
26
+ cloudCover = 1.0; // Overcast / Fog
27
+ }
28
+ else if ([119, 200, 308, 338].includes(c)) {
29
+ cloudCover = 0.8; // Cloudy
30
+ }
31
+ else if ([116].includes(c)) {
32
+ cloudCover = 0.4; // Partly Cloudy
33
+ }
34
+ else if ([113].includes(c)) {
35
+ cloudCover = 0.0; // Clear
36
+ }
37
+ else if (precipitation !== 'none') {
38
+ cloudCover = 0.9; // If raining/snowing, usually very cloudy
39
+ }
40
+ return { cloudCover, precipitation };
41
+ }
42
+ function getWeatherForTime(data, date) {
43
+ // Find the day
44
+ const dateStr = date.toISOString().split('T')[0];
45
+ const day = data.weather.find((w) => w.date === dateStr);
46
+ if (!day) {
47
+ const options = mapWeatherCode(data.current_condition[0].weatherCode);
48
+ return {
49
+ ...options,
50
+ temp_C: data.current_condition[0].temp_C,
51
+ description: data.current_condition[0].weatherDesc[0].value,
52
+ };
53
+ }
54
+ // Find the hour - hourly is every 3 hours (0, 300, 600...)
55
+ const targetHour = date.getHours() * 100 + date.getMinutes();
56
+ let bestHour = day.hourly[0];
57
+ let minDiff = Math.abs(parseInt(bestHour.time, 10) - targetHour);
58
+ for (const h of day.hourly) {
59
+ const diff = Math.abs(parseInt(h.time, 10) - targetHour);
60
+ if (diff < minDiff) {
61
+ minDiff = diff;
62
+ bestHour = h;
63
+ }
64
+ }
65
+ const options = mapWeatherCode(bestHour.weatherCode);
66
+ return {
67
+ ...options,
68
+ temp_C: bestHour.tempC,
69
+ description: bestHour.weatherDesc[0].value,
70
+ effectiveTime: `Forecast for ${bestHour.time.padStart(4, '0').slice(0, 2)}:00`,
71
+ dataTimestamp: new Date(`${dateStr}T${bestHour.time.padStart(4, '0').replace(/(..)(..)/, '$1:$2')}:00`).getTime(),
72
+ };
73
+ }
74
+ export async function getWeatherData(lat, lon, date = new Date(), debug = false) {
75
+ // Check cache first
76
+ try {
77
+ if (fs.existsSync(CACHE_FILE)) {
78
+ const cacheContent = fs.readFileSync(CACHE_FILE, 'utf8');
79
+ const cache = JSON.parse(cacheContent);
80
+ const now = Date.now();
81
+ const isRecent = now - cache.timestamp < CACHE_TTL_MS;
82
+ // Also check if location is roughly the same (within ~11km/0.1 degree)
83
+ const isSameLocation = Math.abs(cache.lat - lat) < 0.1 && Math.abs(cache.lon - lon) < 0.1;
84
+ if (isRecent && isSameLocation) {
85
+ if (debug)
86
+ console.log('Using cached weather data');
87
+ // If the cache is more than 1 hour old, use hourly forecast for the requested time
88
+ const ageMs = Math.abs(date.getTime() - cache.timestamp);
89
+ if (ageMs > 60 * 60 * 1000) {
90
+ if (debug)
91
+ console.log(`Cache is ${Math.round(ageMs / 60000)}m old, using hourly forecast`);
92
+ const forecast = getWeatherForTime(cache.data, date);
93
+ return { ...forecast, raw: cache.data, source: 'forecast' };
94
+ }
95
+ const options = mapWeatherCode(cache.data.current_condition[0].weatherCode);
96
+ return {
97
+ ...options,
98
+ raw: cache.data,
99
+ source: 'cache',
100
+ description: cache.data.current_condition[0].weatherDesc[0].value,
101
+ effectiveTime: cache.data.current_condition[0].localObsDateTime,
102
+ dataTimestamp: cache.timestamp,
103
+ };
104
+ }
105
+ }
106
+ }
107
+ catch (err) {
108
+ if (debug)
109
+ console.error('Error reading weather cache:', err);
110
+ }
111
+ // Try API
112
+ try {
113
+ if (debug)
114
+ console.log(`Fetching weather from wttr.in for ${lat},${lon}...`);
115
+ const response = await fetch(`https://wttr.in/${lat},${lon}?format=j1`, {
116
+ headers: { 'User-Agent': 'amaran-cli' },
117
+ });
118
+ if (!response.ok) {
119
+ throw new Error(`Weather API returned ${response.status}`);
120
+ }
121
+ const data = await response.json();
122
+ const cacheObj = {
123
+ lat,
124
+ lon,
125
+ timestamp: Date.now(),
126
+ data,
127
+ };
128
+ fs.writeFileSync(CACHE_FILE, JSON.stringify(cacheObj, null, 2));
129
+ const options = mapWeatherCode(data.current_condition[0].weatherCode);
130
+ return {
131
+ ...options,
132
+ raw: data,
133
+ source: 'api',
134
+ description: data.current_condition[0].weatherDesc[0].value,
135
+ effectiveTime: data.current_condition[0].localObsDateTime,
136
+ dataTimestamp: Date.now(),
137
+ };
138
+ }
139
+ catch (err) {
140
+ if (debug)
141
+ console.error('Weather API failed:', err);
142
+ // Last resort: try expired cache if location matches
143
+ try {
144
+ if (fs.existsSync(CACHE_FILE)) {
145
+ const cacheContent = fs.readFileSync(CACHE_FILE, 'utf8');
146
+ const cache = JSON.parse(cacheContent);
147
+ const isSameLocation = Math.abs(cache.lat - lat) < 0.1 && Math.abs(cache.lon - lon) < 0.1;
148
+ if (isSameLocation) {
149
+ if (debug)
150
+ console.log('API failed, using expired cache for same location');
151
+ const forecast = getWeatherForTime(cache.data, date);
152
+ return { ...forecast, raw: cache.data, source: 'forecast' };
153
+ }
154
+ }
155
+ }
156
+ catch (_innerErr) {
157
+ // Ignore inner error
158
+ }
159
+ // If all else fails
160
+ return { cloudCover: 0, precipitation: 'none', source: 'cache' };
161
+ }
162
+ }
163
+ //# sourceMappingURL=weatherUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weatherUtil.js","sourceRoot":"","sources":["../../src/daylightSimulation/weatherUtil.ts"],"names":[],"mappings":"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"}
@@ -37,13 +37,8 @@ declare class LightController {
37
37
  setHSIForAllLights(hue: number, sat: number, intensity: number, cct?: number, gm?: number, callback?: CommandCallback): Promise<void>;
38
38
  setColorForAllLights(color: string, intensity?: number, callback?: CommandCallback): Promise<void>;
39
39
  setSystemEffectForAllLights(effectType: string, intensity?: number, callback?: CommandCallback): Promise<void>;
40
- getProtocolVersions(callback?: CommandCallback): void;
41
40
  getFixtureList(callback?: CommandCallback): void;
42
41
  getDeviceList(callback?: CommandCallback): void;
43
- getDeviceInfo(nodeId: string, callback?: CommandCallback): void;
44
- getFirmwareVersion(nodeId: string, callback?: CommandCallback): void;
45
- checkForUpdates(nodeId: string, callback?: CommandCallback): void;
46
- updateFirmware(nodeId: string, callback?: CommandCallback): void;
47
42
  getSceneList(callback?: CommandCallback): void;
48
43
  saveScene(name: string, callback?: CommandCallback): void;
49
44
  deleteScene(sceneId: string, callback?: CommandCallback): void;
@@ -88,6 +83,8 @@ declare class LightController {
88
83
  setFanSpeed(nodeId: string, speed: number, callback?: CommandCallback): void;
89
84
  setEffectSpeed(nodeId: string, speed: number, callback?: CommandCallback): void;
90
85
  setEffectIntensity(nodeId: string, intensity: number, callback?: CommandCallback): void;
86
+ getDeviceInfo(nodeId: string, callback?: CommandCallback): void;
87
+ updateFirmware(nodeId: string, callback?: CommandCallback): void;
91
88
  disconnect(): Promise<void>;
92
89
  private waitForPendingCommands;
93
90
  private sendCommand;
@@ -1 +1 @@
1
- {"version":3,"file":"lightControl.d.ts","sourceRoot":"","sources":["../../src/deviceControl/lightControl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lightControl.d.ts","sourceRoot":"","sources":["../../src/deviceControl/lightControl.ts"],"names":[],"mappings":"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"}
@@ -79,20 +79,34 @@ class LightController {
79
79
  const parsedData = JSON.parse(data.toString());
80
80
  this.log('Received message from server:', parsedData);
81
81
  const action = parsedData.action || parsedData.request?.type;
82
+ const nodeId = parsedData.node_id || parsedData.request?.node_id || parsedData.data?.node_id;
83
+ let callback;
84
+ let usedKey;
85
+ if (action && nodeId) {
86
+ const key = `${action}_${nodeId}`;
87
+ if (this.commandCallbacks.has(key)) {
88
+ callback = this.commandCallbacks.get(key);
89
+ usedKey = key;
90
+ }
91
+ }
92
+ if (!callback && action && this.commandCallbacks.has(action)) {
93
+ callback = this.commandCallbacks.get(action);
94
+ usedKey = action;
95
+ }
82
96
  if (parsedData.code !== 0) {
83
97
  console.error('Error from server:', parsedData.message);
84
- if (action && this.commandCallbacks.has(action)) {
85
- this.commandCallbacks.get(action)?.(false, parsedData.message);
86
- this.commandCallbacks.delete(action);
98
+ if (callback && usedKey) {
99
+ callback(false, parsedData.message);
100
+ this.commandCallbacks.delete(usedKey);
87
101
  }
88
102
  return;
89
103
  }
90
- if (action && this.commandCallbacks.has(action)) {
91
- this.commandCallbacks.get(action)?.(true, parsedData.message, parsedData.data);
92
- this.commandCallbacks.delete(action);
104
+ if (callback && usedKey) {
105
+ callback(true, parsedData.message, parsedData.data);
106
+ this.commandCallbacks.delete(usedKey);
93
107
  }
94
108
  if (action) {
95
- this.processResponseType(action, parsedData.data, parsedData.node_id);
109
+ this.processResponseType(action, parsedData.data, nodeId);
96
110
  }
97
111
  }
98
112
  catch (error) {
@@ -135,6 +149,15 @@ class LightController {
135
149
  if (config && typeof config === 'object' && 'data' in config && ('node_id' in config || 'id' in config)) {
136
150
  config = config.data;
137
151
  }
152
+ // Normalize CCT range keys from Amaran API
153
+ if (config && typeof config === 'object') {
154
+ if (config.product_cct_min !== undefined && config.cct_min === undefined) {
155
+ config.cct_min = config.product_cct_min;
156
+ }
157
+ if (config.product_cct_max !== undefined && config.cct_max === undefined) {
158
+ config.cct_max = config.product_cct_max;
159
+ }
160
+ }
138
161
  this.nodeConfigs.set(nodeId, config);
139
162
  this.log('Node Config:', JSON.stringify(config, null, 2));
140
163
  if (this.nodeConfigs.size === this.deviceList.length) {
@@ -220,27 +243,12 @@ class LightController {
220
243
  await this.applyToAllLights((nodeId) => this.setSystemEffect(nodeId, effectType, intensity, callback), 'Setting effect', () => ` to ${effectType}${intensity !== undefined ? ` at ${intensity / 10}%` : ''}`);
221
244
  }
222
245
  // --- Individual Light Control Methods ---
223
- getProtocolVersions(callback) {
224
- this.sendCommand(undefined, 'get_protocol_versions', {}, callback);
225
- }
226
246
  getFixtureList(callback) {
227
247
  this.sendCommand(undefined, 'get_fixture_list', {}, callback);
228
248
  }
229
249
  getDeviceList(callback) {
230
250
  this.sendCommand(undefined, 'get_device_list', {}, callback);
231
251
  }
232
- getDeviceInfo(nodeId, callback) {
233
- this.sendCommand(nodeId, 'get_device_info', {}, callback);
234
- }
235
- getFirmwareVersion(nodeId, callback) {
236
- this.sendCommand(nodeId, 'get_firmware_version', {}, callback);
237
- }
238
- checkForUpdates(nodeId, callback) {
239
- this.sendCommand(nodeId, 'check_for_updates', {}, callback);
240
- }
241
- updateFirmware(nodeId, callback) {
242
- this.sendCommand(nodeId, 'update_firmware', {}, callback);
243
- }
244
252
  getSceneList(callback) {
245
253
  this.sendCommand(undefined, 'get_scene_list', {}, callback);
246
254
  }
@@ -405,6 +413,12 @@ class LightController {
405
413
  setEffectIntensity(nodeId, intensity, callback) {
406
414
  this.sendCommand(nodeId, 'set_effect_intensity', { intensity }, callback);
407
415
  }
416
+ getDeviceInfo(nodeId, callback) {
417
+ this.sendCommand(nodeId, 'get_device_info', {}, callback);
418
+ }
419
+ updateFirmware(nodeId, callback) {
420
+ this.sendCommand(nodeId, 'update_firmware', {}, callback);
421
+ }
408
422
  // --- Utility & Infrastructure ---
409
423
  async disconnect() {
410
424
  if (this.ws.readyState === WebSocket.OPEN) {
@@ -443,7 +457,8 @@ class LightController {
443
457
  // biome-ignore lint/suspicious/noExplicitAny: Backward compatibility for mock server
444
458
  command.request = { type };
445
459
  if (callback) {
446
- this.commandCallbacks.set(type, callback);
460
+ const callbackKey = nodeId ? `${type}_${nodeId}` : type;
461
+ this.commandCallbacks.set(callbackKey, callback);
447
462
  }
448
463
  this.ws.send(JSON.stringify(command));
449
464
  this.log(`Sent command: ${type}`);
@@ -1 +1 @@
1
- {"version":3,"file":"lightControl.js","sourceRoot":"","sources":["../../src/deviceControl/lightControl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;EAwBE;AAEF,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAUjD;;;;GAIG;AACH,MAAM,eAAe;IACX,EAAE,CAAY;IACd,QAAQ,GAAW,gBAAgB,CAAC;IACpC,UAAU,GAAa,EAAE,CAAC;IAC1B,SAAS,GAAc,EAAE,CAAC;IAC1B,WAAW,GAA4B,IAAI,GAAG,EAAE,CAAC;IACjD,gBAAgB,GAAiC,IAAI,GAAG,EAAE,CAAC;IAC3D,YAAY,GAAqB,EAAE,CAAC;IACpC,qBAAqB,CAAc;IACnC,KAAK,GAAY,KAAK,CAAC;IAE/B,YAAY,KAAa,EAAE,QAAiB,EAAE,aAA0B,EAAE,KAAK,GAAG,KAAK;QACrF,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACtB,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1D,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACtD,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;gBACjE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,IAAI,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAEpC,gBAAgB;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa,CAAC,IAAoB;QACxC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,+BAA+B,EAAE,UAAU,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC;YAC7D,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;gBACxD,IAAI,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;oBAC/D,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvC,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC/E,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,+GAA+G;IACvG,mBAAmB,CAAC,IAAY,EAAE,IAAS,EAAE,MAAe;QAClE,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,iBAAiB,CAAC;YACvB,KAAK,kBAAkB;gBACrB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAC5B,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjD,MAAM;YACR;gBACE,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,IAAwB;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,eAAe,CAAC,IAAyB;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,2GAA2G;IACnG,gBAAgB,CAAC,OAAwC;QAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;QACxD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,mEAAmE;YACnE,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,MAAM,IAAI,CAAC,SAAS,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;gBACxG,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YACvB,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAE1D,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACrD,IAAI,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;gBACvD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACjC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sDAAsD;IAEtD;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAC5B,SAA+D,EAC/D,WAAmB,EACnB,cAA2C;QAE3C,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAC7B,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CACrD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAC5D,CAAC;YAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,QAAQ,YAAY,CAAC,MAAM,WAAW,CAAC,CAAC;YAE/D,MAAM,UAAU,GAAG,eAAe,CAAC,oBAAoB,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC;gBACrF,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEjE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,IAAI,WAAW,KAAK,MAAM,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC;gBACnF,CAAC;gBAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC;gBAED,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,8BAA8B,CAAC,GAAW,EAAE,SAAkB,EAAE,QAA0B;QACrG,MAAM,IAAI,CAAC,gBAAgB,CACzB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,EACzD,aAAa,EACb,GAAG,EAAE,CAAC,OAAO,GAAG,IAAI,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9E,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,QAA0B;QACrD,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;IAC5F,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,QAA0B;QACtD,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;IAC9F,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,QAA0B;QACrD,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;IAC1F,CAAC;IAEM,KAAK,CAAC,wBAAwB,CAAC,SAAiB,EAAE,QAA0B;QACjF,MAAM,IAAI,CAAC,gBAAgB,CACzB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EAC1D,mBAAmB,EACnB,GAAG,EAAE,CAAC,OAAO,SAAS,GAAG,EAAE,GAAG,CAC/B,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,8BAA8B,CAAC,KAAa,EAAE,QAA0B;QACnF,MAAM,IAAI,CAAC,gBAAgB,CACzB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,EAC5D,wBAAwB,EACxB,GAAG,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,CAClD,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,wBAAwB,CAAC,KAAa,EAAE,SAAkB,EAAE,QAA0B;QACjG,MAAM,IAAI,CAAC,gBAAgB,CACzB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EACjE,kBAAkB,EAClB,GAAG,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvG,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,GAAW,EACX,GAAW,EACX,SAAiB,EACjB,GAAY,EACZ,EAAW,EACX,QAA0B;QAE1B,MAAM,IAAI,CAAC,gBAAgB,CACzB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,EACvE,aAAa,EACb,GAAG,EAAE,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,SAAS,GAAG,EAAE,GAAG,CACnD,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,KAAa,EAAE,SAAkB,EAAE,QAA0B;QAC7F,MAAM,IAAI,CAAC,gBAAgB,CACzB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAC7D,eAAe,EACf,GAAG,EAAE,CAAC,OAAO,KAAK,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/E,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,2BAA2B,CAAC,UAAkB,EAAE,SAAkB,EAAE,QAA0B;QACzG,MAAM,IAAI,CAAC,gBAAgB,CACzB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,EACzE,gBAAgB,EAChB,GAAG,EAAE,CAAC,OAAO,UAAU,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpF,CAAC;IACJ,CAAC;IAED,2CAA2C;IAEpC,mBAAmB,CAAC,QAA0B;QACnD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,uBAAuB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;IAEM,cAAc,CAAC,QAA0B;QAC9C,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,kBAAkB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAEM,aAAa,CAAC,QAA0B;QAC7C,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEM,aAAa,CAAC,MAAc,EAAE,QAA0B;QAC7D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAEM,kBAAkB,CAAC,MAAc,EAAE,QAA0B;QAClE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,sBAAsB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAEM,eAAe,CAAC,MAAc,EAAE,QAA0B;QAC/D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,mBAAmB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAEM,cAAc,CAAC,MAAc,EAAE,QAA0B;QAC9D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAEM,YAAY,CAAC,QAA0B;QAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAEM,SAAS,CAAC,IAAY,EAAE,QAA0B;QACvD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAEM,WAAW,CAAC,OAAe,EAAE,QAA0B;QAC5D,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAEM,WAAW,CAAC,OAAe,EAAE,QAA0B;QAC5D,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAEM,WAAW,CAAC,OAAe,EAAE,IAAa,EAAE,QAA0B;QAC3E,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC/E,CAAC;IAEM,aAAa,CAAC,QAA0B;QAC7C,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEM,YAAY,CAAC,MAAc,EAAE,QAAgB,EAAE,QAA0B;QAC9E,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;IAEM,SAAS,CAAC,MAAc,EAAE,QAAgB,EAAE,QAA0B;QAC3E,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAEM,mBAAmB,CAAC,QAA0B;QACnD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,wBAAwB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtE,CAAC;IAEM,gBAAgB,CAAC,QAA0B;QAChD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,oBAAoB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEM,YAAY,CAAC,WAAmB,EAAE,QAA0B;QACjE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;IACxF,CAAC;IAEM,YAAY,CAAC,QAA0B;QAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAEM,WAAW,CAAC,IAAY,EAAE,QAA0B;QACzD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEM,WAAW,CAAC,OAAe,EAAE,QAA0B;QAC5D,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAEM,UAAU,CAAC,OAAe,EAAE,MAAc,EAAE,QAA0B;QAC3E,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;IAChG,CAAC;IAEM,eAAe,CAAC,OAAe,EAAE,MAAc,EAAE,QAA0B;QAChF,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,mBAAmB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrG,CAAC;IAEM,aAAa,CAAC,MAAc,EAAE,QAA0B;QAC7D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAEM,WAAW,CAAC,MAAc,EAAE,QAA0B;QAC3D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAEM,YAAY,CAAC,MAAc,EAAE,QAA0B;QAC5D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;IACnE,CAAC;IAEM,mBAAmB,CAAC,MAAc,EAAE,QAA0B;QACnE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAEM,WAAW,CAAC,MAAc,EAAE,QAA0B;QAC3D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAEM,YAAY,CAAC,MAAc,EAAE,QAA0B;QAC5D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAEM,YAAY,CAAC,MAAc,EAAE,SAAiB,EAAE,QAA0B;QAC/E,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;IAEM,kBAAkB,CAAC,MAAc,EAAE,KAAa,EAAE,QAA0B;QACjF,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,oBAAoB,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtE,CAAC;IAEM,MAAM,CAAC,MAAc,EAAE,QAA0B;QACtD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAEM,MAAM,CAAC,MAAc,EAAE,GAAW,EAAE,SAAkB,EAAE,QAA0B;QACvF,MAAM,IAAI,GAAgB,EAAE,GAAG,EAAE,CAAC;QAClC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAEM,YAAY,CAAC,MAAc,EAAE,KAAa,EAAE,SAAkB,EAAE,QAA0B;QAC/F,MAAM,IAAI,GAAgB,EAAE,KAAK,EAAE,CAAC;QACpC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAEM,MAAM,CAAC,MAAc,EAAE,QAA0B;QACtD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAEM,MAAM,CACX,MAAc,EACd,GAAW,EACX,GAAW,EACX,SAAiB,EACjB,GAAY,EACZ,EAAW,EACX,QAA0B;QAE1B,MAAM,IAAI,GAAgB,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;QAClD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACjB,CAAC;QACD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACf,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,CAAC,MAAc,EAAE,QAA0B;QACtD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAEM,MAAM,CAAC,MAAc,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,SAAkB,EAAE,QAA0B;QAC3G,MAAM,IAAI,GAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,MAAc,EAAE,QAA0B;QACrD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAEM,KAAK,CAAC,MAAc,EAAE,CAAS,EAAE,CAAS,EAAE,SAAkB,EAAE,QAA0B;QAC/F,MAAM,IAAI,GAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACnC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IAEM,QAAQ,CAAC,MAAc,EAAE,KAAa,EAAE,SAAkB,EAAE,QAA0B;QAC3F,MAAM,IAAI,GAAgB,EAAE,KAAK,EAAE,CAAC;QACpC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAEM,eAAe,CAAC,MAAc,EAAE,QAA0B;QAC/D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,mBAAmB,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAEM,eAAe,CAAC,MAAc,EAAE,UAAkB,EAAE,SAAkB,EAAE,QAA0B;QACvG,MAAM,IAAI,GAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;QACtD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAEM,SAAS,CAAC,MAAc,EAAE,QAA0B;QACzD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAEM,SAAS,CAAC,MAAc,EAAE,UAAkB,EAAE,IAAkB,EAAE,QAA0B;QACjG,MAAM,YAAY,GAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,CAAC;QAChE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAEM,UAAU,CAAC,MAAc,EAAE,QAA0B;QAC1D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAEM,UAAU,CAAC,MAAc,EAAE,IAAY,EAAE,QAA0B;QACxE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEM,WAAW,CAAC,MAAc,EAAE,QAA0B;QAC3D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAEM,WAAW,CAAC,MAAc,EAAE,KAAa,EAAE,QAA0B;QAC1E,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAEM,cAAc,CAAC,MAAc,EAAE,KAAa,EAAE,QAA0B;QAC7E,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAEM,kBAAkB,CAAC,MAAc,EAAE,SAAiB,EAAE,QAA0B;QACrF,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,sBAAsB,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,mCAAmC;IAE5B,KAAK,CAAC,UAAU;QACrB,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,OAAe;QAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,oBAAoB,GAAG,GAAG,EAAE;gBAChC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,OAAO,EAAE,CAAC;oBACtE,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC,CAAC;YACF,oBAAoB,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,MAA0B,EAAE,IAAiB,EAAE,IAAkB,EAAE,QAA0B;QAC/G,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAY;gBACvB,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,IAAI;gBACJ,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,MAAM;gBACf,IAAI;aACL,CAAC;YAEF,qFAAqF;YACpF,OAAe,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,CAAC;YAEpC,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC3C,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,MAAc;QAClC,MAAM,YAAY,GAAG,wBAAwB,CAAC;QAC9C,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEO,GAAG,CAAC,GAAG,IAAe;QAC5B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,6BAA6B;IACtB,YAAY;QACjB,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAEM,WAAW,CAAC,QAAgB;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,OAAO,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACF;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"lightControl.js","sourceRoot":"","sources":["../../src/deviceControl/lightControl.ts"],"names":[],"mappings":"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"}