homebridge-resideo
Version:
The Resideo plugin allows you to access your Resideo device(s) from HomeKit.
96 lines • 4.68 kB
TypeScript
import type { AxiosInstance } from 'axios';
import type { API, DynamicPlatformPlugin, HAP, Logging, PlatformAccessory } from 'homebridge';
import type { accessoryAttribute, devicesConfig, location, locations, options, resideoDevice, ResideoPlatformConfig, sensorAccessory, T9groups } from './settings.js';
export declare class ResideoPlatform implements DynamicPlatformPlugin {
accessories: PlatformAccessory[];
readonly api: API;
readonly log: Logging;
protected readonly hap: HAP;
config: ResideoPlatformConfig;
sensorData: never[];
refreshInterval: any;
locations?: locations;
sensorAccessory: sensorAccessory;
firmware: accessoryAttribute['softwareRevision'];
platformConfig: ResideoPlatformConfig;
platformLogging: options['logging'];
platformRefreshRate: options['refreshRate'];
platformPushRate: options['pushRate'];
platformUpdateRate: options['updateRate'];
platformMaxRetries: options['maxRetries'];
platformDelayBetweenRetries: options['delayBetweenRetries'];
debugMode: boolean;
version: string;
action: string;
axios: AxiosInstance;
constructor(log: Logging, config: ResideoPlatformConfig, api: API);
configureAccessory(accessory: PlatformAccessory): void;
verifyConfig(): void;
refreshAccessToken(): Promise<void>;
getAccessToken(): Promise<void>;
updateRefreshToken(newRefreshToken: string): Promise<void>;
discoverlocations(): Promise<location[]>;
getCurrentSensorData(location: location, device: resideoDevice & devicesConfig, group: T9groups): Promise<any>;
private normalizeSensorDate;
getSoftwareRevision(location: location, device: resideoDevice & devicesConfig): Promise<any>;
private discoverDevices;
private mergeByDeviceID;
private deviceClass;
private discoverRoomSensors;
private roomsensordisplaymethod;
private createThermostat;
private createLeak;
private createValve;
private createRoomSensors;
private createRoomSensorThermostat;
registerDevice(device: resideoDevice & devicesConfig): Promise<boolean>;
private leaksensorFirmwareNewAccessory;
private leaksensorFirmwareExistingAccessory;
private valveFirmwareNewAccessory;
private valveFirmwareExistingAccessory;
private roomsensorFirmwareNewAccessory;
private roomsensorFirmwareExistingAccessory;
thermostatFirmwareNewAccessory(device: resideoDevice & devicesConfig, accessory: PlatformAccessory, location: any): Promise<void>;
thermostatFirmwareExistingAccessory(device: resideoDevice & devicesConfig, existingAccessory: PlatformAccessory, location: any): Promise<void>;
externalOrPlatform(device: resideoDevice & devicesConfig, accessory: PlatformAccessory): Promise<void>;
externalAccessory(accessory: PlatformAccessory): Promise<void>;
unregisterPlatformAccessories(existingAccessory: PlatformAccessory): void;
apiError(e: any): void;
statusCode(statusCode: number, action: string): Promise<void>;
getPlatformLogSettings(): Promise<void>;
getPlatformRateSettings(): Promise<void>;
getPlatformConfigSettings(): Promise<void>;
/**
* Asynchronously retrieves the version of the plugin from the package.json file.
*
* This method reads the package.json file located in the parent directory,
* parses its content to extract the version, and logs the version using the debug logger.
* The extracted version is then assigned to the `version` property of the class.
*
* @returns {Promise<void>} A promise that resolves when the version has been retrieved and logged.
*/
getVersion(): Promise<void>;
/**
* Validate and clean a string value for a Name Characteristic.
* @param displayName - The display name of the accessory.
* @param name - The name of the characteristic.
* @param value - The value to be validated and cleaned.
* @returns The cleaned string value.
*/
validateAndCleanDisplayName(displayName: string, name: string, value: string): Promise<string>;
/**
* If device level logging is turned on, log to log.warn
* Otherwise send debug logs to log.debug
*/
infoLog(...log: any[]): Promise<void>;
successLog(...log: any[]): Promise<void>;
debugSuccessLog(...log: any[]): Promise<void>;
warnLog(...log: any[]): Promise<void>;
debugWarnLog(...log: any[]): Promise<void>;
errorLog(...log: any[]): Promise<void>;
debugErrorLog(...log: any[]): Promise<void>;
debugLog(...log: any[]): Promise<void>;
loggingIsDebug(): Promise<boolean>;
enablingPlatformLogging(): Promise<boolean>;
}
//# sourceMappingURL=platform.d.ts.map