homebridge-foobot-multi
Version:
Homebridge plugin for Foobot air quality monitor
104 lines • 3.63 kB
TypeScript
import { PlatformAccessory } from 'homebridge';
import { FoobotHomebridgePlatform } from './platform';
/**
* Platform Accessory
* An instance of this class is created for each accessory your platform registers
* Each accessory may expose multiple services of different service types.
*/
export declare class FoobotPlatformAccessory {
private readonly platform;
private readonly accessory;
private airQualitySensor;
private carbonDioxideSensor;
private humiditySensor;
private temperatureSensor;
private accessoryInformation;
private timeout;
private delay;
private active;
constructor(platform: FoobotHomebridgePlatform, accessory: PlatformAccessory);
/**
* Handle requests to get the current value of the 'Air Quality' characteristic
*/
handleAirQualityGet(): any;
/**
* Handle requests to get the current value of the 'PM2.5 Density' characteristic
*/
handlePM2_5DensityGet(): any;
/**
* Handle requests to get the current value of the 'VOC Density' characteristic
*/
handleVOCDensityGet(): any;
/**
* Handle requests to get the current value of the 'Current Temperature' characteristic
*/
handleCurrentTemperatureGet(): any;
/**
* Handle requests to get the current value of the 'Current Relative Humidity' characteristic
*/
handleCurrentRelativeHumidityGet(): any;
/**
* Handle requests to get the current value of the 'Carbon Dioxide Detected' characteristic
*/
handleCarbonDioxideDetectedGet(): 1 | 0;
/**
* Handle requests to get the current value of the 'Carbon Dioxide Level' characteristic
*/
handleCarbonDioxideLevelGet(): any;
/**
* Handle requests to get the current value of the 'Carbon Dioxide Peak Level' characteristic
*/
handleCarbonDioxidePeakLevelGet(): any;
updatecharacteristics(): Promise<void>;
prettyPrintDuration(milliseconds: number): string;
/**
* convert CO2 ppm values to normal/abnormal values
*/
detectCO2(value: number): 1 | 0;
/**
* convert CO2 ppm values to normal/abnormal values
*/
peakCO2(value: number): any;
/**
* convert parts-per-billion to micrograms per cubic meter
* for VOC density
* Foobot is very sensitive to CO
* therefore convert VOCs in ppb to ug/m3 based on mostly CO
* https://uk-air.defra.gov.uk/assets/documents/reports/cat06/0502160851_Conversion_Factors_Between_ppb_and.pdf
*/
convertVOCppb2ugm3(ppb: number): number;
/**
* convert Foobot `allpullu` values to HomeKit AirQuality values
* problem is Foobot shows six air quality levels
* and HomeKit has five air quality levels
* Fooboot | Homekit
* All Blue | EXCELLENT
* 2/3 Blue | GOOD
* 1/3 Blue | FAIR
* 1/3 Orange | INFERIOR (Homekit alerts)
* 2/3 Orange | ???
* All Orange | POOR
* values from gchokov
* 0 - 25 EXCELLENT
* 26 - 50 GOOD
* 51 - 70 FAIR
* 71 - 90 INFERIOR
* 91 - 100 POOR
* values from keithws (bellcurve)
* 0 - 10 EXCELLENT (10%)
* 10 - 30 GOOD (20%)
* 30 - 70 FAIR (40%)
* 70 - 90 INFERIOR (20%)
* 90 - 100+ POOR (10%)
* values from keithws (aligned inferior to 1/3 orange)
* 0 - 17 EXCELLENT
* 17 - 33 GOOD
* 33 - 50 FAIR
* 50 - 67 INFERIOR
* 67 - 83 (missing)
* 83 - 100+ POOR
*/
convertAllpollu2AirQuality(allpollu: number): number;
setActive(isActive?: boolean): void;
}
//# sourceMappingURL=platformAccessory.d.ts.map