homebridge-pioneer-avr-2025
Version:
A Pioneer AVR plugin for homebridge. This plugin is designed for Pioneer models that use Telnet Commands (e.g., VSX-922). It may not be compatible with newer models (e.g., VSX-LX304).
154 lines • 5.47 kB
TypeScript
import type { API, Characteristic, Service, Logging } from 'homebridge';
import type { TelnetAvr } from '../telnet-avr/telnetAvr';
export interface Device {
name: string;
origName: string;
host: string;
port: number;
source: string;
fqdn: string;
maxVolume?: number;
minVolume?: number;
inputSwitches?: string[];
listeningMode?: string;
listeningModeFallback?: string;
listeningModeOther?: string;
}
export interface AVState {
volume: number;
on: boolean;
muted: boolean;
input: number;
listeningMode: string | null;
listeningModeLM: string | null;
lastGetPowerStatus: number | null;
}
declare const PioneerAvr_base: {
new (...args: any[]): {
allInterval: NodeJS.Timeout;
telnetAvr: TelnetAvr;
onData: (error: any, data: string, callback?: Function) => void;
__updateVolume: any;
__updatePower: any;
__updateListeningMode: any;
platform: any;
functionSetPowerState: any;
functionSetLightbulbMuted: any;
functionSetSwitchListeningMode: any;
functionSetSwitchTelnetConnected: any;
allIntervalCounter: number;
setupTelnetConnection(): void;
setupConnectionCallbacks(): Promise<void>;
remoteKey(rk: string): void;
log: Logging;
host: string;
port: number;
state: AVState;
isReady: boolean;
lastUserInteraction: number;
device: import("./initialize").Device;
};
} & {
new (...args: any[]): {
accessory: any;
prefsDir: string;
inputCacheFile: string;
inputBeingAdded: boolean | string;
inputBeingAddedWaitCount: number;
inputMissing: string[][];
inputs: any[];
tvService: Service;
enabledServices: Service[];
inputToType: Record<string, number>;
pioneerAvrClassCallbackCalled: boolean;
initCount: number;
booleanToVisibilityState: (visible: boolean) => number;
visibilityStateToBoolean: (state: number) => boolean;
saveInputsTimeout: NodeJS.Timeout;
loadInputs(callback?: (() => void) | undefined): Promise<void>;
saveInputs(): void;
inputStatus(callback: (err: any, inputStatus?: number) => void): void;
setInput(id: string): void;
renameInput(id: string, newName: string): Promise<void>;
addInputSourceService(_error: any, _key: any): void;
functionSetActiveIdentifier(_set: number): void;
__updateInput(callback: () => void): Promise<void>;
log: Logging;
state: AVState;
pioneerAvrClassCallback?: () => Promise<void>;
lastUserInteraction: number;
telnetAvr: TelnetAvr;
isReady: boolean;
platform: any;
device: import("./inputs").Device;
};
} & {
new (...args: any[]): {
telnetAvr: TelnetAvr;
functionSetPowerState(_state: boolean): void;
__updatePower(callback: () => void): Promise<void>;
powerStatus(callback: (err: any, status?: boolean) => void): Promise<void>;
powerOn(): Promise<void>;
powerOff(): Promise<void>;
log: Logging;
state: AVState;
lastUserInteraction: number;
};
} & {
new (...args: any[]): {
telnetAvr: TelnetAvr;
device: import("./volume").Device;
platform: any;
updateVolumeTimeout: NodeJS.Timeout | null;
cancelVolumeDownSteps: boolean;
activeVolumeDownStepTimeouts: NodeJS.Timeout[];
lastSetVolume: string;
functionSetLightbulbVolume(_argument?: any): void;
functionSetLightbulbMuted(_argument?: any): void;
functionSetSwitchListeningMode(_argument?: any): void;
__updateVolume(callback: (error: any, response: string) => void): Promise<void>;
__updateMute(callback: (error: any, response: string) => void): Promise<void>;
volumeStatus(callback: (err: any, volume?: number) => void): void;
setVolume(targetVolume: number, callback?: ((error: any, response: string) => void) | undefined): void;
volumeUp(): void;
volumeDown(): void;
muteStatus(callback: (err: any, muted?: boolean) => void): void;
muteOn(): void;
muteOff(): void;
__updateListeningMode(callback: (error: any, response: string) => void): void;
toggleListeningMode(callback?: ((error: any, response: string) => void) | undefined): void;
log: Logging;
state: AVState;
lastUserInteraction: number;
isReady: boolean;
maxVolume: number;
minVolume: number;
};
} & {
new (platform: any, accessory: any, pioneerAvrClassCallback?: () => Promise<void>): {
api: API;
log: Logging;
host: string;
port: number;
platform: any;
maxVolume: number;
minVolume: number;
state: AVState;
pioneerAvrClassCallback: any;
characteristic: Characteristic;
service: Service;
isReady: boolean;
accessory: any;
device: Device;
lastUserInteraction: number;
telnetAvr: TelnetAvr;
};
};
/**
* The main PioneerAvr class responsible for handling AVR functionality.
* Mixins are applied in a specific order to ensure proper initialization.
*/
declare class PioneerAvr extends PioneerAvr_base {
}
export default PioneerAvr;
//# sourceMappingURL=pioneerAvr.d.ts.map