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).
68 lines • 2.24 kB
TypeScript
import type { Logging } from 'homebridge';
import type { AVState } from './pioneerAvr';
import { 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;
}
/**
* This mixin adds initialization and connection handling capabilities to a base class.
* It includes methods to handle connection status, set up data handling, and regular state polling.
* @param Base - The base class to extend.
* @returns A new class that extends the base class with added initialization logic.
*/
export declare function InitializeMixin<TBase extends new (...args: any[]) => {
log: Logging;
host: string;
port: number;
state: AVState;
isReady: boolean;
lastUserInteraction: number;
device: Device;
}>(Base: TBase): {
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;
/**
* Sets up the Telnet connection, handling connect/disconnect events.
*/
setupTelnetConnection(): void;
/**
* Sets up connection and disconnection callbacks for the Telnet connection.
*/
setupConnectionCallbacks(): Promise<void>;
/**
* Sends a remote key command based on the provided key.
* @param rk - The remote key to be processed.
*/
remoteKey(rk: string): void;
log: Logging;
host: string;
port: number;
state: AVState;
isReady: boolean;
lastUserInteraction: number;
device: Device;
};
} & TBase;
//# sourceMappingURL=initialize.d.ts.map