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).
81 lines • 3.04 kB
TypeScript
import type { API, Characteristic, DynamicPlatformPlugin, Logging, PlatformAccessory, PlatformConfig, Service } from 'homebridge';
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;
}
/**
* PioneerAvrPlatform
* This class serves as the main entry point for the plugin, where user configuration is parsed,
* accessories are registered, and discovered devices are managed.
*/
export declare class PioneerAvrPlatform implements DynamicPlatformPlugin {
readonly log: Logging;
readonly config: PlatformConfig;
readonly api: API;
readonly service: typeof Service;
readonly characteristic: typeof Characteristic;
platformName: string;
pluginName: string;
private prefsDir;
private homebridgeConfigPath;
accessories: PlatformAccessory[];
private readonly TELNET_PORTS;
private readonly TARGET_NAME;
private readonly MAX_ATTEMPTS;
private readonly RETRY_DELAY;
/**
* Cache for storing discovered receivers and their inputs.
* The structure maps each host to its corresponding input data.
*/
cachedReceivers: Map<string, {
inputs: {
id: string;
name: string;
}[];
}>;
devicesFound: any[];
constructor(log: Logging, config: PlatformConfig, api: API);
/**
* Cleans up old or invalid cached accessories from Homebridge.
* Filters cached accessories to remove those no longer managed by the current plugin,
* identified by matching their plugin name against expected identifiers (e.g., 'homebridge-pioneer-avr', 'vsx').
* Ensures the cache remains accurate and prevents stale accessories from being loaded.
*/
cleanCachedAccessories(): void;
/**
* Invoked when Homebridge restores cached accessories from disk at startup.
* Sets up event handlers for each cached accessory.
*/
configureAccessory(accessory: PlatformAccessory): void;
/**
* Initiates the device discovery process or uses a manually configured device.
* Attempts up to MAX_ATTEMPTS times if no devices are found, with a delay of RETRY_DELAY between attempts.
*/
discoverDevices(): Promise<void>;
/**
* Updates the config.schema.json file with the current device settings and inputs.
*/
updateConfigSchema(foundDevicesin: any[], host?: string, inputs?: {
id: string;
name: string;
type: number;
}[]): void;
/**
* Processes each discovered or manually configured device asynchronously.
* Registers or restores devices in Homebridge as necessary.
*
* @param foundDevices - List of devices found during discovery or configured manually
*/
loopDevices(foundDevices: any[]): Promise<void>;
}
//# sourceMappingURL=pioneer-avr-platform.d.ts.map