homebridge-resideo
Version:
The Resideo plugin allows you to access your Resideo device(s) from HomeKit.
412 lines • 10.6 kB
TypeScript
import type { PlatformConfig } from 'homebridge';
/**
* This is the name of the platform that users will use to register the plugin in the Homebridge config.json
*/
export declare const PLATFORM_NAME = "Resideo";
/**
* This must match the name of your plugin as defined the package.json
*/
export declare const PLUGIN_NAME = "homebridge-resideo";
/**
* This is the main url used to access Resideo API
*/
export declare const AuthorizeURL = "https://api.honeywell.com/oauth2/authorize?";
/**
* This is the main url used to access Resideo API
*/
export declare const TokenURL = "https://api.honeywell.com/oauth2/token";
/**
* This is the main url used to access Resideo API
*/
export declare const LocationURL = "https://api.honeywell.com/v2/locations";
/**
* This is the main url used to access Resideo API
*/
export declare const DeviceURL = "https://api.honeywell.com/v2/devices";
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'OPTIONS' | 'HEAD';
export interface ResideoPlatformConfig extends PlatformConfig {
credentials?: credentials;
options?: options | Record<string, never>;
callbackUrl?: string;
port?: string;
}
export interface credentials {
accessToken?: string;
refreshToken?: string;
consumerKey?: string;
consumerSecret?: string;
}
export interface options {
allowInvalidCharacters?: boolean;
logging?: string;
maxRetries?: number;
delayBetweenRetries?: number;
refreshRate?: number;
updateRate?: number;
pushRate?: number;
devices?: devicesConfig[];
}
export interface devicesConfig extends resideoDevice {
deviceID: string | number;
deviceClass: string;
configDeviceName: string;
hide_device?: boolean;
thermostat?: thermostat;
valve?: valve;
leaksensor?: leaksensor;
external?: boolean;
logging?: string;
refreshRate?: number;
updateRate?: number;
pushRate?: number;
maxRetries?: number;
delayBetweenRetries?: number;
retry?: boolean;
firmware?: string;
}
export interface thermostat {
show_auto?: boolean;
hide_fan?: boolean;
hide_humidity?: boolean;
thermostatSetpointStatus?: string;
statefulStatus?: boolean;
roomsensor?: roomsensor;
roompriority?: roompriority;
}
export interface leaksensor {
hide_humidity?: boolean;
hide_temperature?: boolean;
hide_leak?: boolean;
}
export interface roomsensor {
hide_roomsensor?: boolean;
hide_temperature?: boolean;
hide_occupancy?: boolean;
hide_motion?: boolean;
hide_humidity?: boolean;
logging?: string;
refreshRate?: number;
pushRate?: number;
}
export interface roompriority {
deviceType?: string;
priorityType?: string;
logging?: string;
refreshRate?: number;
pushRate?: number;
}
export interface valve {
valveType?: number;
}
export interface modes {
Off: number;
Heat: number;
Cool: number;
Auto: number;
}
export interface holdModes {
NoHold: number;
TemporaryHold: number;
PermanentHold: number;
}
export interface payload {
mode?: string;
heatSetpoint?: number;
coolSetpoint?: number;
thermostatSetpointStatus?: string;
nextPeriodTime?: string;
autoChangeoverActive?: boolean;
thermostatSetpoint?: number;
unit?: string;
state?: string;
}
export type locations = location[];
export interface location {
locationID: string | number;
name: string;
devices: resideoDevice[];
}
export interface resideoDevice {
deviceID: string | number;
deviceClass: string;
deviceModel: string;
userDefinedDeviceName: string;
firmware?: string;
thermostatVersion?: string;
external?: boolean;
groups?: T9groups[];
thermostat?: {
roompriority?: {
deviceType?: string;
};
roomsensor?: {
hide_roomsensor?: boolean;
};
};
inBuiltSensorState?: inBuiltSensorState;
settings?: Settings;
deviceType: string;
name?: string;
isAlive: boolean;
priorityType?: string;
units?: string;
indoorTemperature?: number;
allowedModes?: string[];
minHeatSetpoint?: number;
maxHeatSetpoint?: number;
minCoolSetpoint?: number;
maxCoolSetpoint?: number;
changeableValues?: ChangeableValues;
operationStatus?: OperationStatus;
indoorHumidity?: number;
displayedOutdoorHumidity?: number;
scheduleStatus?: string;
allowedTimeIncrements?: number;
isUpgrading?: boolean;
isProvisioned?: boolean;
macID?: string;
dataSyncStatus?: string;
outdoorTemperature?: number;
deadband?: number;
hasDualSetpointStatus?: boolean;
parentDeviceId?: number;
service: Service;
deviceSettings: Record<string, unknown>;
firmwareVersion?: string;
vacationHold?: VacationHold;
currentSchedulePeriod?: CurrentSchedulePeriod;
scheduleCapabilities?: ScheduleCapabilities;
scheduleType?: ScheduleType;
changeSource?: ChangeSource;
partnerInfo?: PartnerInfo;
deviceRegistrationDate?: Date;
indoorHumidityStatus?: string;
waterPresent: boolean;
currentSensorReadings: CurrentSensorReadings;
batteryRemaining: number;
isRegistered: boolean;
hasDeviceCheckedIn: boolean;
isDeviceOffline: boolean;
deviceMac: string;
dataSyncInfo: dataSyncInfo;
lastCheckin: Date;
actuatorValve: actuatorValve;
daylightSavingsInfo: daylightSavingsInfo;
maintenance: maintenance;
}
export interface T9groups {
id: number;
}
export interface inBuiltSensorState {
roomId: number;
roomName: string;
}
export interface Settings {
homeSetPoints?: HomeSetPoints;
awaySetPoints?: AwaySetPoints;
fan: Fan;
temperatureMode?: TemperatureMode;
specialMode?: SpecialMode;
hardwareSettings?: HardwareSettings;
devicePairingEnabled?: boolean;
}
export interface ChangeableValues {
mode: string;
autoChangeoverActive?: boolean;
heatSetpoint: number;
coolSetpoint: number;
thermostatSetpointStatus?: string;
nextPeriodTime?: string;
endHeatSetpoint?: number;
endCoolSetpoint?: number;
heatCoolMode: string;
emergencyHeatActive?: boolean;
}
export interface OperationStatus {
mode: string;
fanRequest?: boolean;
circulationFanRequest?: boolean;
}
export interface Service {
mode: string;
}
export interface AwaySetPoints {
awayHeatSP: number;
awayCoolSP: number;
smartCoolSP: number;
smartHeatSP: number;
useAutoSmart: boolean;
units: string;
}
export interface HomeSetPoints {
homeHeatSP: number;
homeCoolSP: number;
units: string;
}
export interface TemperatureMode {
feelsLike?: boolean;
air: boolean;
}
export interface SpecialMode {
autoChangeoverActive: boolean;
emergencyHeatActive?: boolean;
}
export interface Fan {
allowedModes: string[];
changeableValues: FanChangeableValues;
fanRunning: boolean;
allowedSpeeds?: AllowedSpeed[];
}
export interface FanChangeableValues {
mode: string;
}
export interface AllowedSpeed {
item: string;
value: Value;
}
export interface Value {
speed?: number;
mode: string;
}
export interface VacationHold {
enabled: boolean;
}
export interface CurrentSchedulePeriod {
day: string;
period: string;
}
export interface ScheduleCapabilities {
availableScheduleTypes: string[];
schedulableFan: boolean;
}
export interface ScheduleType {
scheduleType: string;
scheduleSubType: string;
}
export interface ChangeSource {
by: string;
name: string;
}
export interface HardwareSettings {
brightness: number;
maxBrightness: number;
}
export interface PartnerInfo {
singleOrMultiODUConfiguration: number;
parentDeviceModelId: number;
parentDeviceBrandId: number;
oduName: string;
}
export interface DeviceSettings {
temp: Temp;
humidity: Humidity;
userDefinedName: string;
buzzerMuted: boolean;
checkinPeriod: number;
currentSensorReadPeriod: number;
}
export interface Humidity {
high: Record<string, unknown>;
low: Record<string, unknown>;
}
export interface CurrentSensorReadings {
temperature: number;
humidity: number;
}
export interface Temp {
high: Record<string, unknown>;
low: Record<string, unknown>;
}
export interface sensorAccessory {
accessoryId: number;
accessoryAttribute: accessoryAttribute;
accessoryValue: accessoryValue;
roomId: number;
}
export interface accessoryAttribute {
type: string;
connectionMethod: string;
name: string;
model: string;
serialNumber: string;
softwareRevision: string;
hardwareRevision: string;
}
export interface accessoryValue {
coolSetpoint: number;
heatSetpoint: number;
indoorHumidity: number;
indoorTemperature: number;
motionDet: boolean;
occupancyDet: boolean;
excludeTemp: boolean;
excludeMotion: boolean;
pressure: number;
occupancyTimeout: number;
status: string;
batteryStatus: string;
rssiAverage: number;
occupancySensitivity: string;
}
export interface roomPriorityStatus {
deviceId: string;
status: string;
currentPriority: CurrentPriority;
}
export interface CurrentPriority {
priorityType: string;
selectedRooms: Record<string, unknown>;
rooms: PriorityRooms[];
}
export interface PriorityRooms {
rooms: PriorityRoom;
}
export interface PriorityRoom {
id: number;
roomName: string;
roomAvgTemp: number;
roomAvgHumidity: number;
overallMotion: boolean;
accessories: Accessory[];
}
export interface Accessory {
id: number;
type: string;
excludeTemp: boolean;
excludeMotion: boolean;
temperature: number;
status: string;
detectMotion: boolean;
}
export interface dataSyncInfo {
state: string;
transactionId: string;
}
export interface actuatorValve {
commandSource: string;
runningTime: number;
valveStatus: string;
motorCycles: number;
motorCurrentAverage: number;
motorCurrentMax: number;
deviceTemperature: number;
lastAntiScaleTime: Date;
leakStatus: string;
timeValveChanged: Date;
}
export interface daylightSavingsInfo {
isDaylightSaving: boolean;
nextOffsetChange: Date;
}
export interface maintenance {
antiScaleSettings: string;
antiScaleDOWSettings: string;
antiScaleDOMSettings: number;
antiScaleTimeSettings: string;
}
export interface fanStatus {
changeableValues: {
mode: string;
};
}
//# sourceMappingURL=settings.d.ts.map