nubli
Version:
Nuki Bluetooth Library
63 lines (62 loc) • 3.04 kB
TypeScript
/// <reference types="node" />
import Events from "events";
import { Nubli } from "./nubli";
import { Command } from "./states";
import { SmartLockCommand } from "./smartLockCommands/SmartLockCommand";
import { SmartLockResponse } from "./smartLockResponse";
export declare class SmartLock extends Events.EventEmitter {
static readonly NUKI_SERVICE_UUID = "a92ee200550111e4916c0800200c9a66";
static readonly NUKI_PAIRING_SERVICE_UUID = "a92ee100550111e4916c0800200c9a66";
static readonly NUKI_PAIRING_GENERAL_DATA_IO_CHARACTERISTIC_UUID = "a92ee101550111e4916c0800200c9a66";
static readonly NUKI_SERVICE_GENERAL_DATA_IO_CHARACTERISTIC_UUID = "a92ee201550111e4916c0800200c9a66";
static readonly NUKI_USER_SPECIFIC_DATA_IO_CHARACTERISTIC_UUID = "a92ee202550111e4916c0800200c9a66";
private nubli;
private device;
private nukiPairingCharacteristic;
private nukiServiceCharacteristic;
private nukiUserCharacteristic;
private config;
private state;
private partialPayload;
private currentCommand;
private stateChanged;
private lastManufacturerDataReceived;
private _stale;
constructor(nubli: Nubli, device: import("noble").Peripheral);
updateManufacturerData(data: Buffer): void;
connect(): Promise<void>;
disconnect(): Promise<void>;
isConnected(): boolean;
configExists(path?: string): boolean;
readConfig(path?: string): Promise<void>;
saveConfig(path?: string): Promise<void>;
pair(asBridge?: boolean): Promise<void>;
private discoverServicesAndCharacteristics;
private populateCharacteristics;
private validateCharacteristics;
static appendCRC(data: Buffer): Buffer;
static verifyCRC(data: Buffer): boolean;
private validateCRC;
readonly paired: boolean;
executeCommand(command: SmartLockCommand): Promise<SmartLockResponse>;
waitForResponse(): Promise<SmartLockResponse>;
requestConfig(): Promise<SmartLockResponse>;
requestAdvancedConfig(): Promise<SmartLockResponse>;
readLockState(): Promise<SmartLockResponse>;
unlock(updateCallback?: (response: SmartLockResponse) => void): Promise<SmartLockResponse>;
lock(updateCallback?: (response: SmartLockResponse) => void): Promise<SmartLockResponse>;
unlatch(updateCallback?: (response: SmartLockResponse) => void): Promise<SmartLockResponse>;
lockNGo(updateCallback?: (response: SmartLockResponse) => void): Promise<SmartLockResponse>;
lockNGoUnlatch(updateCallback?: (response: SmartLockResponse) => void): Promise<SmartLockResponse>;
requestAuthorizations(pin: number, offset: number, count: number): Promise<SmartLockResponse>;
private setupUSDIOListener;
private removeUSDIOListener;
static prepareCommand(command: Command, data?: Buffer | null): Buffer;
private writeEncryptedData;
static generateNonce(size?: number): Uint8Array;
private usdioDataReceived;
private resetCommand;
readonly uuid: string;
readonly stale: boolean;
debug(message: string | number): void;
}