@homebridge-plugins/homebridge-air
Version:
The AirNow plugin allows you to monitor the current AirQuality for your Zip Code from HomeKit and Siri.
46 lines • 2.02 kB
TypeScript
import type { API, Logging, MatterAccessory, PlatformAccessory } from 'homebridge';
import type { AirPlatformConfig, devicesConfig } from './settings.js';
import { AirPlatform } from './platform.js';
/**
* AirMatterPlatform
*
* Extends AirPlatform (HAP) and overrides device discovery to register
* Air Quality sensors as Matter accessories instead of HAP accessories.
*
* This platform is selected when `options.enableMatter` or `options.preferMatter`
* is set to `true` in the plugin configuration AND Matter is available/enabled
* in Homebridge.
*/
export declare class AirMatterPlatform extends AirPlatform {
readonly matterAccessories: Map<string, MatterAccessory>;
constructor(log: Logging, config: AirPlatformConfig, api: API);
/**
* Override configureAccessory to unregister any previously cached HAP accessories.
*
* When a user switches from HAP to Matter mode, Homebridge will restore cached
* HAP accessories on startup. In Matter mode these stale HAP accessories must be
* removed so they do not accumulate untracked in the Homebridge accessory cache.
*/
configureAccessory(accessory: PlatformAccessory): Promise<void>;
/**
* Called when Homebridge restores cached Matter accessories from disk at startup.
*/
configureMatterAccessory(accessory: MatterAccessory): void;
/**
* Override discoverDevices to register Air Quality devices as Matter accessories.
*/
discoverDevices(): Promise<void>;
/**
* Register or restore a single Air Quality device as a Matter accessory and
* start its polling loop.
*/
createMatterAirQualitySensor(device: devicesConfig): Promise<void>;
/**
* Update the air quality state for a device after fetching fresh data.
*
* @param uuid - The Matter accessory UUID.
* @param homeKitAQI - HomeKit AQI level (1-5).
*/
updateMatterAirQuality(uuid: string, homeKitAQI: number): Promise<void>;
}
//# sourceMappingURL=AirMatterPlatform.d.ts.map