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

81 lines 3.04 kB
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