Пример #1
0
        public static void SetOn(string name, ushort value)
        {
            ControlBoolValueObject tempControlBoolValueObject = new ControlBoolValueObject();

            tempControlBoolValueObject.Characteristics[0]     = new ControlBoolValuePayload();
            tempControlBoolValueObject.Characteristics[0].AID = Fans[Fans.FindIndex(i => i.Name == name)].RemoteDeviceAID;
            tempControlBoolValueObject.Characteristics[0].IID = Fans[Fans.FindIndex(i => i.Name == name)].RemoteDeviceOnIID;
            if (value == 1)
            {
                tempControlBoolValueObject.Characteristics[0].Value = true;
            }
            var stringToSend = JsonConvert.SerializeObject(tempControlBoolValueObject);

            HBCrestron.hbHttpClient_SendRequest("characteristics", "", stringToSend);
        }
 public static void SetColorTemperature(string name, ushort value)
 {
     if (Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].SupportsColorTemperature == 1 &&
         Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].ColorTemperature != value)
     {
         ControlIntValueObject tempControlIntValueObject = new ControlIntValueObject();
         tempControlIntValueObject.Characteristics[0]     = new ControlIntValuePayload();
         tempControlIntValueObject.Characteristics[0].AID =
             Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].RemoteDeviceAID;
         tempControlIntValueObject.Characteristics[0].IID =
             Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].RemoteDeviceColorTemperatureIID;
         tempControlIntValueObject.Characteristics[0].Value = value;
         var stringToSend = JsonConvert.SerializeObject(tempControlIntValueObject);
         HBCrestron.hbHttpClient_SendRequest("characteristics", "", stringToSend);
     }
 }
 public static void SetRGB(string name, ushort red, ushort green, ushort blue)
 {
     if (Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].SupportsRGB == 1)
     {
         RGB tempRgb = new RGB((byte)red, (byte)green, (byte)blue);
         HSV tempHsv = HBLightbulbConversion.RGBtoHSV(tempRgb);
         if (Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].Hue != (ushort)tempHsv.H)
         {
             Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].Hue = (ushort)tempHsv.H;
             ControlIntValueObject tempControlIntValueObject = new ControlIntValueObject();
             tempControlIntValueObject.Characteristics[0]     = new ControlIntValuePayload();
             tempControlIntValueObject.Characteristics[0].AID =
                 Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].RemoteDeviceAID;
             tempControlIntValueObject.Characteristics[0].IID =
                 Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].RemoteDeviceHueIID;
             tempControlIntValueObject.Characteristics[0].Value = Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].Hue;
             var stringToSend = JsonConvert.SerializeObject(tempControlIntValueObject);
             HBCrestron.hbHttpClient_SendRequest("characteristics", "", stringToSend);
         }
         if (Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].Saturation != (ushort)tempHsv.S)
         {
             Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].Saturation = (ushort)tempHsv.S;
             ControlIntValueObject tempControlIntValueObject = new ControlIntValueObject();
             tempControlIntValueObject.Characteristics[0]     = new ControlIntValuePayload();
             tempControlIntValueObject.Characteristics[0].AID =
                 Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].RemoteDeviceAID;
             tempControlIntValueObject.Characteristics[0].IID =
                 Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].RemoteDeviceSaturationIID;
             tempControlIntValueObject.Characteristics[0].Value = Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].Saturation;
             var stringToSend = JsonConvert.SerializeObject(tempControlIntValueObject);
             HBCrestron.hbHttpClient_SendRequest("characteristics", "", stringToSend);
         }
         if (Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].Hue != (ushort)tempHsv.V)
         {
             Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].Hue = (ushort)tempHsv.V;
             ControlIntValueObject tempControlIntValueObject = new ControlIntValueObject();
             tempControlIntValueObject.Characteristics[0]     = new ControlIntValuePayload();
             tempControlIntValueObject.Characteristics[0].AID =
                 Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].RemoteDeviceAID;
             tempControlIntValueObject.Characteristics[0].IID =
                 Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].RemoteDeviceBrightnessIID;
             tempControlIntValueObject.Characteristics[0].Value = Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].Brightness;
             var stringToSend = JsonConvert.SerializeObject(tempControlIntValueObject);
             HBCrestron.hbHttpClient_SendRequest("characteristics", "", stringToSend);
         }
     }
 }
 public static void SetBrightness(string name, ushort value)
 {
     if (Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].SupportsBrightness == 1)
     {
         var newvalue = Math.Round(value / 655.35);
         // ReSharper disable once CompareOfFloatsByEqualityOperator This works, but could probably be written better
         if (newvalue != Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].Brightness)
         {
             var tempControlIntValueObject = new ControlIntValueObject();
             tempControlIntValueObject.Characteristics[0]     = new ControlIntValuePayload();
             tempControlIntValueObject.Characteristics[0].AID =
                 Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].RemoteDeviceAID;
             tempControlIntValueObject.Characteristics[0].IID =
                 Lightbulbs[Lightbulbs.FindIndex(i => i.Name == name)].RemoteDeviceBrightnessIID;
             tempControlIntValueObject.Characteristics[0].Value = (ushort)newvalue;
             var stringToSend = JsonConvert.SerializeObject(tempControlIntValueObject);
             HBCrestron.hbHttpClient_SendRequest("characteristics", "", stringToSend);
         }
     }
 }