amaran-light-cli 1.1.2 → 1.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -5
- package/README.md +94 -70
- package/dist/__tests__/autoCct.test.js +89 -20
- package/dist/__tests__/autoCct.test.js.map +1 -1
- package/dist/__tests__/autostart.test.js +87 -41
- package/dist/__tests__/autostart.test.js.map +1 -1
- package/dist/__tests__/cctUtil.test.js +26 -27
- package/dist/__tests__/cctUtil.test.js.map +1 -1
- package/dist/__tests__/cli.smoke.test.js +18 -13
- package/dist/__tests__/cli.smoke.test.js.map +1 -1
- package/dist/__tests__/intensityApi.test.js +4 -9
- package/dist/__tests__/intensityApi.test.js.map +1 -1
- package/dist/__tests__/lightControl.test.js +79 -68
- package/dist/__tests__/lightControl.test.js.map +1 -1
- package/dist/__tests__/setupTests.js +9 -8
- package/dist/__tests__/setupTests.js.map +1 -1
- package/dist/__tests__/simulateSchedule.test.d.ts +2 -0
- package/dist/__tests__/simulateSchedule.test.d.ts.map +1 -0
- package/dist/__tests__/simulateSchedule.test.js +87 -0
- package/dist/__tests__/simulateSchedule.test.js.map +1 -0
- package/dist/autostart.js +19 -60
- package/dist/autostart.js.map +1 -1
- package/dist/cctUtil.d.ts.map +1 -1
- package/dist/cctUtil.js +16 -21
- package/dist/cctUtil.js.map +1 -1
- package/dist/cli.d.ts +2 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +52 -231
- package/dist/cli.js.map +1 -1
- package/dist/commands/__tests__/integration.test.d.ts +2 -0
- package/dist/commands/__tests__/integration.test.d.ts.map +1 -0
- package/dist/commands/__tests__/integration.test.js +279 -0
- package/dist/commands/__tests__/integration.test.js.map +1 -0
- package/dist/commands/autoCct.d.ts +1 -1
- package/dist/commands/autoCct.d.ts.map +1 -1
- package/dist/commands/autoCct.js +90 -76
- package/dist/commands/autoCct.js.map +1 -1
- package/dist/commands/cct.d.ts +1 -1
- package/dist/commands/cct.d.ts.map +1 -1
- package/dist/commands/cct.js +17 -23
- package/dist/commands/cct.js.map +1 -1
- package/dist/commands/color.d.ts +1 -1
- package/dist/commands/color.d.ts.map +1 -1
- package/dist/commands/color.js +9 -15
- package/dist/commands/color.js.map +1 -1
- package/dist/commands/config.d.ts +4 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +219 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/discover.d.ts +1 -1
- package/dist/commands/discover.d.ts.map +1 -1
- package/dist/commands/discover.js +8 -14
- package/dist/commands/discover.js.map +1 -1
- package/dist/commands/hsi.d.ts +1 -1
- package/dist/commands/hsi.d.ts.map +1 -1
- package/dist/commands/hsi.js +11 -17
- package/dist/commands/hsi.js.map +1 -1
- package/dist/commands/intensity.d.ts +1 -1
- package/dist/commands/intensity.d.ts.map +1 -1
- package/dist/commands/intensity.js +9 -15
- package/dist/commands/intensity.js.map +1 -1
- package/dist/commands/list.d.ts +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +6 -12
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/power.d.ts +1 -1
- package/dist/commands/power.d.ts.map +1 -1
- package/dist/commands/power.js +18 -24
- package/dist/commands/power.js.map +1 -1
- package/dist/commands/printSchedule.d.ts +5 -0
- package/dist/commands/printSchedule.d.ts.map +1 -0
- package/dist/commands/{schedule.js → printSchedule.js} +92 -84
- package/dist/commands/printSchedule.js.map +1 -0
- package/dist/commands/service.d.ts +1 -1
- package/dist/commands/service.d.ts.map +1 -1
- package/dist/commands/service.js +54 -88
- package/dist/commands/service.js.map +1 -1
- package/dist/commands/simulateSchedule.d.ts +1 -1
- package/dist/commands/simulateSchedule.d.ts.map +1 -1
- package/dist/commands/simulateSchedule.js +50 -70
- package/dist/commands/simulateSchedule.js.map +1 -1
- package/dist/commands/status.d.ts +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +8 -14
- package/dist/commands/status.js.map +1 -1
- package/dist/commands.d.ts +1 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +56 -33
- package/dist/commands.js.map +1 -1
- package/dist/constants.d.ts +13 -14
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +21 -27
- package/dist/constants.js.map +1 -1
- package/dist/discovery.js +8 -15
- package/dist/discovery.js.map +1 -1
- package/dist/geoipUtil.js +3 -9
- package/dist/geoipUtil.js.map +1 -1
- package/dist/lightControl.js +18 -20
- package/dist/lightControl.js.map +1 -1
- package/dist/test/MockLightServer.d.ts +13 -0
- package/dist/test/MockLightServer.d.ts.map +1 -0
- package/dist/test/MockLightServer.js +140 -0
- package/dist/test/MockLightServer.js.map +1 -0
- package/dist/types.d.ts +4 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -2
- package/package.json +16 -15
- package/scripts/release.js +112 -0
- package/scripts/test.sh +2 -5
- package/dist/commands/schedule.d.ts +0 -5
- package/dist/commands/schedule.d.ts.map +0 -1
- package/dist/commands/schedule.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulateSchedule.js","sourceRoot":"","sources":["../../src/commands/simulateSchedule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"simulateSchedule.js","sourceRoot":"","sources":["../../src/commands/simulateSchedule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Command } from 'commander';
|
|
2
|
-
import type { CommandDeps } from '../types';
|
|
2
|
+
import type { CommandDeps } from '../types.js';
|
|
3
3
|
export declare function registerStatus(program: Command, deps: CommandDeps): void;
|
|
4
4
|
export default registerStatus;
|
|
5
5
|
//# sourceMappingURL=status.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QAmDjE;AAED,eAAe,cAAc,CAAC"}
|
package/dist/commands/status.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.registerStatus = registerStatus;
|
|
7
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
function registerStatus(program, deps) {
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
export function registerStatus(program, deps) {
|
|
9
3
|
const { createController, findDevice, asyncCommand } = deps;
|
|
10
4
|
program
|
|
11
5
|
.command('status <device>')
|
|
@@ -17,11 +11,11 @@ function registerStatus(program, deps) {
|
|
|
17
11
|
const controller = await createController(options.url, options.clientId, options.debug);
|
|
18
12
|
const device = findDevice(controller, deviceQuery);
|
|
19
13
|
if (!device) {
|
|
20
|
-
console.error(
|
|
14
|
+
console.error(chalk.red(`Device "${deviceQuery}" not found`));
|
|
21
15
|
process.exit(1);
|
|
22
16
|
}
|
|
23
17
|
if (!device.node_id) {
|
|
24
|
-
console.error(
|
|
18
|
+
console.error(chalk.red(`Device "${deviceQuery}" has no node_id`));
|
|
25
19
|
process.exit(1);
|
|
26
20
|
}
|
|
27
21
|
const nodeId = device.node_id;
|
|
@@ -29,8 +23,8 @@ function registerStatus(program, deps) {
|
|
|
29
23
|
if (success) {
|
|
30
24
|
const nodeConfig = controller.getNode(nodeId);
|
|
31
25
|
const displayName = device.device_name || device.name || device.id || device.node_id || 'Unknown';
|
|
32
|
-
console.log(
|
|
33
|
-
console.log(` State: ${data?.sleep ?
|
|
26
|
+
console.log(chalk.blue(`Status for ${displayName}:`));
|
|
27
|
+
console.log(` State: ${data?.sleep ? chalk.red('Off') : chalk.green('On')}`);
|
|
34
28
|
if (nodeConfig) {
|
|
35
29
|
if (nodeConfig.intensity !== undefined) {
|
|
36
30
|
console.log(` Intensity: ${nodeConfig.intensity}%`);
|
|
@@ -44,11 +38,11 @@ function registerStatus(program, deps) {
|
|
|
44
38
|
}
|
|
45
39
|
}
|
|
46
40
|
else {
|
|
47
|
-
console.error(
|
|
41
|
+
console.error(chalk.red(`✗ Failed to get status: ${message}`));
|
|
48
42
|
}
|
|
49
43
|
controller.disconnect();
|
|
50
44
|
});
|
|
51
45
|
}));
|
|
52
46
|
}
|
|
53
|
-
|
|
47
|
+
export default registerStatus;
|
|
54
48
|
//# sourceMappingURL=status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
package/dist/commands.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Command } from 'commander';
|
|
2
|
-
import type { CommandDeps } from './types';
|
|
2
|
+
import type { CommandDeps } from './types.js';
|
|
3
3
|
export declare function registerCommands(program: Command, deps: CommandDeps): void;
|
|
4
4
|
export default registerCommands;
|
|
5
5
|
//# sourceMappingURL=commands.d.ts.map
|
package/dist/commands.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,OAAO,KAAK,EAAE,WAAW,EAAU,MAAM,YAAY,CAAC;AAGtD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,QA0CnE;AAED,eAAe,gBAAgB,CAAC"}
|
package/dist/commands.js
CHANGED
|
@@ -1,36 +1,59 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const simulateSchedule_1 = __importDefault(require("./commands/simulateSchedule"));
|
|
18
|
-
const status_1 = __importDefault(require("./commands/status"));
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import registerAutoCct from './commands/autoCct.js';
|
|
5
|
+
import registerCct from './commands/cct.js';
|
|
6
|
+
import registerColor from './commands/color.js';
|
|
7
|
+
import registerConfig from './commands/config.js';
|
|
8
|
+
import registerDiscover from './commands/discover.js';
|
|
9
|
+
import registerHsi from './commands/hsi.js';
|
|
10
|
+
import registerIntensity from './commands/intensity.js';
|
|
11
|
+
import registerList from './commands/list.js';
|
|
12
|
+
import registerPower from './commands/power.js';
|
|
13
|
+
import registerPrintSchedule from './commands/printSchedule.js';
|
|
14
|
+
import registerService from './commands/service.js';
|
|
15
|
+
import registerSimulateSchedule from './commands/simulateSchedule.js';
|
|
16
|
+
import registerStatus from './commands/status.js';
|
|
19
17
|
// Expose a function to register commands on a commander program instance
|
|
20
|
-
function registerCommands(program, deps) {
|
|
21
|
-
//
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
18
|
+
export function registerCommands(program, deps) {
|
|
19
|
+
// Register config command first since other commands may depend on it
|
|
20
|
+
const configDeps = {
|
|
21
|
+
...deps,
|
|
22
|
+
loadConfig: deps.loadConfig || (() => null),
|
|
23
|
+
saveConfig: deps.saveConfig ||
|
|
24
|
+
((config, changes) => {
|
|
25
|
+
if (deps.saveWsUrl && config.wsUrl) {
|
|
26
|
+
deps.saveWsUrl(config.wsUrl);
|
|
27
|
+
}
|
|
28
|
+
// Save the rest of the config
|
|
29
|
+
const configPath = path.join(process.env.HOME || '', '.amaran-cli.json');
|
|
30
|
+
fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
31
|
+
fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
32
|
+
if (changes && changes.length > 0) {
|
|
33
|
+
console.log(chalk.green('Configuration saved successfully:'));
|
|
34
|
+
changes.forEach((change) => {
|
|
35
|
+
console.log(chalk.green(` • ${change}`));
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
console.log(chalk.green('Configuration saved successfully'));
|
|
40
|
+
}
|
|
41
|
+
}),
|
|
42
|
+
};
|
|
43
|
+
// Register all commands
|
|
44
|
+
registerConfig(program, configDeps);
|
|
45
|
+
registerAutoCct(program, deps);
|
|
46
|
+
registerPrintSchedule(program, deps);
|
|
47
|
+
registerSimulateSchedule(program, deps);
|
|
48
|
+
registerDiscover(program, deps);
|
|
49
|
+
registerList(program, deps);
|
|
50
|
+
registerPower(program, deps);
|
|
51
|
+
registerIntensity(program, deps);
|
|
52
|
+
registerCct(program, deps);
|
|
53
|
+
registerHsi(program, deps);
|
|
54
|
+
registerColor(program, deps);
|
|
55
|
+
registerStatus(program, deps);
|
|
56
|
+
registerService(program, deps);
|
|
34
57
|
}
|
|
35
|
-
|
|
58
|
+
export default registerCommands;
|
|
36
59
|
//# sourceMappingURL=commands.js.map
|
package/dist/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
1
|
export declare const CCT_DEFAULTS: {
|
|
3
2
|
cctMinK: number;
|
|
4
3
|
cctMaxK: number;
|
|
@@ -7,55 +6,55 @@ export declare const CCT_DEFAULTS: {
|
|
|
7
6
|
};
|
|
8
7
|
export declare const SPECIAL_TIME_CONFIG: readonly [{
|
|
9
8
|
readonly key: "nightEnd";
|
|
10
|
-
readonly color: chalk.
|
|
9
|
+
readonly color: import("chalk").ChalkInstance;
|
|
11
10
|
readonly emoji: "NE";
|
|
12
11
|
}, {
|
|
13
12
|
readonly key: "nauticalDawn";
|
|
14
|
-
readonly color: chalk.
|
|
13
|
+
readonly color: import("chalk").ChalkInstance;
|
|
15
14
|
readonly emoji: "DN";
|
|
16
15
|
}, {
|
|
17
16
|
readonly key: "dawn";
|
|
18
|
-
readonly color: chalk.
|
|
17
|
+
readonly color: import("chalk").ChalkInstance;
|
|
19
18
|
readonly emoji: "DA";
|
|
20
19
|
}, {
|
|
21
20
|
readonly key: "sunrise";
|
|
22
|
-
readonly color: chalk.
|
|
21
|
+
readonly color: import("chalk").ChalkInstance;
|
|
23
22
|
readonly emoji: "SR";
|
|
24
23
|
}, {
|
|
25
24
|
readonly key: "sunriseEnd";
|
|
26
|
-
readonly color: chalk.
|
|
25
|
+
readonly color: import("chalk").ChalkInstance;
|
|
27
26
|
readonly emoji: "SE";
|
|
28
27
|
}, {
|
|
29
28
|
readonly key: "goldenHourEnd";
|
|
30
|
-
readonly color: chalk.
|
|
29
|
+
readonly color: import("chalk").ChalkInstance;
|
|
31
30
|
readonly emoji: "GE";
|
|
32
31
|
}, {
|
|
33
32
|
readonly key: "solarNoon";
|
|
34
|
-
readonly color: chalk.
|
|
33
|
+
readonly color: import("chalk").ChalkInstance;
|
|
35
34
|
readonly emoji: "SN";
|
|
36
35
|
}, {
|
|
37
36
|
readonly key: "goldenHour";
|
|
38
|
-
readonly color: chalk.
|
|
37
|
+
readonly color: import("chalk").ChalkInstance;
|
|
39
38
|
readonly emoji: "GH";
|
|
40
39
|
}, {
|
|
41
40
|
readonly key: "sunsetStart";
|
|
42
|
-
readonly color: chalk.
|
|
41
|
+
readonly color: import("chalk").ChalkInstance;
|
|
43
42
|
readonly emoji: "SB";
|
|
44
43
|
}, {
|
|
45
44
|
readonly key: "sunset";
|
|
46
|
-
readonly color: chalk.
|
|
45
|
+
readonly color: import("chalk").ChalkInstance;
|
|
47
46
|
readonly emoji: "SS";
|
|
48
47
|
}, {
|
|
49
48
|
readonly key: "nauticalDusk";
|
|
50
|
-
readonly color: chalk.
|
|
49
|
+
readonly color: import("chalk").ChalkInstance;
|
|
51
50
|
readonly emoji: "ND";
|
|
52
51
|
}, {
|
|
53
52
|
readonly key: "dusk";
|
|
54
|
-
readonly color: chalk.
|
|
53
|
+
readonly color: import("chalk").ChalkInstance;
|
|
55
54
|
readonly emoji: "DU";
|
|
56
55
|
}, {
|
|
57
56
|
readonly key: "night";
|
|
58
|
-
readonly color: chalk.
|
|
57
|
+
readonly color: import("chalk").ChalkInstance;
|
|
59
58
|
readonly emoji: "NI";
|
|
60
59
|
}];
|
|
61
60
|
export declare const DEVICE_DEFAULTS: {
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY;;;;;CAKxB,CAAC;AAGF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EActB,CAAC;AAGX,eAAO,MAAM,eAAe;;;;;;;CAO3B,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAK7B,CAAC;AAGF,eAAO,MAAM,cAAc;;;;;sCAMA,MAAM;;;CAGvB,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -1,35 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ERROR_MESSAGES = exports.VALIDATION_RANGES = exports.DEVICE_DEFAULTS = exports.SPECIAL_TIME_CONFIG = exports.CCT_DEFAULTS = void 0;
|
|
7
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
1
|
+
import chalk from 'chalk';
|
|
8
2
|
// CCT calculation defaults
|
|
9
|
-
|
|
3
|
+
export const CCT_DEFAULTS = {
|
|
10
4
|
cctMinK: 1700, // 1700K is the CCT of campfires or candles
|
|
11
5
|
cctMaxK: 5500, // 5500K is the CCT of non-overcast noon sunlight
|
|
12
6
|
intensityMinPct: 5,
|
|
13
7
|
intensityMaxPct: 100,
|
|
14
8
|
};
|
|
15
9
|
// Special time configuration - single source of truth for colors and emojis
|
|
16
|
-
|
|
17
|
-
{ key: 'nightEnd', color:
|
|
18
|
-
{ key: 'nauticalDawn', color:
|
|
19
|
-
{ key: 'dawn', color:
|
|
20
|
-
{ key: 'sunrise', color:
|
|
21
|
-
{ key: 'sunriseEnd', color:
|
|
22
|
-
{ key: 'goldenHourEnd', color:
|
|
23
|
-
{ key: 'solarNoon', color:
|
|
24
|
-
{ key: 'goldenHour', color:
|
|
25
|
-
{ key: 'sunsetStart', color:
|
|
26
|
-
{ key: 'sunset', color:
|
|
27
|
-
{ key: 'nauticalDusk', color:
|
|
28
|
-
{ key: 'dusk', color:
|
|
29
|
-
{ key: 'night', color:
|
|
10
|
+
export const SPECIAL_TIME_CONFIG = [
|
|
11
|
+
{ key: 'nightEnd', color: chalk.blue, emoji: 'NE' },
|
|
12
|
+
{ key: 'nauticalDawn', color: chalk.cyan, emoji: 'DN' },
|
|
13
|
+
{ key: 'dawn', color: chalk.cyan, emoji: 'DA' },
|
|
14
|
+
{ key: 'sunrise', color: chalk.yellow, emoji: 'SR' },
|
|
15
|
+
{ key: 'sunriseEnd', color: chalk.yellow, emoji: 'SE' },
|
|
16
|
+
{ key: 'goldenHourEnd', color: chalk.yellow, emoji: 'GE' },
|
|
17
|
+
{ key: 'solarNoon', color: chalk.green, emoji: 'SN' },
|
|
18
|
+
{ key: 'goldenHour', color: chalk.yellow, emoji: 'GH' },
|
|
19
|
+
{ key: 'sunsetStart', color: chalk.magenta, emoji: 'SB' },
|
|
20
|
+
{ key: 'sunset', color: chalk.magenta, emoji: 'SS' },
|
|
21
|
+
{ key: 'nauticalDusk', color: chalk.magenta, emoji: 'ND' },
|
|
22
|
+
{ key: 'dusk', color: chalk.magenta, emoji: 'DU' },
|
|
23
|
+
{ key: 'night', color: chalk.blue, emoji: 'NI' },
|
|
30
24
|
];
|
|
31
25
|
// Device control defaults
|
|
32
|
-
|
|
26
|
+
export const DEVICE_DEFAULTS = {
|
|
33
27
|
updateInterval: 500, // milliseconds for smooth visual simulation
|
|
34
28
|
simulationDuration: 10, // seconds to compress full day
|
|
35
29
|
reconnectAttempts: 3,
|
|
@@ -38,16 +32,16 @@ exports.DEVICE_DEFAULTS = {
|
|
|
38
32
|
statusCheckDelay: 250, // milliseconds for device status checks
|
|
39
33
|
};
|
|
40
34
|
// Validation ranges
|
|
41
|
-
|
|
35
|
+
export const VALIDATION_RANGES = {
|
|
42
36
|
latitude: { min: -90, max: 90 },
|
|
43
37
|
longitude: { min: -180, max: 180 },
|
|
44
38
|
cct: { min: 1000, max: 20000 },
|
|
45
39
|
intensity: { min: 0, max: 100 },
|
|
46
40
|
};
|
|
47
41
|
// Error messages
|
|
48
|
-
|
|
49
|
-
invalidLatitude: `Latitude must be between ${
|
|
50
|
-
invalidLongitude: `Longitude must be between ${
|
|
42
|
+
export const ERROR_MESSAGES = {
|
|
43
|
+
invalidLatitude: `Latitude must be between ${VALIDATION_RANGES.latitude.min} and ${VALIDATION_RANGES.latitude.max}`,
|
|
44
|
+
invalidLongitude: `Longitude must be between ${VALIDATION_RANGES.longitude.min} and ${VALIDATION_RANGES.longitude.max}`,
|
|
51
45
|
invalidDuration: 'Duration must be at least 1 second',
|
|
52
46
|
invalidCurve: 'Invalid curve type. Use "hann", "wider-middle-small", "wider-middle-medium", "wider-middle-large", "cie-daylight", "sun-altitude", or "perez-daylight"',
|
|
53
47
|
deviceNotFound: (device) => `Device "${device}" not found`,
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/discovery.js
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.parseAmaranPorts = parseAmaranPorts;
|
|
7
|
-
exports.discoverLocalWebSocket = discoverLocalWebSocket;
|
|
8
|
-
const node_child_process_1 = require("node:child_process");
|
|
9
|
-
const node_util_1 = require("node:util");
|
|
10
|
-
const ws_1 = __importDefault(require("ws"));
|
|
11
|
-
const execAsync = (0, node_util_1.promisify)(node_child_process_1.exec);
|
|
1
|
+
import { exec } from 'node:child_process';
|
|
2
|
+
import { promisify } from 'node:util';
|
|
3
|
+
import WebSocket from 'ws';
|
|
4
|
+
const execAsync = promisify(exec);
|
|
12
5
|
// Parse lsof output lines for ports bound by processes starting with "amaran"
|
|
13
|
-
function parseAmaranPorts(lsofOutput) {
|
|
6
|
+
export function parseAmaranPorts(lsofOutput) {
|
|
14
7
|
const results = [];
|
|
15
8
|
const lines = lsofOutput.split(/\r?\n/);
|
|
16
9
|
for (const line of lines) {
|
|
@@ -65,7 +58,7 @@ function parseAmaranPorts(lsofOutput) {
|
|
|
65
58
|
async function probeWebSocket(url, timeoutMs = 1200) {
|
|
66
59
|
return new Promise((resolve) => {
|
|
67
60
|
let settled = false;
|
|
68
|
-
const ws = new
|
|
61
|
+
const ws = new WebSocket(url);
|
|
69
62
|
const timer = setTimeout(() => {
|
|
70
63
|
if (!settled) {
|
|
71
64
|
settled = true;
|
|
@@ -100,7 +93,7 @@ async function probeWebSocket(url, timeoutMs = 1200) {
|
|
|
100
93
|
});
|
|
101
94
|
});
|
|
102
95
|
}
|
|
103
|
-
async function discoverLocalWebSocket(preferredHost = '127.0.0.1', debug = false) {
|
|
96
|
+
export async function discoverLocalWebSocket(preferredHost = '127.0.0.1', debug = false) {
|
|
104
97
|
try {
|
|
105
98
|
const { stdout } = await execAsync('lsof -i -P -n');
|
|
106
99
|
const candidates = parseAmaranPorts(stdout);
|
|
@@ -126,5 +119,5 @@ async function discoverLocalWebSocket(preferredHost = '127.0.0.1', debug = false
|
|
|
126
119
|
}
|
|
127
120
|
return null;
|
|
128
121
|
}
|
|
129
|
-
|
|
122
|
+
export default discoverLocalWebSocket;
|
|
130
123
|
//# sourceMappingURL=discovery.js.map
|
package/dist/discovery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/geoipUtil.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getLocationFromIP = getLocationFromIP;
|
|
7
|
-
const geoip_lite_1 = __importDefault(require("geoip-lite"));
|
|
8
|
-
function getLocationFromIP(ip) {
|
|
1
|
+
import geoip from 'geoip-lite';
|
|
2
|
+
export function getLocationFromIP(ip) {
|
|
9
3
|
// If no IP provided, use public IP via external service or fallback to localhost
|
|
10
4
|
// geoip-lite works best with public IPs
|
|
11
5
|
if (!ip || ip === '127.0.0.1' || ip === '::1') {
|
|
@@ -13,7 +7,7 @@ function getLocationFromIP(ip) {
|
|
|
13
7
|
// For now, fallback to null
|
|
14
8
|
return null;
|
|
15
9
|
}
|
|
16
|
-
const geo =
|
|
10
|
+
const geo = geoip.lookup(ip);
|
|
17
11
|
if (!geo)
|
|
18
12
|
return null;
|
|
19
13
|
return {
|
package/dist/geoipUtil.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geoipUtil.js","sourceRoot":"","sources":["../src/geoipUtil.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"geoipUtil.js","sourceRoot":"","sources":["../src/geoipUtil.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAS/B,MAAM,UAAU,iBAAiB,CAAC,EAAW;IAC3C,iFAAiF;IACjF,wCAAwC;IACxC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QAC9C,4CAA4C;QAC5C,4BAA4B;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,EAAE,EAAE,GAAG,CAAC,EAAsB;KAC/B,CAAC;AACJ,CAAC"}
|
package/dist/lightControl.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
MIT License
|
|
4
3
|
Copyright (c) 2024 S. Zachariah Sprackett <zac@sprackett.com>
|
|
@@ -24,13 +23,9 @@ SOFTWARE.
|
|
|
24
23
|
|
|
25
24
|
Downloaded from: https://gist.github.com/zsprackett/29334b9be1e2bd90c1737bd0ba0eaf5c
|
|
26
25
|
*/
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
32
|
-
const ws_1 = __importDefault(require("ws"));
|
|
33
|
-
const constants_1 = require("./constants");
|
|
26
|
+
import chalk from 'chalk';
|
|
27
|
+
import WebSocket from 'ws';
|
|
28
|
+
import { DEVICE_DEFAULTS } from './constants.js';
|
|
34
29
|
class LightController {
|
|
35
30
|
/**
|
|
36
31
|
* Apply a command to all light devices with throttling.
|
|
@@ -54,7 +49,7 @@ class LightController {
|
|
|
54
49
|
return;
|
|
55
50
|
}
|
|
56
51
|
this.log(`${commandName} for ${lightDevices.length} light(s)`);
|
|
57
|
-
const waitTimeMs =
|
|
52
|
+
const waitTimeMs = DEVICE_DEFAULTS.commandThrottleDelay;
|
|
58
53
|
// Send commands with waitTimeMs throttling between each
|
|
59
54
|
for (let i = 0; i < lightDevices.length; i++) {
|
|
60
55
|
const device = lightDevices[i];
|
|
@@ -156,14 +151,17 @@ class LightController {
|
|
|
156
151
|
sleep(ms) {
|
|
157
152
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
158
153
|
}
|
|
154
|
+
ws;
|
|
155
|
+
clientId = 'unknown_client';
|
|
156
|
+
deviceList = [];
|
|
157
|
+
sceneList = [];
|
|
158
|
+
nodeConfigs = new Map();
|
|
159
|
+
debug;
|
|
160
|
+
onInitializedCallback;
|
|
161
|
+
commandCallbacks = new Map();
|
|
162
|
+
pendingQueue = [];
|
|
159
163
|
constructor(wsUrl, clientId, onInitialized, debug = false) {
|
|
160
|
-
this.
|
|
161
|
-
this.deviceList = [];
|
|
162
|
-
this.sceneList = [];
|
|
163
|
-
this.nodeConfigs = new Map();
|
|
164
|
-
this.commandCallbacks = new Map();
|
|
165
|
-
this.pendingQueue = [];
|
|
166
|
-
this.ws = new ws_1.default(wsUrl);
|
|
164
|
+
this.ws = new WebSocket(wsUrl);
|
|
167
165
|
if (clientId) {
|
|
168
166
|
this.clientId = clientId;
|
|
169
167
|
}
|
|
@@ -222,7 +220,7 @@ class LightController {
|
|
|
222
220
|
// Extract address and port from the error message for cleaner output
|
|
223
221
|
const addressMatch = error.message.match(/(\S+:\d+)/);
|
|
224
222
|
const addressPort = addressMatch ? addressMatch[1] : this.ws.url;
|
|
225
|
-
console.error(
|
|
223
|
+
console.error(chalk.red(`WebSocket connection failed to ${addressPort}`));
|
|
226
224
|
}
|
|
227
225
|
});
|
|
228
226
|
this.ws.on('close', () => {
|
|
@@ -240,7 +238,7 @@ class LightController {
|
|
|
240
238
|
this.getDeviceList();
|
|
241
239
|
}
|
|
242
240
|
sendCommand(nodeId, type, args, callback) {
|
|
243
|
-
if (this.ws.readyState ===
|
|
241
|
+
if (this.ws.readyState === WebSocket.OPEN) {
|
|
244
242
|
const command = {
|
|
245
243
|
version: 1,
|
|
246
244
|
client_id: this.clientId,
|
|
@@ -356,7 +354,7 @@ class LightController {
|
|
|
356
354
|
this.sendCommand(nodeId, 'set_system_effect', args, callback);
|
|
357
355
|
}
|
|
358
356
|
async disconnect() {
|
|
359
|
-
if (this.ws.readyState ===
|
|
357
|
+
if (this.ws.readyState === WebSocket.OPEN) {
|
|
360
358
|
await this.waitForPendingCommands(5000);
|
|
361
359
|
this.ws.close();
|
|
362
360
|
this.log('WebSocket connection closed');
|
|
@@ -404,5 +402,5 @@ class LightController {
|
|
|
404
402
|
}
|
|
405
403
|
}
|
|
406
404
|
}
|
|
407
|
-
|
|
405
|
+
export default LightController;
|
|
408
406
|
//# sourceMappingURL=lightControl.js.map
|