amaran-light-cli
Version:
Command line tool for controlling Aputure Amaran lights via WebSocket to a local Amaran desktop app.
103 lines • 5.98 kB
TypeScript
import WebSocket from 'ws';
import type { CommandArgs, CommandCallback, Device, NodeConfig } from './types.js';
/**
* Control Aputure Amaran Lights via websocket to the amaran Desktop application.
*
* @class LightController
*/
declare class LightController {
private ws;
private clientId;
private deviceList;
private sceneList;
private nodeConfigs;
private commandCallbacks;
private pendingQueue;
private onInitializedCallback?;
private debug;
constructor(wsUrl: string, clientId?: string, onInitialized?: () => void, debug?: boolean);
private onConnectionOpen;
private handleMessage;
private processResponseType;
private handleDeviceList;
private handleSceneList;
private handleNodeConfig;
private getNodeConfigs;
/**
* Apply a command to all light devices with throttling.
*/
private applyToAllLights;
setCCTAndIntensityForAllLights(cct: number, intensity?: number, callback?: CommandCallback): Promise<void>;
turnOnAllLights(callback?: CommandCallback): Promise<void>;
turnOffAllLights(callback?: CommandCallback): Promise<void>;
toggleAllLights(callback?: CommandCallback): Promise<void>;
setIntensityForAllLights(intensity: number, callback?: CommandCallback): Promise<void>;
incrementIntensityForAllLights(delta: number, callback?: CommandCallback): Promise<void>;
incrementCCTForAllLights(delta: number, intensity?: number, callback?: CommandCallback): Promise<void>;
setHSIForAllLights(hue: number, sat: number, intensity: number, cct?: number, gm?: number, callback?: CommandCallback): Promise<void>;
setColorForAllLights(color: string, intensity?: number, callback?: CommandCallback): Promise<void>;
setSystemEffectForAllLights(effectType: string, intensity?: number, callback?: CommandCallback): Promise<void>;
getFixtureList(callback?: CommandCallback): void;
getDeviceList(callback?: CommandCallback): void;
getSceneList(callback?: CommandCallback): void;
saveScene(name: string, callback?: CommandCallback): void;
deleteScene(sceneId: string, callback?: CommandCallback): void;
recallScene(sceneId: string, callback?: CommandCallback): void;
updateScene(sceneId: string, name?: string, callback?: CommandCallback): void;
getPresetList(callback?: CommandCallback): void;
recallPreset(nodeId: string, presetId: string, callback?: CommandCallback): void;
setPreset(nodeId: string, presetId: string, callback?: CommandCallback): void;
getSystemEffectList(callback?: CommandCallback): void;
getQuickshotList(callback?: CommandCallback): void;
setQuickshot(quickshotId: string, callback?: CommandCallback): void;
getGroupList(callback?: CommandCallback): void;
createGroup(name: string, callback?: CommandCallback): void;
deleteGroup(groupId: string, callback?: CommandCallback): void;
addToGroup(groupId: string, nodeId: string, callback?: CommandCallback): void;
removeFromGroup(groupId: string, nodeId: string, callback?: CommandCallback): void;
getNodeConfig(nodeId: string, callback?: CommandCallback): void;
turnLightOn(nodeId: string, callback?: CommandCallback): void;
turnLightOff(nodeId: string, callback?: CommandCallback): void;
getLightSleepStatus(nodeId: string, callback?: CommandCallback): void;
toggleLight(nodeId: string, callback?: CommandCallback): void;
getIntensity(nodeId: string, callback?: CommandCallback): void;
setIntensity(nodeId: string, intensity: number, callback?: CommandCallback): void;
incrementIntensity(nodeId: string, delta: number, callback?: CommandCallback): void;
getCCT(nodeId: string, callback?: CommandCallback): void;
setCCT(nodeId: string, cct: number, intensity?: number, callback?: CommandCallback): void;
incrementCCT(nodeId: string, delta: number, intensity?: number, callback?: CommandCallback): void;
getHSI(nodeId: string, callback?: CommandCallback): void;
setHSI(nodeId: string, hue: number, sat: number, intensity: number, cct?: number, gm?: number, callback?: CommandCallback): void;
getRGB(nodeId: string, callback?: CommandCallback): void;
setRGB(nodeId: string, r: number, g: number, b: number, intensity?: number, callback?: CommandCallback): void;
getXY(nodeId: string, callback?: CommandCallback): void;
setXY(nodeId: string, x: number, y: number, intensity?: number, callback?: CommandCallback): void;
setColor(nodeId: string, color: string, intensity?: number, callback?: CommandCallback): void;
getSystemEffect(nodeId: string, callback?: CommandCallback): void;
setSystemEffect(nodeId: string, effectType: string, intensity?: number, callback?: CommandCallback): void;
getEffect(nodeId: string, callback?: CommandCallback): void;
setEffect(nodeId: string, effectName: string, args?: CommandArgs, callback?: CommandCallback): void;
getFanMode(nodeId: string, callback?: CommandCallback): void;
setFanMode(nodeId: string, mode: number, callback?: CommandCallback): void;
getFanSpeed(nodeId: string, callback?: CommandCallback): void;
setFanSpeed(nodeId: string, speed: number, callback?: CommandCallback): void;
setEffectSpeed(nodeId: string, speed: number, callback?: CommandCallback): void;
setEffectIntensity(nodeId: string, intensity: number, callback?: CommandCallback): void;
getDeviceInfo(nodeId: string, callback?: CommandCallback): void;
updateFirmware(nodeId: string, callback?: CommandCallback): void;
disconnect(): Promise<void>;
private waitForPendingCommands;
private sendCommand;
private flushPending;
private popCommandCallback;
private isLightNodeId;
private sleep;
private log;
getWebSocket(): WebSocket;
setClientId(clientId: string): void;
getDevices(): Device[];
getScenes(): unknown[];
getNode(nodeId: string): NodeConfig | undefined;
}
export default LightController;
//# sourceMappingURL=lightControl.d.ts.map