UNPKG

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
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