homebridge-virtual-accessories
Version:
Virtual HomeKit accessories for Homebridge.
59 lines (58 loc) • 1.62 kB
TypeScript
import { VirtualLogger } from './virtualLogger.js';
import { ZonedDateTime } from '@js-joda/core';
/**
* Timer
*/
export declare class Timer {
private readonly oneSecond;
private accessoryName;
private log;
private timerIsResettable;
private id;
private defaultDuration;
private updateIntervalMillis;
private startTime;
private isRunning;
private runtime;
private remainingDurationMillis;
private logDebugCountdown;
/**
* Set duration in seconds
*/
constructor(accessoryName: string, log: VirtualLogger, timerIsResettable: boolean);
constructor(accessoryName: string, log: VirtualLogger, timerIsResettable: boolean, duration: number);
/**
* Set duration/oneOffDuration in seconds
*/
start(callback: () => void): void;
start(callback: () => void, duration: number): void;
start(callback: () => void, duration: number, updateIntervalMillis: number): void;
stop(): void;
getStartTime(): ZonedDateTime;
/**
* Returns runtime in seconds
*/
getRuntime(): number;
/**
* Returns interval in milliseconds
*/
getUpdateIntervalMillis(): number;
/**
* Returns duration in seconds
*/
getDefaultDuration(): number;
/**
* Set duration in seconds
*/
setDefaultDuration(duration: number): void;
/**
* Returns remaining duration in seconds
*/
getRemainingDuration(): number;
/**
* Returns remaining duration in milliseconds
*/
getRemainingDurationMillis(): number;
isTimerRunning(): boolean;
debugCountdown(): void;
}