homebridge-keyble
Version:
HomeKit Support for Eqiva EQ3 Doorlocks
54 lines (53 loc) • 2.18 kB
TypeScript
import { PlatformAccessory, CharacteristicValue, CharacteristicSetCallback, CharacteristicGetCallback } from 'homebridge';
import { KeyblePlatform } from './platform';
declare enum Position {
Lock = 0,
Unlock = 2,
Open = 3,
Unlock_MinStep = 1
}
/**
* Platform Accessory
* An instance of this class is created for each accessory your platform registers
* Each accessory may expose multiple services of different service types.
*/
export declare class KeybleAccessory {
private readonly platform;
private readonly accessory;
private service;
private lock;
/**
* These are just used to create a working example
* You should implement your own code to track the state of your accessory
*/
private state;
constructor(platform: KeyblePlatform, accessory: PlatformAccessory);
/**
* Handle the "GET" requests from HomeKit
* These are sent when HomeKit wants to know the current state of the accessory, for example, checking if a Light bulb is on.
*
* GET requests should return as fast as possbile. A long delay here will result in
* HomeKit being unresponsive and a bad user experience in general.
*
* If your device takes time to respond you should update the status of your device
* asynchronously instead using the `updateCharacteristic` method instead.
* @example
* this.service.updateCharacteristic(this.platform.Characteristic.On, true)
*/
getCurrentPosition(callback: CharacteristicGetCallback): void;
getState(callback: CharacteristicGetCallback): void;
getTargetPosition(callback: CharacteristicGetCallback): void;
/**
* Handle "SET" requests from HomeKit
* These are sent when the user changes the state of an accessory, for example, changing the Brightness
*/
setTargetPosition(value: CharacteristicValue, callback: CharacteristicSetCallback): void;
updateCurrentPosition(position: Position): void;
handleLockError(error: string): void;
handleStatusChange(newStatus: {
lock_status_id: number;
lock_status: string;
}): void;
}
export {};
//# sourceMappingURL=keybleAccessory.d.ts.map