UNPKG

homebridge-ecowitt-weather-sensors

Version:

Homebridge support for your Fine Offset weather station (Ecowitt, Ambient, Froggit, GoGen, and more)

66 lines (65 loc) 2.44 kB
import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service, Characteristic } from 'homebridge'; import { EcowittAccessory } from './EcowittAccessory'; import express from 'express'; interface SensorType { type: string; channel: number | undefined; accessory: EcowittAccessory | undefined; id: string | undefined; uuid: string | undefined; } interface BaseStationInfoType { model: string; deviceName: string; deviceIP: string; serialNumber: string; shortSerial: string; protocol: string; hardwareRevision: string; softwareRevision: string; firmwareRevision: string; frequency: string; MAC: string; PASSKEY: string; sensors: SensorType[]; } /** * 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 declare class EcowittPlatform implements DynamicPlatformPlugin { readonly log: Logger; readonly config: PlatformConfig; readonly api: API; readonly Service: typeof Service; readonly Characteristic: typeof Characteristic; readonly accessories: PlatformAccessory[]; dataReportServer: express.Application; lastDataReport: null; registeredProperties: string[]; consumedReportData: string[]; unconsumedReportData: string[]; validatorsReportData: string[]; requiredReportData: string[]; ignoreableReportData: string[]; protocolCheckFieldsWU: string[]; baseStationInfo: BaseStationInfoType; constructor(log: Logger, config: PlatformConfig, api: API); serviceUuid(name: string): string; serviceId(name: string, channel: number | undefined): string; shortServiceId(name: string, channel: number | undefined): string; isEcowitt(): boolean; isAmbient(): boolean; /** * This function is invoked when homebridge restores cached accessories from disk at startup. * It should be used to setup event handlers for characteristics and update respective values. */ configureAccessory(accessory: PlatformAccessory): void; onDataReport(dataReport: any): Promise<void>; addSensorType(add: boolean, type: string, channel?: number | undefined): void; registerAccessories(dataReport: any): void; createAccessory(sensor: any, accessory: any): void; updateAccessories(dataReport: any): void; } export {};