public Percent(Configuration.Dimmer dimmer) { _dimmer = dimmer; Identity = _dimmer.ToPercentIdentity(); Description = _dimmer.ToPercentDescription(); }
public Off(Configuration.Dimmer dimmer, WifiLink.IBridge bridge) { _dimmer = dimmer; _bridge = bridge; Identity = _dimmer.ToOffIdentity(); Description = _dimmer.ToOffDescription(); Parameters = Enumerable.Empty <IParameter>(); }
public On(Configuration.Dimmer dimmer, WifiLink.IBridge bridge) { _dimmer = dimmer; _bridge = bridge; Identity = _dimmer.ToOnIdentity(); Description = _dimmer.ToOnDescription(); Parameters = Enumerable.Empty<IParameter>(); }
public Level(Configuration.Dimmer dimmer, WifiLink.IBridge bridge) { _dimmer = dimmer; _bridge = bridge; _percent = new Percent(dimmer); Identity = _dimmer.ToLevelIdentity(); Description = _dimmer.ToLevelDescription(); Parameters = new IParameter[] { _percent }; }
public ILightwaveEntity Build(Configuration.IDevice device, WifiLink.IBridge bridge, With.Messaging.Client.IEndpoint clientEndpoint) { Configuration.Dimmer dimmer = device as Configuration.Dimmer; if (dimmer != null) { return(new Entity(dimmer, bridge, clientEndpoint)); } else { throw new InvalidOperationException(string.Format("Could not create dimmer from device '{0}'", device)); } }
public Entity(Configuration.Dimmer dimmer, WifiLink.IBridge bridge, With.Messaging.Client.IEndpoint clientEndpoint) { _dimmer = dimmer; _bridge = bridge; _clientEndpoint = clientEndpoint; _on = new On(dimmer, bridge); _off = new Off(dimmer, bridge); _level = new Level(dimmer, bridge); _messages = new Subject <Message.IMessage>(); Identity = _dimmer.ToEntityIdentity(); Description = _dimmer.ToEntityDescription(); Observables = Enumerable.Empty <IObservable>(); Actionables = new IActionable[] { _off, _on, _level }; }
public static IDescription ToOffDescription(this Configuration.Dimmer dimmer) { return(new Description { Name = "On", Remarks = "Sets the lighting level to zero intensity" }); }
public static IIdentity ToOffIdentity(this Configuration.Dimmer dimmer) { return(new Identity(string.Format("R{0}-D{1}-DIMMER-{2}:OFF", dimmer.RoomNumber, dimmer.DeviceNumber, dimmer.Name))); }
public static IParameterDescription ToPercentDescription(this Configuration.Dimmer dimmer) { return(new ParameterDescription { Name = "Percent", Remarks = "The percentage of maximum intensity", Required = true, Measurement = MeasurementType.Percent, Minimum = new Measurement(MeasurementType.Percent, "0"), Default = new Measurement(MeasurementType.Percent, "0"), Maximum = new Measurement(MeasurementType.Percent, "100") }); }
public static IIdentity ToPercentIdentity(this Configuration.Dimmer dimmer) { return(new Identity(string.Format("R{0}-D{1}-DIMMER-{2}:LEVEL:PERCENT", dimmer.RoomNumber, dimmer.DeviceNumber, dimmer.Name))); }
public static IDescription ToLevelDescription(this Configuration.Dimmer dimmer) { return(new Description { Name = "Level", Remarks = "Sets the lighting level of the dimmer" }); }
public static IEntityDescription ToEntityDescription(this Configuration.Dimmer dimmer) { return(new EntityDescription { Name = dimmer.Name, Remarks = dimmer.Description, Manufacturer = LightwaveRf.Constants.Manufacturer, Model = Constants.Model, Type = dimmer.DimmerType.ToDescription() }); }