rainbird
Version:
The Rainbird library allows you to access your RainBird Controller.
77 lines • 2.46 kB
TypeScript
import * as events from 'node:events';
interface RainBirdMetaData {
modelNumber: number;
model: string;
version: string;
serialNumber: string;
zones: number[];
}
export declare class RainBirdService extends events.EventEmitter {
private readonly options;
private readonly _client;
private _metadata;
private _currentZoneStateSupported;
private _advanceZoneSupported;
private _currentZoneId;
private _currentProgramId?;
private _zones;
private _rainSetPointReached;
private _statusObsersable;
private _statusTimerSubscription?;
private _statusRefreshSubject;
private _syncTime;
private _lastSupportWarning;
private zoneQueue;
private readonly ESP_ME3;
constructor(options: {
address: string;
password: string;
refreshRate?: number;
showRequestResponse: boolean;
syncTime: boolean;
});
/**
* Emit a log event.
* @param level The log level.
* @param message The log message.
*/
emitLog(level: string, message: string): void;
init(): Promise<RainBirdMetaData>;
get model(): string;
get version(): string;
get serialNumber(): string;
get zones(): number[];
get rainSetPointReached(): boolean;
isActive(zone?: number): boolean;
isInUse(zone?: number): boolean;
remainingDuration(zone?: number): number;
private calcRemainingDuration;
activateZone(zone: number, duration: number): void;
deactivateZone(zone: number): Promise<void>;
deactivateAllZones(): void;
enableZone(zone: number, enabled: boolean): void;
startProgram(programId: string): Promise<void>;
isProgramRunning(programId: string): boolean | undefined;
private getProgramNumber;
private getProgramId;
stopIrrigation(): Promise<void>;
private startZone;
private setStatusTimer;
private performStatusRefresh;
private getControllerDateTime;
private setControllerDateTime;
getIrrigationDelay(): Promise<number>;
setIrrigationDelay(days: number): Promise<void>;
private updateStatus;
private formatTime;
private getRainBirdState;
private getRainBirdStateTM2;
private getRainBirdStateME3;
private getRainBirdStateME3PendingZones;
private getRainBirdStateRZXe;
private getRainBirdStateDefault;
private displaySupportWarning;
refreshStatus(): void;
}
export {};
//# sourceMappingURL=RainBirdService.d.ts.map