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.
- package/README.md +36 -16
- package/dist/__tests__/lightControl.test.js +0 -31
- package/dist/__tests__/lightControl.test.js.map +1 -1
- package/dist/__tests__/simulateSchedule.test.js +4 -2
- package/dist/__tests__/simulateSchedule.test.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +7 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/daylightSimulation/autoCct.d.ts.map +1 -1
- package/dist/commands/daylightSimulation/autoCct.js +49 -17
- package/dist/commands/daylightSimulation/autoCct.js.map +1 -1
- package/dist/commands/daylightSimulation/graphSchedule.js +1 -1
- package/dist/commands/daylightSimulation/graphSchedule.js.map +1 -1
- package/dist/commands/daylightSimulation/printSchedule.js +4 -4
- package/dist/commands/daylightSimulation/printSchedule.js.map +1 -1
- package/dist/commands/daylightSimulation/schedule.d.ts +5 -0
- package/dist/commands/daylightSimulation/schedule.d.ts.map +1 -0
- package/dist/commands/daylightSimulation/schedule.js +11 -0
- package/dist/commands/daylightSimulation/schedule.js.map +1 -0
- package/dist/commands/daylightSimulation/simulateSchedule.d.ts.map +1 -1
- package/dist/commands/daylightSimulation/simulateSchedule.js +6 -2
- package/dist/commands/daylightSimulation/simulateSchedule.js.map +1 -1
- package/dist/commands/daylightSimulation/weather.d.ts +5 -0
- package/dist/commands/daylightSimulation/weather.d.ts.map +1 -0
- package/dist/commands/daylightSimulation/weather.js +96 -0
- package/dist/commands/daylightSimulation/weather.js.map +1 -0
- package/dist/commands/deviceControl/cct.d.ts.map +1 -1
- package/dist/commands/deviceControl/cct.js +91 -3
- package/dist/commands/deviceControl/cct.js.map +1 -1
- package/dist/commands/deviceControl/color.d.ts.map +1 -1
- package/dist/commands/deviceControl/color.js +171 -3
- package/dist/commands/deviceControl/color.js.map +1 -1
- package/dist/commands/deviceControl/config.d.ts.map +1 -1
- package/dist/commands/deviceControl/config.js +36 -3
- package/dist/commands/deviceControl/config.js.map +1 -1
- package/dist/commands/deviceControl/hsi.d.ts.map +1 -1
- package/dist/commands/deviceControl/hsi.js +132 -2
- package/dist/commands/deviceControl/hsi.js.map +1 -1
- package/dist/commands/deviceControl/info.d.ts.map +1 -1
- package/dist/commands/deviceControl/info.js +115 -29
- package/dist/commands/deviceControl/info.js.map +1 -1
- package/dist/commands/deviceControl/intensity.d.ts.map +1 -1
- package/dist/commands/deviceControl/intensity.js +86 -2
- package/dist/commands/deviceControl/intensity.js.map +1 -1
- package/dist/commands/deviceControl/power.d.ts.map +1 -1
- package/dist/commands/deviceControl/power.js +120 -29
- package/dist/commands/deviceControl/power.js.map +1 -1
- package/dist/commands/deviceControl/status.d.ts.map +1 -1
- package/dist/commands/deviceControl/status.js +184 -21
- package/dist/commands/deviceControl/status.js.map +1 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +4 -8
- package/dist/commands.js.map +1 -1
- package/dist/daylightSimulation/cctUtil.d.ts.map +1 -1
- package/dist/daylightSimulation/cctUtil.js +2 -1
- package/dist/daylightSimulation/cctUtil.js.map +1 -1
- package/dist/daylightSimulation/privacyUtil.d.ts +13 -0
- package/dist/daylightSimulation/privacyUtil.d.ts.map +1 -0
- package/dist/daylightSimulation/privacyUtil.js +30 -0
- package/dist/daylightSimulation/privacyUtil.js.map +1 -0
- package/dist/daylightSimulation/textSchedule.d.ts +1 -1
- package/dist/daylightSimulation/textSchedule.d.ts.map +1 -1
- package/dist/daylightSimulation/textSchedule.js +3 -18
- package/dist/daylightSimulation/textSchedule.js.map +1 -1
- package/dist/daylightSimulation/weatherUtil.d.ts +35 -0
- package/dist/daylightSimulation/weatherUtil.d.ts.map +1 -0
- package/dist/daylightSimulation/weatherUtil.js +163 -0
- package/dist/daylightSimulation/weatherUtil.js.map +1 -0
- package/dist/deviceControl/lightControl.d.ts +2 -5
- package/dist/deviceControl/lightControl.d.ts.map +1 -1
- package/dist/deviceControl/lightControl.js +38 -23
- package/dist/deviceControl/lightControl.js.map +1 -1
- package/dist/deviceControl/types.d.ts +33 -1
- package/dist/deviceControl/types.d.ts.map +1 -1
- package/dist/test/MockLightServer.d.ts.map +1 -1
- package/dist/test/MockLightServer.js +6 -5
- package/dist/test/MockLightServer.js.map +1 -1
- package/package.json +1 -1
- package/dist/commands/deviceControl/firmware.d.ts +0 -5
- package/dist/commands/deviceControl/firmware.d.ts.map +0 -1
- package/dist/commands/deviceControl/firmware.js +0 -68
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textSchedule.d.ts","sourceRoot":"","sources":["../../src/daylightSimulation/textSchedule.ts"],"names":[],"mappings":"
|
|
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
|
|
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,
|
|
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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"textSchedule.js","sourceRoot":"","sources":["../../src/daylightSimulation/textSchedule.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"AA2BA,OAAO,SAAS,MAAM,IAAI,CAAC;AAE3B,OAAO,KAAK,EAAW,WAAW,EAAE,eAAe,EAAe,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AASzG;;;;GAIG;AACH,cAAM,eAAe;IACnB,OAAO,CAAC,EAAE,CAAY;IACtB,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,gBAAgB,CAA2C;IACnE,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,qBAAqB,CAAC,CAAa;IAC3C,OAAO,CAAC,KAAK,CAAkB;gBAEnB,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,IAAI,EAAE,KAAK,UAAQ;IAoCvF,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,aAAa;
|
|
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 (
|
|
85
|
-
|
|
86
|
-
this.commandCallbacks.delete(
|
|
98
|
+
if (callback && usedKey) {
|
|
99
|
+
callback(false, parsedData.message);
|
|
100
|
+
this.commandCallbacks.delete(usedKey);
|
|
87
101
|
}
|
|
88
102
|
return;
|
|
89
103
|
}
|
|
90
|
-
if (
|
|
91
|
-
|
|
92
|
-
this.commandCallbacks.delete(
|
|
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,
|
|
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
|
-
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"lightControl.js","sourceRoot":"","sources":["../../src/deviceControl/lightControl.ts"],"names":[],"mappings":"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"}
|