public async Task <LightStatus> RampAsync(InsteonId dst, RampDirection dir, int durationMs = 0) { LightStatus s = await StartRampAsync(dst, dir); if (durationMs > 0) { await Task.Delay(durationMs); s = await StopRampAsync(dst); } return(s); }
async Task <LightStatus> Run(Func <InsteonId, Task <LightStatus> > cmd) => status = await cmd(Address);
public Task <LightStatus> SetLevelAsync(InsteonId dst, double pct) => SetLevelAsync(dst, LightStatus.PctToLevel(pct));