amaran-light-cli 1.5.0 → 1.7.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 (121) hide show
  1. package/README.md +87 -0
  2. package/dist/__tests__/autoCctMaxLux.test.d.ts +2 -0
  3. package/dist/__tests__/autoCctMaxLux.test.d.ts.map +1 -0
  4. package/dist/__tests__/autoCctMaxLux.test.js +153 -0
  5. package/dist/__tests__/autoCctMaxLux.test.js.map +1 -0
  6. package/dist/__tests__/cctUtil.test.js +63 -1
  7. package/dist/__tests__/cctUtil.test.js.map +1 -1
  8. package/dist/__tests__/configMaxLux.test.d.ts +2 -0
  9. package/dist/__tests__/configMaxLux.test.d.ts.map +1 -0
  10. package/dist/__tests__/configMaxLux.test.js +43 -0
  11. package/dist/__tests__/configMaxLux.test.js.map +1 -0
  12. package/dist/__tests__/lightControl.test.js +259 -0
  13. package/dist/__tests__/lightControl.test.js.map +1 -1
  14. package/dist/__tests__/maxLuxInterpolation.test.d.ts +2 -0
  15. package/dist/__tests__/maxLuxInterpolation.test.d.ts.map +1 -0
  16. package/dist/__tests__/maxLuxInterpolation.test.js +96 -0
  17. package/dist/__tests__/maxLuxInterpolation.test.js.map +1 -0
  18. package/dist/__tests__/weatherPhysics.test.d.ts +2 -0
  19. package/dist/__tests__/weatherPhysics.test.d.ts.map +1 -0
  20. package/dist/__tests__/weatherPhysics.test.js +72 -0
  21. package/dist/__tests__/weatherPhysics.test.js.map +1 -0
  22. package/dist/commands/__tests__/newCommands.test.d.ts +2 -0
  23. package/dist/commands/__tests__/newCommands.test.d.ts.map +1 -0
  24. package/dist/commands/__tests__/newCommands.test.js +195 -0
  25. package/dist/commands/__tests__/newCommands.test.js.map +1 -0
  26. package/dist/commands/daylightSimulation/autoCct.d.ts.map +1 -1
  27. package/dist/commands/daylightSimulation/autoCct.js +66 -4
  28. package/dist/commands/daylightSimulation/autoCct.js.map +1 -1
  29. package/dist/commands/daylightSimulation/graphSchedule.d.ts.map +1 -1
  30. package/dist/commands/daylightSimulation/graphSchedule.js +7 -2
  31. package/dist/commands/daylightSimulation/graphSchedule.js.map +1 -1
  32. package/dist/commands/daylightSimulation/printSchedule.d.ts.map +1 -1
  33. package/dist/commands/daylightSimulation/printSchedule.js +6 -1
  34. package/dist/commands/daylightSimulation/printSchedule.js.map +1 -1
  35. package/dist/commands/daylightSimulation/simulateSchedule.d.ts.map +1 -1
  36. package/dist/commands/daylightSimulation/simulateSchedule.js +6 -1
  37. package/dist/commands/daylightSimulation/simulateSchedule.js.map +1 -1
  38. package/dist/commands/deviceControl/config.d.ts.map +1 -1
  39. package/dist/commands/deviceControl/config.js +27 -0
  40. package/dist/commands/deviceControl/config.js.map +1 -1
  41. package/dist/commands/deviceControl/effect.d.ts +5 -0
  42. package/dist/commands/deviceControl/effect.d.ts.map +1 -0
  43. package/dist/commands/deviceControl/effect.js +172 -0
  44. package/dist/commands/deviceControl/effect.js.map +1 -0
  45. package/dist/commands/deviceControl/fan.d.ts +5 -0
  46. package/dist/commands/deviceControl/fan.d.ts.map +1 -0
  47. package/dist/commands/deviceControl/fan.js +105 -0
  48. package/dist/commands/deviceControl/fan.js.map +1 -0
  49. package/dist/commands/deviceControl/firmware.d.ts +5 -0
  50. package/dist/commands/deviceControl/firmware.d.ts.map +1 -0
  51. package/dist/commands/deviceControl/firmware.js +68 -0
  52. package/dist/commands/deviceControl/firmware.js.map +1 -0
  53. package/dist/commands/deviceControl/group.d.ts +5 -0
  54. package/dist/commands/deviceControl/group.d.ts.map +1 -0
  55. package/dist/commands/deviceControl/group.js +101 -0
  56. package/dist/commands/deviceControl/group.js.map +1 -0
  57. package/dist/commands/deviceControl/info.d.ts +5 -0
  58. package/dist/commands/deviceControl/info.d.ts.map +1 -0
  59. package/dist/commands/deviceControl/info.js +57 -0
  60. package/dist/commands/deviceControl/info.js.map +1 -0
  61. package/dist/commands/deviceControl/preset.d.ts +5 -0
  62. package/dist/commands/deviceControl/preset.d.ts.map +1 -0
  63. package/dist/commands/deviceControl/preset.js +55 -0
  64. package/dist/commands/deviceControl/preset.js.map +1 -0
  65. package/dist/commands/deviceControl/quickshot.d.ts +5 -0
  66. package/dist/commands/deviceControl/quickshot.d.ts.map +1 -0
  67. package/dist/commands/deviceControl/quickshot.js +51 -0
  68. package/dist/commands/deviceControl/quickshot.js.map +1 -0
  69. package/dist/commands/deviceControl/scene.d.ts +5 -0
  70. package/dist/commands/deviceControl/scene.d.ts.map +1 -0
  71. package/dist/commands/deviceControl/scene.js +101 -0
  72. package/dist/commands/deviceControl/scene.js.map +1 -0
  73. package/dist/commands.d.ts.map +1 -1
  74. package/dist/commands.js +17 -0
  75. package/dist/commands.js.map +1 -1
  76. package/dist/daylightSimulation/cctUtil.d.ts +2 -2
  77. package/dist/daylightSimulation/cctUtil.d.ts.map +1 -1
  78. package/dist/daylightSimulation/cctUtil.js +98 -28
  79. package/dist/daylightSimulation/cctUtil.js.map +1 -1
  80. package/dist/daylightSimulation/constants.d.ts +3 -1
  81. package/dist/daylightSimulation/constants.d.ts.map +1 -1
  82. package/dist/daylightSimulation/constants.js +3 -1
  83. package/dist/daylightSimulation/constants.js.map +1 -1
  84. package/dist/daylightSimulation/curves/realistic.d.ts +7 -6
  85. package/dist/daylightSimulation/curves/realistic.d.ts.map +1 -1
  86. package/dist/daylightSimulation/curves/realistic.js +42 -18
  87. package/dist/daylightSimulation/curves/realistic.js.map +1 -1
  88. package/dist/daylightSimulation/graphSchedule.d.ts +1 -1
  89. package/dist/daylightSimulation/graphSchedule.d.ts.map +1 -1
  90. package/dist/daylightSimulation/graphSchedule.js +27 -5
  91. package/dist/daylightSimulation/graphSchedule.js.map +1 -1
  92. package/dist/daylightSimulation/mathUtil.d.ts +13 -0
  93. package/dist/daylightSimulation/mathUtil.d.ts.map +1 -0
  94. package/dist/daylightSimulation/mathUtil.js +54 -0
  95. package/dist/daylightSimulation/mathUtil.js.map +1 -0
  96. package/dist/daylightSimulation/scheduleMaker.d.ts +4 -5
  97. package/dist/daylightSimulation/scheduleMaker.d.ts.map +1 -1
  98. package/dist/daylightSimulation/scheduleMaker.js +8 -0
  99. package/dist/daylightSimulation/scheduleMaker.js.map +1 -1
  100. package/dist/daylightSimulation/textSchedule.d.ts.map +1 -1
  101. package/dist/daylightSimulation/textSchedule.js +2 -2
  102. package/dist/daylightSimulation/textSchedule.js.map +1 -1
  103. package/dist/daylightSimulation/types.d.ts +6 -0
  104. package/dist/daylightSimulation/types.d.ts.map +1 -1
  105. package/dist/daylightSimulation/types.js.map +1 -1
  106. package/dist/deviceControl/discovery.d.ts.map +1 -1
  107. package/dist/deviceControl/discovery.js +0 -2
  108. package/dist/deviceControl/discovery.js.map +1 -1
  109. package/dist/deviceControl/lightControl.d.ts +67 -78
  110. package/dist/deviceControl/lightControl.d.ts.map +1 -1
  111. package/dist/deviceControl/lightControl.js +292 -203
  112. package/dist/deviceControl/lightControl.js.map +1 -1
  113. package/dist/deviceControl/types.d.ts +19 -0
  114. package/dist/deviceControl/types.d.ts.map +1 -1
  115. package/dist/test/MockLightServer.d.ts.map +1 -1
  116. package/dist/test/MockLightServer.js +134 -12
  117. package/dist/test/MockLightServer.js.map +1 -1
  118. package/package.json +8 -7
  119. package/scripts/extract-api.ts +158 -0
  120. package/scripts/extract-usage.ts +199 -0
  121. package/scripts/release.js +9 -9
@@ -0,0 +1,195 @@
1
+ import { Command } from 'commander';
2
+ import { afterAll, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest';
3
+ import registerCommands from '../../commands.js';
4
+ import LightController from '../../deviceControl/lightControl.js';
5
+ import { MockLightServer } from '../../test/MockLightServer.js';
6
+ const TEST_PORT = 8091; // Use a different port to avoid conflicts
7
+ const WS_URL = `ws://localhost:${TEST_PORT}`;
8
+ describe('New CLI Commands Integration Tests', () => {
9
+ let server;
10
+ beforeAll(async () => {
11
+ server = new MockLightServer(TEST_PORT);
12
+ await new Promise((resolve) => setTimeout(resolve, 500));
13
+ });
14
+ afterAll(async () => {
15
+ await new Promise((resolve) => {
16
+ server.close(() => resolve());
17
+ });
18
+ await new Promise((resolve) => setTimeout(resolve, 100));
19
+ });
20
+ beforeEach(() => {
21
+ server.resetState();
22
+ vi.clearAllMocks();
23
+ });
24
+ const createDeps = () => {
25
+ const controller = new LightController(WS_URL, 'test-cli-new', undefined, false);
26
+ return {
27
+ createController: async () => {
28
+ await new Promise((resolve, reject) => {
29
+ const ws = controller.getWebSocket();
30
+ const fetchDevices = () => {
31
+ controller.getDeviceList((success) => {
32
+ if (success)
33
+ resolve();
34
+ else
35
+ reject(new Error('Failed to fetch devices'));
36
+ });
37
+ };
38
+ if (ws.readyState === 1) {
39
+ fetchDevices();
40
+ }
41
+ else {
42
+ ws.once('open', () => {
43
+ setTimeout(fetchDevices, 50);
44
+ });
45
+ ws.once('error', reject);
46
+ setTimeout(() => reject(new Error('Timeout connecting')), 2000);
47
+ }
48
+ });
49
+ return controller;
50
+ },
51
+ findDevice: (ctrl, deviceQuery) => {
52
+ const devices = ctrl.getDevices();
53
+ let device = devices.find((d) => d.node_id === deviceQuery || d.id === deviceQuery);
54
+ if (!device) {
55
+ const q = deviceQuery.toLowerCase();
56
+ device = devices.find((d) => {
57
+ const nm = (d.device_name || d.name || '').toLowerCase();
58
+ return nm.includes(q);
59
+ });
60
+ }
61
+ return device || null;
62
+ },
63
+ asyncCommand: (fn) => (...args) => fn(...args),
64
+ loadConfig: () => ({}),
65
+ saveWsUrl: vi.fn(),
66
+ saveConfig: vi.fn(),
67
+ };
68
+ };
69
+ it('should list scenes', async () => {
70
+ const program = new Command();
71
+ program.exitOverride();
72
+ const deps = createDeps();
73
+ registerCommands(program, deps);
74
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
75
+ /* no-op */
76
+ });
77
+ await program.parseAsync(['node', 'test', 'scene', 'list']);
78
+ await new Promise((resolve) => setTimeout(resolve, 100));
79
+ // Mock server returns empty list by default, so "No scenes found"
80
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('No scenes found'));
81
+ consoleSpy.mockRestore();
82
+ });
83
+ it('should save a scene', async () => {
84
+ const program = new Command();
85
+ program.exitOverride();
86
+ const deps = createDeps();
87
+ registerCommands(program, deps);
88
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
89
+ /* no-op */
90
+ });
91
+ await program.parseAsync(['node', 'test', 'scene', 'save', 'MyScene']);
92
+ await new Promise((resolve) => setTimeout(resolve, 100));
93
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Scene "MyScene" saved successfully'));
94
+ consoleSpy.mockRestore();
95
+ });
96
+ it('should recall a scene', async () => {
97
+ const program = new Command();
98
+ program.exitOverride();
99
+ const deps = createDeps();
100
+ registerCommands(program, deps);
101
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
102
+ /* no-op */
103
+ });
104
+ await program.parseAsync(['node', 'test', 'scene', 'recall', 'scene-123']);
105
+ await new Promise((resolve) => setTimeout(resolve, 100));
106
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Scene scene-123 recalled successfully'));
107
+ consoleSpy.mockRestore();
108
+ });
109
+ it('should create a group', async () => {
110
+ const program = new Command();
111
+ program.exitOverride();
112
+ const deps = createDeps();
113
+ registerCommands(program, deps);
114
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
115
+ /* no-op */
116
+ });
117
+ await program.parseAsync(['node', 'test', 'group', 'create', 'A']);
118
+ await new Promise((resolve) => setTimeout(resolve, 100));
119
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Group "A" created successfully'));
120
+ consoleSpy.mockRestore();
121
+ });
122
+ it('should set fan mode', async () => {
123
+ const program = new Command();
124
+ program.exitOverride();
125
+ const deps = createDeps();
126
+ registerCommands(program, deps);
127
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
128
+ /* no-op */
129
+ });
130
+ await program.parseAsync(['node', 'test', 'fan', 'mode', '400J5-F2C008', '1']); // Mode 1
131
+ await new Promise((resolve) => setTimeout(resolve, 100));
132
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Fan mode set to 1'));
133
+ // Verify state in mock server
134
+ const state = server.getDeviceState('400J5-F2C008');
135
+ expect(state?.fan_mode).toBe(1); // Args are typically strings via CLI, mock handles appropriately
136
+ consoleSpy.mockRestore();
137
+ });
138
+ it('should set effect', async () => {
139
+ const program = new Command();
140
+ program.exitOverride();
141
+ const deps = createDeps();
142
+ registerCommands(program, deps);
143
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
144
+ /* no-op */
145
+ });
146
+ await program.parseAsync(['node', 'test', 'effect', 'set', '400J5-F2C008', 'fire']);
147
+ await new Promise((resolve) => setTimeout(resolve, 100));
148
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Effect fire set'));
149
+ const state = server.getDeviceState('400J5-F2C008');
150
+ expect(state?.work_mode).toBe('EFFECT');
151
+ expect(state?.effect_type).toBe('fire');
152
+ consoleSpy.mockRestore();
153
+ });
154
+ it('should check firmware info', async () => {
155
+ const program = new Command();
156
+ program.exitOverride();
157
+ const deps = createDeps();
158
+ registerCommands(program, deps);
159
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
160
+ /* no-op */
161
+ });
162
+ await program.parseAsync(['node', 'test', 'firmware', 'check', '400J5-F2C008']);
163
+ await new Promise((resolve) => setTimeout(resolve, 100));
164
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Firmware Status'));
165
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Firmware is up to date'));
166
+ consoleSpy.mockRestore();
167
+ });
168
+ it('should apply quickshot', async () => {
169
+ const program = new Command();
170
+ program.exitOverride();
171
+ const deps = createDeps();
172
+ registerCommands(program, deps);
173
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
174
+ /* no-op */
175
+ });
176
+ await program.parseAsync(['node', 'test', 'quickshot', 'set', 'qs-999']);
177
+ await new Promise((resolve) => setTimeout(resolve, 100));
178
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Quickshot qs-999 applied'));
179
+ consoleSpy.mockRestore();
180
+ });
181
+ it('should recall preset', async () => {
182
+ const program = new Command();
183
+ program.exitOverride();
184
+ const deps = createDeps();
185
+ registerCommands(program, deps);
186
+ const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {
187
+ /* no-op */
188
+ });
189
+ await program.parseAsync(['node', 'test', 'preset', 'recall', '400J5-F2C008', 'p1']);
190
+ await new Promise((resolve) => setTimeout(resolve, 100));
191
+ expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('Preset p1 recalled'));
192
+ consoleSpy.mockRestore();
193
+ });
194
+ });
195
+ //# sourceMappingURL=newCommands.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"newCommands.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/newCommands.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AACjD,OAAO,eAAe,MAAM,qCAAqC,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,0CAA0C;AAClE,MAAM,MAAM,GAAG,kBAAkB,SAAS,EAAE,CAAC;AAE7C,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,IAAI,MAAuB,CAAC;IAE5B,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACjF,OAAO;YACL,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBAC3B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,MAAM,EAAE,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;oBACrC,MAAM,YAAY,GAAG,GAAG,EAAE;wBACxB,UAAU,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE;4BACnC,IAAI,OAAO;gCAAE,OAAO,EAAE,CAAC;;gCAClB,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;wBACpD,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC;oBAEF,IAAI,EAAE,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;wBACxB,YAAY,EAAE,CAAC;oBACjB,CAAC;yBAAM,CAAC;wBACN,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;4BACnB,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;wBAC/B,CAAC,CAAC,CAAC;wBACH,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;wBACzB,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,UAAU,EAAE,CAAC,IAAyB,EAAE,WAAmB,EAAE,EAAE;gBAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;gBAC5F,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;oBACpC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE;wBAClC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;wBACzD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,MAAM,IAAI,IAAI,CAAC;YACxB,CAAC;YACD,YAAY,EACV,CAAsB,EAAiC,EAAE,EAAE,CAC3D,CAAC,GAAG,IAAO,EAAE,EAAE,CACb,EAAE,CAAC,GAAG,IAAI,CAAC;YACf,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;YACtB,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;YAClB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;SACpB,CAAC;IACJ,CAAC,CAAC;IAEF,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5D,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,kEAAkE;QAClE,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACpF,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QACvE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,oCAAoC,CAAC,CAAC,CAAC;QACvG,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAC3E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,uCAAuC,CAAC,CAAC,CAAC;QAC1G,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QACnE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACnG,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QACzF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAEtF,8BAA8B;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,iEAAiE;QAElG,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;QACpF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAEpF,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExC,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QAChF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACpF,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAE3F,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAC7F,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAClE,WAAW;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;QACrF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACvF,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"autoCct.d.ts","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/autoCct.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAoBlE;AA+VD,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"autoCct.d.ts","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/autoCct.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAmBlE;AA4ZD,eAAe,eAAe,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import chalk from 'chalk';
2
- import { CCT_DEFAULTS } from '../../daylightSimulation/constants.js';
2
+ import { CCT_DEFAULTS, CURVE_HELP_TEXT } from '../../daylightSimulation/constants.js';
3
3
  import { DEVICE_DEFAULTS, VALIDATION_RANGES } from '../../deviceControl/constants.js';
4
4
  export function registerAutoCct(program, deps) {
5
5
  const { asyncCommand } = deps;
@@ -14,7 +14,10 @@ export function registerAutoCct(program, deps) {
14
14
  .option('-y, --lat <latitude>', 'Manual latitude (-90 to 90)')
15
15
  .option('-x, --lon <longitude>', 'Manual longitude (-180 to 180)')
16
16
  .option('-t, --time <time>', 'Manual time (ISO 8601 format, e.g., 2025-10-26T14:30:00)')
17
- .option('-C, --curve <curve>', 'Curve type for CCT calculation (hann, wider-middle-small, wider-middle-medium, wider-middle-large, cie-daylight, sun-altitude, perez-daylight, default: hann)', 'hann')
17
+ .option('-C, --curve <curve>', CURVE_HELP_TEXT, 'hann')
18
+ .option('-L, --max-lux <value>', 'Max lux output for scaling intensity')
19
+ .option('--cloud-cover <value>', 'Cloud cover (0-1), e.g. 0.5 for 50% clouds')
20
+ .option('--precipitation <type>', 'Precipitation type: none, rain, snow, drizzle')
18
21
  .action(asyncCommand(handleAutoCct(deps)));
19
22
  }
20
23
  function handleAutoCct(deps) {
@@ -22,6 +25,7 @@ function handleAutoCct(deps) {
22
25
  return async (deviceQuery, optionsRaw) => {
23
26
  const { getLocationFromIP } = await import('../../daylightSimulation/geoipUtil.js');
24
27
  const { calculateCCT, CurveType, parseCurveType } = await import('../../daylightSimulation/cctUtil.js');
28
+ const { interpolateMaxLux, parseMaxLuxMap } = await import('../../daylightSimulation/mathUtil.js');
25
29
  const options = optionsRaw;
26
30
  const controller = await createController(options.url, options.clientId, options.debug);
27
31
  let lat;
@@ -115,6 +119,7 @@ function handleAutoCct(deps) {
115
119
  const clamp = (v, lo, hi) => Math.min(hi, Math.max(lo, v));
116
120
  const minKRaw = cfg.cctMin;
117
121
  const maxKRaw = cfg.cctMax;
122
+ // maxLux logic handled later with interpolation support
118
123
  const intensityMultMap = cfg.intensityMultiplier;
119
124
  const minKCfg = typeof minKRaw === 'number' ? minKRaw : undefined;
120
125
  const maxKCfg = typeof maxKRaw === 'number' ? maxKRaw : undefined;
@@ -136,12 +141,69 @@ function handleAutoCct(deps) {
136
141
  cctMaxK: Math.max(loK, hiK),
137
142
  intensityMinPct: loPct,
138
143
  intensityMaxPct: hiPct,
144
+ weather: {
145
+ cloudCover: options.cloudCover ? parseFloat(options.cloudCover) : undefined,
146
+ precipitation: options.precipitation,
147
+ },
139
148
  }, CurveType[curveType]);
140
- const percent = Math.round((result.intensity / 10) * 10) / 10;
149
+ let percent;
150
+ let modeDescription = 'intensity curve';
151
+ // Determine maxLux value (number or map), prioritizing CLI option over config
152
+ let effectiveMaxLux;
153
+ let maxLuxMap;
154
+ // 1. Try CLI option
155
+ if (options.maxLux) {
156
+ // Check for map format "cct:lux,cct:lux"
157
+ if (options.maxLux.includes(':')) {
158
+ const map = parseMaxLuxMap(options.maxLux);
159
+ if (map)
160
+ maxLuxMap = map;
161
+ }
162
+ else {
163
+ const parsed = parseFloat(options.maxLux);
164
+ if (!Number.isNaN(parsed) && parsed > 0) {
165
+ maxLuxMap = parsed;
166
+ }
167
+ }
168
+ }
169
+ // 2. Fallback to Config
170
+ else if (cfg.maxLux !== undefined) {
171
+ maxLuxMap = cfg.maxLux;
172
+ }
173
+ // Calculate effective max lux based on current CCT
174
+ if (maxLuxMap !== undefined) {
175
+ if (typeof maxLuxMap === 'number') {
176
+ effectiveMaxLux = maxLuxMap;
177
+ }
178
+ else {
179
+ // interpolated map
180
+ effectiveMaxLux = interpolateMaxLux(result.cct, maxLuxMap);
181
+ }
182
+ }
183
+ if (effectiveMaxLux !== undefined && result.lightOutput !== undefined) {
184
+ percent = Math.min(100, Math.max(0, (result.lightOutput / effectiveMaxLux) * 100));
185
+ percent = Math.round(percent * 10) / 10;
186
+ modeDescription = `max lux target (${Math.round(effectiveMaxLux)} lux @ ${result.cct}K)`;
187
+ }
188
+ else {
189
+ percent = Math.round((result.intensity / 10) * 10) / 10;
190
+ }
141
191
  console.log(chalk.blue(`Setting CCT to ${result.cct}K at ${percent}% for active lights`));
142
192
  console.log(chalk.gray(` Location: ${lat.toFixed(4)}, ${lon.toFixed(4)} (${source})`));
143
193
  console.log(chalk.gray(` Time: ${time.toISOString()}`));
144
194
  console.log(chalk.gray(` Curve: ${curveType.toLowerCase()}`));
195
+ console.log(chalk.gray(` Mode: ${modeDescription}`));
196
+ if (effectiveMaxLux !== undefined && result.lightOutput !== undefined) {
197
+ console.log(chalk.gray(` Target Output: ${result.lightOutput} lux`));
198
+ }
199
+ if (options.cloudCover || options.precipitation) {
200
+ const weatherInfo = [];
201
+ if (options.cloudCover)
202
+ weatherInfo.push(`Clouds: ${options.cloudCover}`);
203
+ if (options.precipitation)
204
+ weatherInfo.push(`Precip: ${options.precipitation}`);
205
+ console.log(chalk.gray(` Weather: ${weatherInfo.join(', ')}`));
206
+ }
145
207
  let candidateDevices = [];
146
208
  if (deviceQuery && deviceQuery.toLowerCase() !== 'all') {
147
209
  const device = findDevice(controller, deviceQuery);
@@ -292,7 +354,7 @@ function handleAutoCct(deps) {
292
354
  else {
293
355
  console.log(` Setting ${displayName} (${device.node_id}) to ${result.cct}K at ${targetIntensity}%`);
294
356
  }
295
- controller.setCCT(device.node_id, result.cct, result.intensity * (targetIntensity / percent));
357
+ controller.setCCT(device.node_id, result.cct, targetIntensity * 10);
296
358
  if (i < activeDevices.length - 1) {
297
359
  await new Promise((resolve) => setTimeout(resolve, waitMs));
298
360
  }
@@ -1 +1 @@
1
- {"version":3,"file":"autoCct.js","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/autoCct.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autoCct.js","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/autoCct.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"graphSchedule.d.ts","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/graphSchedule.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,mCAAmC,CAAC;AAarF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAkBxE;AA8CD,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"graphSchedule.d.ts","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/graphSchedule.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,mCAAmC,CAAC;AAerF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAiBxE;AAgDD,eAAe,qBAAqB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import * as fs from 'node:fs';
2
2
  import * as path from 'node:path';
3
3
  import chalk from 'chalk';
4
+ import { CURVE_HELP_TEXT } from '../../daylightSimulation/constants.js';
4
5
  import { graphSchedule } from '../../daylightSimulation/graphSchedule.js';
5
6
  import { ScheduleMaker } from '../../daylightSimulation/scheduleMaker.js';
6
7
  export function registerGraphSchedule(program, deps) {
@@ -11,11 +12,13 @@ export function registerGraphSchedule(program, deps) {
11
12
  .option('-y, --lat <latitude>', 'Manual latitude (-90 to 90)')
12
13
  .option('-x, --lon <longitude>', 'Manual longitude (-180 to 180)')
13
14
  .option('-d, --date <date>', 'Date to preview (ISO format, e.g., 2025-10-26)')
14
- .option('-C, --curve <curve>', 'Curve type (hann, wider-middle-small, wider-middle-medium, wider-middle-large, cie-daylight, sun-altitude, perez-daylight)')
15
+ .option('-C, --curve <curve>', CURVE_HELP_TEXT)
15
16
  .option('-o, --output <filename>', 'Output filename (default: schedule-<date>.png)')
16
17
  .option('-W, --width <width>', 'Image width in pixels (default: 1200)', '1200')
17
18
  .option('-H, --height <height>', 'Image height in pixels (default: 600)', '600')
18
- .option('-m, --metrics <type>', 'Metrics to graph: cct, intensity, or both (default: both)', 'both')
19
+ .option('-m, --metrics <type>', 'Metrics to graph: cct, intensity, lux, both, or all (default: both)', 'both')
20
+ .option('--cloud-cover <value>', 'Cloud cover (0-1)')
21
+ .option('--precipitation <type>', 'Precipitation type')
19
22
  .action(asyncCommand(handleGraphSchedule(deps)));
20
23
  }
21
24
  function handleGraphSchedule(deps) {
@@ -32,6 +35,8 @@ function handleGraphSchedule(deps) {
32
35
  curves: options.curve,
33
36
  includeSpecialTimes: false, // Cleaner graph with regular intervals
34
37
  bufferMinutes: 30,
38
+ cloudCover: options.cloudCover,
39
+ precipitation: options.precipitation,
35
40
  });
36
41
  }
37
42
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"graphSchedule.js","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/graphSchedule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphSchedule.js","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/graphSchedule.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"printSchedule.d.ts","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/printSchedule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,mCAAmC,CAAC;AAWrF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAmBxE;AA+CD,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"printSchedule.d.ts","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/printSchedule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,mCAAmC,CAAC;AAarF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAiBxE;AAiDD,eAAe,qBAAqB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { writeFile } from 'node:fs/promises';
2
2
  import chalk from 'chalk';
3
+ import { CURVE_HELP_TEXT } from '../../daylightSimulation/constants.js';
3
4
  import { ScheduleMaker } from '../../daylightSimulation/scheduleMaker.js';
4
5
  import { textSchedule } from '../../daylightSimulation/textSchedule.js';
5
6
  export function registerPrintSchedule(program, deps) {
@@ -11,9 +12,11 @@ export function registerPrintSchedule(program, deps) {
11
12
  .option('-x, --lon <longitude>', 'Manual longitude (-180 to 180)')
12
13
  .option('-d, --date <date>', 'Date to preview (ISO format, e.g., 2025-10-26)')
13
14
  .option('-i, --interval <minutes>', 'Minutes between schedule entries (default: 30)', '30')
14
- .option('-C, --curve <curve>', 'Curve type (comma-separated list, or "all"). Available: hann, wider-middle-small, wider-middle-medium, wider-middle-large, cie-daylight, sun-altitude, perez-daylight', 'all')
15
+ .option('-C, --curve <curve>', CURVE_HELP_TEXT, 'all')
15
16
  .option('-c, --csv', 'Output as CSV format')
16
17
  .option('-o, --output <file>', 'Output result to a file')
18
+ .option('--cloud-cover <value>', 'Cloud cover (0-1)')
19
+ .option('--precipitation <type>', 'Precipitation type')
17
20
  .option('-p, --no-private', 'Show full IP address and precise coordinates', true)
18
21
  .action(asyncCommand(handlePrintSchedule(deps)));
19
22
  }
@@ -29,6 +32,8 @@ function handlePrintSchedule(deps) {
29
32
  intervalMinutes: parseInt(options.interval ?? '30', 10),
30
33
  curves: options.curve,
31
34
  includeSpecialTimes: true,
35
+ cloudCover: options.cloudCover,
36
+ precipitation: options.precipitation,
32
37
  });
33
38
  }
34
39
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"printSchedule.js","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/printSchedule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"printSchedule.js","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/printSchedule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAcxE,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,IAAiB;IACvE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAE9B,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;SAC7D,MAAM,CAAC,uBAAuB,EAAE,gCAAgC,CAAC;SACjE,MAAM,CAAC,mBAAmB,EAAE,gDAAgD,CAAC;SAC7E,MAAM,CAAC,0BAA0B,EAAE,gDAAgD,EAAE,IAAI,CAAC;SAC1F,MAAM,CAAC,qBAAqB,EAAE,eAAe,EAAE,KAAK,CAAC;SACrD,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC;SAC3C,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;SACxD,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;SACpD,MAAM,CAAC,wBAAwB,EAAE,oBAAoB,CAAC;SACtD,MAAM,CAAC,kBAAkB,EAAE,8CAA8C,EAAE,IAAI,CAAC;SAChF,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAiB;IAC5C,OAAO,KAAK,EAAE,OAAqF,EAAE,EAAE;QACrG,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,QAAwD,CAAC;QAC7D,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC;gBAClC,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,EAAE,CAAC;gBACvD,MAAM,EAAE,OAAO,CAAC,KAAK;gBACrB,mBAAmB,EAAE,IAAI;gBACzB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;aACrC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE;YACpC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE;oBACzC,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;gBACH,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA6B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,eAAe,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"simulateSchedule.d.ts","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/simulateSchedule.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,mCAAmC,CAAC;AAErF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAmB3E;AAoID,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"simulateSchedule.d.ts","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/simulateSchedule.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,mCAAmC,CAAC;AAErF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAiB3E;AAsID,eAAe,wBAAwB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import chalk from 'chalk';
2
+ import { CURVE_HELP_TEXT } from '../../daylightSimulation/constants.js';
2
3
  import { ScheduleMaker } from '../../daylightSimulation/scheduleMaker.js';
3
4
  export function registerSimulateSchedule(program, deps) {
4
5
  const { asyncCommand } = deps;
@@ -11,8 +12,10 @@ export function registerSimulateSchedule(program, deps) {
11
12
  .option('-d, --debug', 'Enable debug mode')
12
13
  .option('--lat <latitude>', 'Manual latitude (-90 to 90)')
13
14
  .option('--lon <longitude>', 'Manual longitude (-180 to 180)')
14
- .option('--curve <curve>', 'Curve type for CCT calculation (hann, wider-middle-small, wider-middle-medium, wider-middle-large, cie-daylight, sun-altitude, perez-daylight, default: hann)', 'hann')
15
+ .option('-C, --curve <curve>', CURVE_HELP_TEXT, 'hann')
15
16
  .option('--duration <seconds>', 'Simulation duration to compress full day (default: 10 seconds)', '10')
17
+ .option('--cloud-cover <value>', 'Cloud cover (0-1)')
18
+ .option('--precipitation <type>', 'Precipitation type')
16
19
  .action(asyncCommand(handleSimulateSchedule(deps)));
17
20
  }
18
21
  function handleSimulateSchedule(deps) {
@@ -36,6 +39,8 @@ function handleSimulateSchedule(deps) {
36
39
  lat: options.lat,
37
40
  lon: options.lon,
38
41
  curves: options.curve,
42
+ cloudCover: options.cloudCover, // ScheduleMaker handles parsing
43
+ precipitation: options.precipitation,
39
44
  });
40
45
  const nightEnd = baseInfo.times.nightEnd;
41
46
  const night = baseInfo.times.night;
@@ -1 +1 @@
1
- {"version":3,"file":"simulateSchedule.js","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/simulateSchedule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG1E,MAAM,UAAU,wBAAwB,CAAC,OAAgB,EAAE,IAAiB;IAC1E,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAE9B,OAAO;SACJ,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,iEAAiE,CAAC;SAC9E,QAAQ,CAAC,UAAU,EAAE,wCAAwC,CAAC;SAC9D,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC;SAC1C,MAAM,CAAC,sBAAsB,EAAE,WAAW,CAAC;SAC3C,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,MAAM,CAAC,kBAAkB,EAAE,6BAA6B,CAAC;SACzD,MAAM,CAAC,mBAAmB,EAAE,gCAAgC,CAAC;SAC7D,MAAM,CACL,iBAAiB,EACjB,+JAA+J,EAC/J,MAAM,CACP;SACA,MAAM,CAAC,sBAAsB,EAAE,gEAAgE,EAAE,IAAI,CAAC;SACtG,MAAM,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAiB;IAC/C,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE1D,OAAO,KAAK,EAAE,WAAmB,EAAE,OAAuB,EAAE,EAAE;QAC5D,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;QAE7F,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QAEvC,2DAA2D;QAC3D,6FAA6F;QAC7F,wEAAwE;QAExE,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAW,EAAE,EAAE,CAAC,CAAC;QACzE,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QAEzE,MAAM,cAAc,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,QAAiE,CAAC;QACtE,IAAI,CAAC;YACH,gDAAgD;YAChD,sCAAsC;YACtC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC;gBACjD,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,MAAM,EAAE,OAAO,CAAC,KAAK;aACtB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;YAEnC,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC7F,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC3D,MAAM,UAAU,GAAG,aAAa,GAAG,YAAY,CAAC;YAEhD,QAAQ,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC;gBAC3C,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,MAAM,EAAE,OAAO,CAAC,KAAK;gBACrB,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE,KAAK;gBACd,eAAe,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,iDAAiD;gBAC5F,mBAAmB,EAAE,KAAK,EAAE,wDAAwD;aACrF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,2CAA2C;QAC3C,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACrE,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC;QAClG,MAAM,MAAM,GAAG,MAAM,CAAC,OAAiB,CAAC;QAExC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,CAAC;QAEzF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,WAAW,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,aAAa,YAAY,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,cAAc,IAAI,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1D,yDAAyD;QACzD,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAA4B,CAAC;QAC9D,MAAM,gBAAgB,GAAG,GAAG,CAAC,mBAAyD,CAAC;QAEvF,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAI,CAAC,GAAG;oBAAE,SAAS;gBAEnB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;gBAC3D,IAAI,eAAe,GAAG,OAAO,CAAC;gBAC9B,IAAI,iBAAiB,GAAG,KAAK,CAAC;gBAE9B,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAC/F,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACnD,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;wBAC7C,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;wBAC9D,iBAAiB,GAAG,IAAI,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;gBACtE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAEjG,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,OAAO,OAAO,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,WAAW,OAAO,GAAG,CAAC,GAAG,QAAQ,eAAe,IAAI,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CACrL,CAAC;gBAEF,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,GAAG,CAAC,eAAe,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;gBAErF,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAC5D,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACpC,MAAM,aAAa,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAErC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACnD,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC;AAED,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"simulateSchedule.js","sourceRoot":"","sources":["../../../src/commands/daylightSimulation/simulateSchedule.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/deviceControl/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAU,MAAM,8BAA8B,CAAC;AAkBxE,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QA6BzE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/deviceControl/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAU,MAAM,8BAA8B,CAAC;AAmBxE,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QA8BzE"}
@@ -18,6 +18,7 @@ export default function registerConfig(program, deps) {
18
18
  .option('--intensity-multiplier <lightId=multiplier>', 'Set per-light intensity multiplier for auto-cct (e.g. AAA-333=0.8). Default is 1.0 when unset.')
19
19
  .option('--default-curve <curve>', 'Default curve type (hann, wider-middle-small, wider-middle-medium, wider-middle-large, cie-daylight, sun-altitude, perez-daylight)')
20
20
  .option('--auto-start-app <boolean>', 'Automatically start Amaran desktop app on connection failure (default: true)')
21
+ .option('--max-lux <number>', 'Maximum lux output of the setup (for auto-cct scaling)')
21
22
  .option('--show', 'Show current configuration')
22
23
  .action(asyncCommand(handleConfig(deps)));
23
24
  }
@@ -183,6 +184,32 @@ function handleConfig(deps) {
183
184
  }
184
185
  changes.push(`Auto-start app: ${config.autoStartApp ? 'enabled' : 'disabled'}`);
185
186
  }
187
+ // Handle max-lux option
188
+ if (options.maxLux !== undefined) {
189
+ let valid = false;
190
+ const luxVal = options.maxLux;
191
+ // Try as simple number
192
+ const luxNum = parseFloat(luxVal);
193
+ if (!Number.isNaN(luxNum) && luxNum > 0 && !luxVal.includes(':')) {
194
+ config.maxLux = luxNum;
195
+ changes.push(`Max Lux: ${luxNum}`);
196
+ valid = true;
197
+ }
198
+ else {
199
+ // Try as map
200
+ const { parseMaxLuxMap } = await import('../../daylightSimulation/mathUtil.js');
201
+ const map = parseMaxLuxMap(luxVal);
202
+ if (map) {
203
+ config.maxLux = map;
204
+ changes.push(`Max Lux Map: ${JSON.stringify(map)}`);
205
+ valid = true;
206
+ }
207
+ }
208
+ if (!valid) {
209
+ console.error(chalk.red('max-lux must be a positive number OR a map string like "2700:8000,5600:10000"'));
210
+ process.exit(1);
211
+ }
212
+ }
186
213
  // Ensure logical ordering if both sides provided
187
214
  if (config.cctMin !== undefined &&
188
215
  config.cctMax !== undefined &&