shellies-ds9
Version:
Handles communication with the next generation of Shelly devices
56 lines • 1.55 kB
TypeScript
import { Device } from '../devices';
import { Service } from './base';
export interface ScheduleRpcCall {
method: string;
params?: Record<string, unknown>;
}
export interface ScheduleJob {
id?: number;
enable: boolean;
timespec: string;
calls: ScheduleRpcCall[];
}
export interface ScheduleListResponse {
jobs: ScheduleJob[];
rev: number;
}
export interface ScheduleCreateResponse {
id: number;
rev: number;
}
export interface ScheduleUpdateResponse {
rev: number;
}
export interface ScheduleDeleteResponse {
rev: number;
}
/**
* The Schedule service allows execution of RPC methods at fixes times or intervals.
*/
export declare class ScheduleService extends Service {
constructor(device: Device);
/**
* Lists all existing scheduled jobs.
*/
list(): PromiseLike<ScheduleListResponse>;
/**
* Creates a new scheduled job.
* @param job - The job to add.
*/
create(job: ScheduleJob): PromiseLike<ScheduleCreateResponse>;
/**
* Updates an existing scheduled job.
* @param job - The job to update.
*/
update(job: Partial<ScheduleJob>): PromiseLike<ScheduleUpdateResponse>;
/**
* Deletes a scheduled job.
* @param id - ID of the job to delete.
*/
delete(id: number): PromiseLike<ScheduleDeleteResponse>;
/**
* Deletes all existing scheduled jobs.
*/
deleteAll(): PromiseLike<ScheduleDeleteResponse>;
}
//# sourceMappingURL=schedule.d.ts.map