Example #1
0
 public CommandMessage(InsteonId dst, Command cmd, byte value = 0, MessageFlags flags = MessageFlags.Default)
 {
     Destination = dst;
     Command     = cmd;
     Value       = value;
     Flags       = flags;
 }
Example #2
0
 public InsteonDevice(InsteonId address, InsteonController controller, string name = null, string zone = null, string alias = null)
 {
     Address    = address;
     Controller = controller ?? this as InsteonController;
     Zone       = zone ?? "";
     Name       = name ?? address.ToString();
     Alias      = alias ?? Name;
 }
Example #3
0
        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);
        }
Example #4
0
 public SwitchLinc(InsteonController controller, InsteonId address, string name = null, string zone = null, string alias = null, LightLevelCurve levelCurve = null)
     : base(address, controller, name, zone, alias)
 {
     LevelCurve = levelCurve;
 }
Example #5
0
 public Task <LightStatus> RampDown(InsteonId dst, int durationMs = 0)
 => RampAsync(dst, RampDirection.Down, durationMs);
Example #6
0
 public Task <LightStatus> StopRampAsync(InsteonId dst)
 => Send <LightStatus>(dst, Command.RampStop);
Example #7
0
 public Task <LightStatus> StartRampAsync(InsteonId dst, RampDirection dir)
 => Send <LightStatus>(dst, Command.RampStart, (byte)dir);
Example #8
0
 public Task <R> Send <R>(InsteonId dst, Command cmd, byte value = 0, MessageFlags flags = MessageFlags.Default) where R : CommandResponse, new()
 => Send <R>(new CommandMessage(dst, cmd, value, flags));
Example #9
0
 public Task <LightStatus> SetLevelAsync(InsteonId dst, byte level)
 => Send <LightStatus>(dst, Command.SetLevel, level);
Example #10
0
 public Task <LightStatus> Dim(InsteonId dst)
 => Send <LightStatus>(dst, Command.Dim);
Example #11
0
 public Task <LightStatus> Brighten(InsteonId dst)
 => Send <LightStatus>(dst, Command.Brighten);
Example #12
0
 public Task <LightStatus> SetFastOff(InsteonId dst)
 => Send <LightStatus>(dst, Command.FastOff);
Example #13
0
 public Task <LightStatus> SetFullOn(InsteonId dst)
 => Send <LightStatus>(dst, Command.On);
Example #14
0
 public Task <LightStatus> GetStatus(InsteonId dst)
 => Send <LightStatus>(dst, Command.GetLightStatus);
Example #15
0
 public Task <LightStatus> SetLevelAsync(InsteonId dst, double pct)
 => SetLevelAsync(dst, LightStatus.PctToLevel(pct));
Example #16
0
 public static IEnumerable <byte> GetBytes(MessageType type, InsteonId dst, params object[] bytes)
 => new[] { STX, (byte)type, dst.A1, dst.A2, dst.A3 }.Concat(bytes.Select(Convert.ToByte));
Example #17
0
 public Task <CommandResponse> Send(InsteonId dst, Command cmd, byte value = 0, MessageFlags flags = MessageFlags.Default)
 => Send <CommandResponse>(dst, cmd, value, flags);