UNPKG

homebridge-denon-heos-audio

Version:

Control your Denon speakers via AVR Control and/or HeosCLI

201 lines (200 loc) 6.26 kB
import { CommandMode, DefaultInput, DenonClient, Playing, RaceStatus } from "./denonClient.js"; import * as DenonProtocol from "./denonProtocol.js"; export declare class DenonClientHeosCli extends DenonClient { readonly controlMode = DenonProtocol.ControlMode.HEOSCLI; protected static readonly PROTOCOL: { GLOBAL_CHANGE_EVENT_REGEX: RegExp; PID_REGEX: RegExp; EVENT_SUB: { SET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; VALUES: { ON: { VALUE: string; MAP: boolean; }; OFF: { VALUE: string; MAP: boolean; }; }; }; PLAYERS: { GET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; }; PLAY_STATE: { GET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; SET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; EVENT: { COMMAND: string; EXP_RES: RegExp; }; VALUES: { PLAY: { VALUE: string; MAP: Playing; }; PAUSE: { VALUE: string; MAP: Playing; }; STOP: { VALUE: string; MAP: Playing; }; }; }; PLAY_NEXT: { SET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; }; PLAY_PREVIOUS: { SET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; }; MUTE: { GET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; SET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; EVENT: { COMMAND: string; EXP_RES: RegExp; }; VALUES: { ON: { VALUE: string; MAP: boolean; }; OFF: { VALUE: string; MAP: boolean; }; }; }; VOLUME: { GET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; SET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; EVENT: { COMMAND: string; EXP_RES: RegExp; }; }; VOLUME_UP: { SET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; }; VOLUME_DOWN: { SET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; }; INPUT: { GET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; SET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; EVENT: { COMMAND: string; EXP_RES: RegExp; }; }; }; static readonly HEOS_SOURCES: { readonly 1: DefaultInput; readonly 2: DefaultInput; readonly 3: DefaultInput; readonly 4: DefaultInput; readonly 5: DefaultInput; readonly 6: DefaultInput; readonly 7: DefaultInput; readonly 8: DefaultInput; readonly 9: DefaultInput; readonly 10: DefaultInput; readonly 12: DefaultInput; readonly 13: DefaultInput; readonly 15: DefaultInput; readonly 16: DefaultInput; readonly 18: DefaultInput; readonly 30: DefaultInput; readonly 1024: DefaultInput; readonly 1025: DefaultInput; readonly 1026: DefaultInput; readonly 1027: DefaultInput; readonly 1028: DefaultInput; }; static readonly INPUT_SOURCES: DefaultInput[]; static readonly DEFAULT_INPUT_SOURCES: DefaultInput[]; private player_id; constructor(serialNumber: string, host: string, connect_timeout: number, response_timeout: number, debugLogCallback?: (message: string, ...parameters: any[]) => void, powerUpdateCallback?: (power: boolean) => void, muteUpdateCallback?: (mute: boolean) => void, volumeUpdateCallback?: (volume: number) => void, inputUpdateCallback?: (input: string) => void); private findPlayerId; protected subscribeToChangeEvents(): Promise<void>; protected sendCommand(command: any, commandMode: CommandMode, { value, passPayload }: { value?: string; passPayload?: boolean; }): Promise<string>; protected responseRouter(response: string): void; private genericResponseHandler; private getPlayingInternal; getPlaying(raceStatus?: RaceStatus): Promise<Playing>; setPlaying(playing: Playing): Promise<Playing>; setPlayNext(): Promise<void>; setPlayPrevious(): Promise<void>; getPower(raceStatus?: RaceStatus): Promise<boolean>; setPower(power: boolean): Promise<boolean>; getMute(raceStatus?: RaceStatus): Promise<boolean>; setMute(mute: boolean): Promise<boolean>; getVolume(raceStatus?: RaceStatus): Promise<number>; setVolume(volume: number): Promise<number>; setVolumeUp(volumeIncrement: number): Promise<void>; setVolumeDown(volumeDecrement: number): Promise<void>; getInput(raceStatus?: RaceStatus): Promise<string>; private static inputPayloadToInputID; setInput(inputID: string): Promise<string>; }