Esempio n. 1
0
 public ControlMessage(JObject obj)
     : base(obj)
 {
     Type = MessageType.Control;
     LampValue = new LampValue();
     LampValue.On = (bool)obj["On"];
     LampValue.Brightness = (uint)obj["Brightness"];
     LampValue.ColorTemp = (uint)obj["ColorTemp"];
     LampValue.Hue = (uint)obj["Hue"];
     LampValue.Saturation = (uint)obj["Saturation"];
 }
Esempio n. 2
0
 public async Task StartLightsAsync()
 {
     foreach (var consumer in Consumers)
     {
         if (consumer.Value != null)
         {
             await SetValuesAsync(consumer.Value, _defaulsWhenOn);
         }
     }
     _lastValues = _defaulsWhenOn;
 }
Esempio n. 3
0
        public LampHandler()
        {
            Consumers = new Dictionary<string, LampStateConsumer>();
            _busAttachment = new AllJoynBusAttachment();
            _watcher = new LampStateWatcher(_busAttachment);
            _watcher.Added += OnWatcherAdded;
            _watcher.Start();

            _defaulsWhenOff = new LampValue() { On = false, Brightness = 100, ColorTemp = 9000, Hue = 260, Saturation = 100 };
            _defaulsWhenOn = new LampValue() { On = true, Brightness = 100, ColorTemp = 9000, Hue = 260, Saturation = 100 };
            _defaulsBeforeBlink = new LampValue() { On = true, Brightness = 100, ColorTemp = 9000, Hue = 260, Saturation = 100 };
            _lastValues = null;
        }
Esempio n. 4
0
 private async Task SetValuesAsync(LampStateConsumer consumer, LampValue values)
 {
     if (_lastValues == null || _lastValues.On != values.On) await consumer.SetOnOffAsync(values.On);
     if (_lastValues == null || _lastValues.Brightness != values.Brightness) await consumer.SetBrightnessAsync(getAbsoluteValue(values.Brightness));
     if (_lastValues == null || _lastValues.ColorTemp != values.ColorTemp) await consumer.SetColorTempAsync(getAbsoluteColorTemperatureValue(values.ColorTemp));
     if (_lastValues == null || _lastValues.Hue != values.Hue) await consumer.SetHueAsync(getAbsoluteHueValue(values.Hue));
     if (_lastValues == null || _lastValues.Saturation != values.Saturation) await consumer.SetSaturationAsync(getAbsoluteValue(values.Saturation));
 }
Esempio n. 5
0
 public async Task ControlLightsAsync(ControlMessage controlMsg)
 {
     foreach (var consumer in Consumers)
     {
         if (consumer.Value != null)
         {
             await SetValuesAsync(consumer.Value, controlMsg.LampValue);
         }
     }
     _lastValues = controlMsg.LampValue;
 }