Beispiel #1
0
        public Percent(Configuration.Dimmer dimmer)
        {
            _dimmer = dimmer;

            Identity = _dimmer.ToPercentIdentity();
            Description = _dimmer.ToPercentDescription();
        }
Beispiel #2
0
        public Percent(Configuration.Dimmer dimmer)
        {
            _dimmer = dimmer;

            Identity    = _dimmer.ToPercentIdentity();
            Description = _dimmer.ToPercentDescription();
        }
Beispiel #3
0
        public Off(Configuration.Dimmer dimmer, WifiLink.IBridge bridge)
        {
            _dimmer = dimmer;
            _bridge = bridge;

            Identity    = _dimmer.ToOffIdentity();
            Description = _dimmer.ToOffDescription();
            Parameters  = Enumerable.Empty <IParameter>();
        }
Beispiel #4
0
        public On(Configuration.Dimmer dimmer, WifiLink.IBridge bridge)
        {
            _dimmer = dimmer;
            _bridge = bridge;

            Identity = _dimmer.ToOnIdentity();
            Description = _dimmer.ToOnDescription();
            Parameters = Enumerable.Empty<IParameter>();
        }
Beispiel #5
0
        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 };
        }
Beispiel #6
0
        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 };
        }
Beispiel #7
0
        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));
            }
        }
Beispiel #8
0
        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 };
        }
Beispiel #9
0
 public static IDescription ToOffDescription(this Configuration.Dimmer dimmer)
 {
     return(new Description {
         Name = "On", Remarks = "Sets the lighting level to zero intensity"
     });
 }
Beispiel #10
0
 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)));
 }
Beispiel #11
0
 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")
     });
 }
Beispiel #12
0
 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)));
 }
Beispiel #13
0
 public static IDescription ToLevelDescription(this Configuration.Dimmer dimmer)
 {
     return(new Description {
         Name = "Level", Remarks = "Sets the lighting level of the dimmer"
     });
 }
Beispiel #14
0
 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()
     });
 }