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).
99 lines • 3.58 kB
TypeScript
import type { Service, Logging } from 'homebridge';
import type { TelnetAvr } from '../telnet-avr/telnetAvr';
import type { AVState } from './pioneerAvr';
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 input management methods to a base class, including input setup, handling,
* and monitoring functionality.
* @param Base - The base class to extend with input management methods.
* @returns A new class that extends the base class with added input handling capabilities.
*/
export declare function InputManagementMixin<TBase extends new (...args: any[]) => {
log: Logging;
state: AVState;
pioneerAvrClassCallback?: () => Promise<void>;
lastUserInteraction: number;
telnetAvr: TelnetAvr;
isReady: boolean;
platform: any;
device: Device;
}>(Base: TBase): {
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;
/**
* Loads all available inputs, either from cache or by refreshing.
* @param callback - Optional callback function to run after loading inputs.
*/
loadInputs(callback?: () => void): Promise<void>;
/**
* Saves the current inputs to the cache file.
*/
saveInputs(): void;
/**
* Retrieves the current input status.
* @param callback - The callback function to handle the input status result.
*/
inputStatus(callback: (err: any, inputStatus?: number) => void): void;
/**
* Sets a specific input on the AVR.
* @param id - The identifier of the input to set.
*/
setInput(id: string): void;
/**
* Renames an existing input on the AVR.
* @param id - The identifier of the input to rename.
* @param newName - The new name to assign to the input.
*/
renameInput(id: string, newName: string): Promise<void>;
/**
* Placeholder for adding an input source service; should be overridden externally.
*/
addInputSourceService(_error: any, _key: any): void;
/**
* Placeholder for setting the power state of the AVR.
* Intended to be overridden externally.
*/
functionSetActiveIdentifier(_set: number): void;
/**
* Updates the current input on the AVR.
* @param callback - The callback function to execute after updating.
*/
__updateInput(callback: () => void): Promise<void>;
log: Logging;
state: AVState;
pioneerAvrClassCallback?: () => Promise<void>;
lastUserInteraction: number;
telnetAvr: TelnetAvr;
isReady: boolean;
platform: any;
device: Device;
};
} & TBase;
//# sourceMappingURL=inputs.d.ts.map