UNPKG

homebridge-denon-heos-audio

Version:

Control your Denon speakers via AVR Control and/or HeosCLI

157 lines (156 loc) 4.77 kB
import { CommandMode, 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: { EVENT: 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: { EVENT: string; EXP_RES: RegExp; }; }; VOLUME_UP: { SET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; }; VOLUME_DOWN: { SET: { COMMAND: string; PARAMS: string; EXP_RES: RegExp; }; }; }; 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); 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>; }