UNPKG

@dr_chai/homebridge-airthings

Version:

Connecting all your Airthings devices over bluetooth with zero configuration.

33 lines (32 loc) 1.47 kB
import type { API, Characteristic, DynamicPlatformPlugin, Logging, PlatformAccessory, PlatformConfig, Service } from 'homebridge'; import Scanner from './ble.js'; /** * HomebridgePlatform * This class is the main constructor for your plugin, this is where you should * parse the user config and discover/register accessories with Homebridge. */ export default class AirThingsPlatform implements DynamicPlatformPlugin { readonly log: Logging; readonly config: PlatformConfig; readonly api: API; readonly Service: typeof Service; readonly Characteristic: typeof Characteristic; readonly accessories: Map<string, PlatformAccessory>; readonly discoveredCacheUUIDs: string[]; readonly AirthingsService: any; readonly scanner: Scanner; readonly AirthingsCharacteristic: any; constructor(log: Logging, config: PlatformConfig, api: API); /** * This function is invoked when homebridge restores cached accessories from disk at startup. * It should be used to set up event handlers for characteristics and update respective values. */ configureAccessory(accessory: PlatformAccessory): void; /** * This is an example method showing how to register discovered accessories. * Accessories must only be registered once, previously created accessories * must not be registered again to prevent "duplicate UUID" errors. */ discoverDevices: () => Promise<void>; pluginShutdown(): void; }