UNPKG

homebridge-resideo

Version:

The Resideo plugin allows you to access your Resideo device(s) from HomeKit.

412 lines 10.6 kB
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