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
TypeScript
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 {};