UNPKG

@homebridge-plugins/homebridge-rainbird

Version:

The Rainbird plugin allows you to access your Rainbird device(s) from HomeKit.

60 lines 2.43 kB
import { RainbirdPlatform } from './Platform.HAP.js'; /** * RainbirdMatterPlatform * Extends RainbirdPlatform to add Homebridge Matter support. * When Matter is available and enabled, devices are registered as Matter accessories * instead of HAP accessories. */ export declare class RainbirdMatterPlatform extends RainbirdPlatform { /** Map of Matter cached accessories restored from disk */ readonly matterAccessories: Map<string, any>; private readonly matterSubscriptions; get matterApi(): any; /** * Called when homebridge restores cached HAP accessories from disk. * Delegate to the HAP platform implementation so fallback to HAP mode * continues to use the restored cache without creating duplicates. */ configureAccessory(accessory: any): void; /** * Called when homebridge restores cached Matter accessories from disk at startup. */ configureMatterAccessory(accessory: any): void; /** * Discover and register all RainBird devices as Matter accessories. * Overrides the HAP implementation to use the Matter API. */ protected discoverDevices(): Promise<void>; /** * Register or update a Matter accessory. Always rebuilds the accessory definition * to apply config changes and re-attach handlers, merging into the cached instance if present. * When device.external is true the accessory is published as an external Matter accessory. */ private registerOrUpdateMatterAccessory; /** * Publish a Matter accessory as either an external accessory or a platform accessory, * mirroring the HAP externalOrPlatform behaviour. */ private externalOrPlatformMatter; /** * Ensure each Matter accessory has at most one event subscription attached. */ private ensureMatterSubscription; /** * Unregister a Matter accessory by UUID key. */ private unregisterMatterAccessory; /** * Update a Matter accessory cluster state safely. */ private updateMatterState; private registerMatterIrrigationSystem; private registerMatterLeakSensor; private registerMatterZoneValve; private registerMatterContactSensor; private registerMatterProgramSwitch; private registerMatterStopIrrigationSwitch; private registerMatterDelayIrrigationSwitch; private registerMatterTestZoneSwitch; } //# sourceMappingURL=Platform.Matter.d.ts.map