rainbird
Version:
The Rainbird library allows you to access your RainBird Controller.
59 lines • 3.26 kB
TypeScript
import * as events from 'node:events';
import PQueue from 'p-queue';
import { AcknowledgedResponse } from './responses/AcknowledgedResponse.js';
import { AvailableZonesResponse } from './responses/AvailableZonesResponse.js';
import { ControllerDateGetResponse } from './responses/ControllerDateGetResponse.js';
import { ControllerStateResponse } from './responses/ControllerStateResponse.js';
import { ControllerTimeGetResponse } from './responses/ControllerTimeGetResponse.js';
import { CurrentZoneResponse } from './responses/CurrentZoneResponse.js';
import { IrrigationDelayGetResponse } from './responses/IrrigationDelayGetResponse.js';
import { IrrigationStateResponse } from './responses/IrrigationStateResponse.js';
import { ModelAndVersionResponse } from './responses/ModelAndVersionResponse.js';
import { NotAcknowledgedResponse } from './responses/NotAcknowledgedResponse.js';
import { ProgramZoneStateResponse } from './responses/ProgramZoneStateResponse.js';
import { RainSensorStateResponse } from './responses/RainSensorStateResponse.js';
import { RawResponse } from './responses/RawResponse.js';
import { SerialNumberResponse } from './responses/SerialNumberResponse.js';
export declare class RainBirdClient extends events.EventEmitter {
private readonly address;
private readonly password;
private readonly showRequestResponse;
private readonly RETRY_DELAY;
queue: PQueue;
constructor(address: string, password: string, showRequestResponse: boolean);
/**
* Emit a log event.
* @param level The log level.
* @param message The log message.
*/
emitLog(level: string, message: string): void;
getModelAndVersion(): Promise<ModelAndVersionResponse>;
getAvailableZones(): Promise<AvailableZonesResponse>;
getSerialNumber(): Promise<SerialNumberResponse>;
runProgram(program: number): Promise<AcknowledgedResponse | NotAcknowledgedResponse>;
runZone(zone: number, duration: number): Promise<AcknowledgedResponse | NotAcknowledgedResponse>;
advanceZone(): Promise<AcknowledgedResponse | NotAcknowledgedResponse>;
stopIrrigation(): Promise<AcknowledgedResponse | NotAcknowledgedResponse>;
getControllerState(): Promise<ControllerStateResponse>;
getControllerDate(): Promise<ControllerDateGetResponse>;
setControllerDate(day: number, month: number, year: number): Promise<AcknowledgedResponse>;
getControllerTime(): Promise<ControllerTimeGetResponse>;
setControllerTime(hour: number, minute: number, second: number): Promise<AcknowledgedResponse>;
getIrrigationState(): Promise<IrrigationStateResponse>;
getRainSensorState(): Promise<RainSensorStateResponse>;
getCurrentZone(): Promise<CurrentZoneResponse>;
getProgramZoneState(page?: number): Promise<ProgramZoneStateResponse>;
getRaw(type: number, page?: number): Promise<RawResponse>;
getIrrigationDelay(): Promise<IrrigationDelayGetResponse>;
setIrrigstionDelay(days: number): Promise<AcknowledgedResponse>;
private sendRequest;
private getResponse;
private encrypt;
private decrypt;
private formatRequest;
private createRequestConfig;
private toBytes;
private addPadding;
private delay;
}
//# sourceMappingURL=RainBirdClient.d.ts.map