@homebridge-plugins/homebridge-rainbird
Version:
The Rainbird plugin allows you to access your Rainbird device(s) from HomeKit.
60 lines • 2.43 kB
TypeScript
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