homebridge-denon-heos-audio
Version:
Control your Denon speakers via AVR Control and/or HeosCLI
54 lines • 2.1 kB
JavaScript
import { DenonClientAvrControl } from "./denonClientAvrControl.js";
import { DenonClientHeosCli } from "./denonClientHeosCli.js";
import * as DenonProtocol from "./denonProtocol.js";
export class DenonClientHybrid {
controlMode = DenonProtocol.ControlMode.HYBRID;
serialNumber;
clientAvrControl;
clientHeosCli;
constructor(serialNumber, host, connect_timeout, response_timeout, debugLogCallback, powerUpdateCallback, muteUpdateCallback, volumeUpdateCallback) {
this.clientAvrControl = new DenonClientAvrControl(serialNumber, host, connect_timeout, response_timeout, debugLogCallback, powerUpdateCallback, undefined, undefined);
this.clientHeosCli = new DenonClientHeosCli(serialNumber, host, connect_timeout, response_timeout, debugLogCallback, undefined, muteUpdateCallback, volumeUpdateCallback);
this.serialNumber = serialNumber;
}
isConnected() {
return this.clientAvrControl.isConnected() || this.clientHeosCli.isConnected();
}
getPower() {
return this.clientAvrControl.getPower();
}
setPower(power) {
return this.clientAvrControl.setPower(power);
}
getPlaying(raceStatus) {
return this.clientHeosCli.getPlaying(raceStatus);
}
setPlaying(playing) {
return this.clientHeosCli.setPlaying(playing);
}
async setPlayNext() {
return this.clientHeosCli.setPlayNext();
}
async setPlayPrevious() {
return this.clientHeosCli.setPlayPrevious();
}
getMute(raceStatus) {
return this.clientHeosCli.getMute(raceStatus);
}
setMute(mute) {
return this.clientHeosCli.setMute(mute);
}
getVolume(raceStatus) {
return this.clientHeosCli.getVolume(raceStatus);
}
setVolume(volume) {
return this.clientHeosCli.setVolume(volume);
}
setVolumeUp(volumeIncrement) {
return this.clientHeosCli.setVolumeUp(volumeIncrement);
}
setVolumeDown(volumeDecrement) {
return this.clientHeosCli.setVolumeDown(volumeDecrement);
}
}
//# sourceMappingURL=denonClientHybrid.js.map