UNPKG

homebridge-ratgdo

Version:

HomeKit integration using Ratgdo and Konnected devices for LiftMaster and Chamberlain garage door openers, without requiring myQ.

90 lines (89 loc) 2.94 kB
import type { PlatformAccessory } from "homebridge"; import { type HomebridgePluginLogging } from "homebridge-plugin-utils"; import { type RatgdoDevice } from "./ratgdo-types.js"; import type { RatgdoPlatform } from "./ratgdo-platform.js"; export interface EspHomeEvent { current_operation?: string; id: string; name?: string; position?: number; state: string; value?: string; } interface RatgdoHints { automationDimmer: boolean; automationSwitch: boolean; discoBattery: boolean; discoLaserSwitch: boolean; discoLedSwitch: boolean; discoVehicleArriving: boolean; discoVehicleLeaving: boolean; discoVehiclePresence: boolean; doorOpenOccupancyDuration: number; doorOpenOccupancySensor: boolean; konnectedPcwSwitch: boolean; konnectedStrobeSwitch: boolean; light: boolean; lock: boolean; lockoutSwitch: boolean; logLight: boolean; logMotion: boolean; logObstruction: boolean; logOpener: boolean; logVehiclePresence: boolean; motionOccupancyDuration: number; motionOccupancySensor: boolean; motionSensor: boolean; readOnly: boolean; showBatteryInfo: boolean; } export declare class RatgdoAccessory { private readonly accessory; private readonly api; private readonly config; readonly device: RatgdoDevice; private doorOccupancyTimer; private readonly hap; readonly hints: RatgdoHints; readonly log: HomebridgePluginLogging; private motionOccupancyTimer; private motionTimer; private obstructionTimer; private readonly platform; private readonly status; constructor(platform: RatgdoPlatform, accessory: PlatformAccessory, device: RatgdoDevice); private configureDevice; private configureHints; private configureInfo; private configureMqtt; private configureGarageDoor; private configureLight; private configureMotionSensor; private configureAutomationDoorPositionDimmer; private configureAutomationDoorSwitch; private configureDiscoBattery; private configureDiscoLaserSwitch; private configureDiscoLedSwitch; private configureDiscoVehicleArrivingContactSensor; private configureDiscoVehicleLeavingContactSensor; private configureDiscoVehiclePresenceOccupancySensor; private configureKonnectedPcwSwitch; private configureKonnectedStrobeSwitch; private configureAutomationLockoutSwitch; private configureDoorOpenOccupancySensor; private configureMotionOccupancySensor; private setDoorState; refresh(): void; updateState(event: EspHomeEvent): void; private command; private translateCurrentDoorState; private translateTargetDoorState; private doorCurrentStateBias; private doorTargetStateBias; private lockTargetStateBias; private hasFeature; private get name(); private get accessoryName(); private set accessoryName(value); } export {};