homebridge-denon-heos-audio
Version:
Control your Denon speakers via AVR Control and/or HeosCLI
90 lines (89 loc) • 2.85 kB
TypeScript
import { DenonClient, Playing } from "./denonClient.js";
import * as DenonProtocol from "./denonProtocol.js";
export declare class DenonClientAvrControl extends DenonClient {
readonly controlMode = DenonProtocol.ControlMode.AVRCONTROL;
protected static readonly PROTOCOL: {
POWER: {
GET: {
COMMAND: string;
PARAMS: string;
EXP_RES: RegExp;
};
SET: {
COMMAND: string;
PARAMS: string;
EXP_RES: RegExp;
};
VALUES: {
ON: {
VALUE: string;
MAP: boolean;
};
OFF: {
VALUE: string;
MAP: boolean;
};
};
};
MUTE: {
GET: {
COMMAND: string;
PARAMS: string;
EXP_RES: RegExp;
};
SET: {
COMMAND: string;
PARAMS: 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;
};
};
VOLUME_UP: {
SET: {
COMMAND: string;
};
};
VOLUME_DOWN: {
SET: {
COMMAND: string;
};
};
};
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);
protected subscribeToChangeEvents(): Promise<void>;
protected responseRouter(response: string): void;
private genericResponseHandler;
getPower(): Promise<boolean>;
setPower(power: boolean): Promise<boolean>;
getPlaying(): Promise<Playing>;
setPlaying(): Promise<Playing>;
setPlayNext(): Promise<void>;
setPlayPrevious(): Promise<void>;
getMute(): Promise<boolean>;
setMute(mute: boolean): Promise<boolean>;
getVolume(): Promise<number>;
setVolume(volume: number): Promise<number>;
setVolumeUp(volumeIncrement: number): Promise<void>;
setVolumeDown(volumeDecrement: number): Promise<void>;
}