New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Newtonsoft.Json.Linq; |
| | | |
| | | namespace ZigBee.Device |
| | | { |
| | | [System.Serializable] |
| | | public class ColorDimmableLight : LightBase |
| | | { |
| | | public ColorDimmableLight() |
| | | { |
| | | this.Type = DeviceType.ColorDimmableLight; |
| | | } |
| | | /// <summary> |
| | | /// 彩灯的类型 |
| | | /// </summary> |
| | | // public string ColorCapabilities; |
| | | |
| | | /// <summary> |
| | | /// 色度,取值范围:0-255 |
| | | /// </summary> |
| | | //public string Hue; |
| | | |
| | | /// <summary> |
| | | /// 亮度,整形,取值范围:0-254表示0%-100% |
| | | /// </summary> |
| | | //public string Level; |
| | | |
| | | /// <summary> |
| | | /// 饱和度,取值范围:0-255 |
| | | /// </summary> |
| | | //public string Saturation; |
| | | |
| | | /// <summary> |
| | | /// 标准色度值X (0-65535) |
| | | /// </summary> |
| | | //public string ColorX; |
| | | |
| | | /// <summary> |
| | | /// 标准色度值Y (0-65535) |
| | | /// </summary> |
| | | //public string ColorY; |
| | | |
| | | /// <summary> |
| | | /// 强型色调值 |
| | | /// </summary> |
| | | //public string EnhancedCurrentHue; |
| | | |
| | | /// <summary> |
| | | /// 读取当前饱色度 |
| | | /// </summary> |
| | | //public void ReadHue() |
| | | //{ |
| | | // ReadAttri(Device.Cluster_ID.ColorControl, AttriButeId.CurrentHue); |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// 读取当前饱和度值 |
| | | /// </summary> |
| | | //public void ReadSaturation() |
| | | //{ |
| | | // ReadAttri(Device.Cluster_ID.ColorControl, AttriButeId.CurrentSaturation); |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// 读取当前增强型色调值 |
| | | /// </summary> |
| | | //public void ReadEnhancedCurrentHue() |
| | | //{ |
| | | // ReadAttri(Device.Cluster_ID.ColorControl, AttriButeId.EnhancedCurrentHu); |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// 读取当前标准色度值X |
| | | /// </summary> |
| | | //public void ReadCurrentX() |
| | | //{ |
| | | // ReadAttri(Device.Cluster_ID.ColorControl, AttriButeId.CurrentX); |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// 读取当前标准色度值Y |
| | | /// </summary> |
| | | //public void ReadCurrentY() |
| | | //{ |
| | | // ReadAttri(Device.Cluster_ID.ColorControl, AttriButeId.CurrentY); |
| | | //} |
| | | |
| | | #region Hue |
| | | ///<summary > |
| | | ///设置指定设备色度(Hue) |
| | | ///<para>0:选最短的路径到达Hue</para> |
| | | ///<para>1:选最长的路径到达Hue</para> |
| | | ///<para>2:正方向到达Hue</para> |
| | | ///<para>3:反方向到达Hue</para> |
| | | /// </summary> |
| | | //public void SetHue(int value) |
| | | //{ |
| | | |
| | | // var jobject = new JObject { |
| | | // { "DeviceAddr", DeviceAddr }, |
| | | // { "Epoint", DeviceEpoint }, |
| | | // { "Cluster_ID", 768 }, |
| | | // { "Command", 0 }, |
| | | // { "SendMode", 2 } |
| | | // }; |
| | | // var data = new JObject { |
| | | // { "Hue", value }, |
| | | // { "Direction", 0 }, |
| | | // { "TransitionTime", 0 } |
| | | // }; |
| | | // jobject.Add("Data", data); |
| | | // Gateway?.Send("DeviceControl", Common.SecuritySet.Encryption(jobject.ToString())); |
| | | //} |
| | | |
| | | ///<summary > |
| | | /// Move Hue Command |
| | | ///<para>0:stop ,停止变化色调</para> |
| | | ///<para>1:up ,正方向变化色调</para> |
| | | ///<para>3:down,反方向变化色调</para> |
| | | /// </summary> |
| | | //public void MoveHue(int MoveMode) |
| | | //{ |
| | | // var jobject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 768 }, { "Command", 1 }, { "SendMode", 2 } }; |
| | | // var data = new JObject { { "MoveMode", MoveMode }, { "Rate", 10 } }; |
| | | // jobject.Add("Data", data); |
| | | // Gateway?.Send("DeviceControl", Common.SecuritySet.Encryption(jobject.ToString())); |
| | | //} |
| | | |
| | | ///<summary > |
| | | ///设置指定设备色度(Hue) |
| | | ///<para>Step Hue</para> |
| | | ///<para>1:up ,正方向变化色调</para> |
| | | ///<para>3:down,反方向变化色调</para> |
| | | /// </summary> |
| | | //public void StepHue(int StepMode) |
| | | //{ |
| | | // var jobject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 768 }, { "Command", 2 }, { "SendMode", 2 } }; |
| | | // var data = new JObject { { "StepMode", StepMode }, { "StepSize", 50 }, { "TransitionTime", 0 } }; |
| | | // jobject.Add("Data", data); |
| | | // Gateway?.Send("DeviceControl", Common.SecuritySet.Encryption(jobject.ToString())); |
| | | //} |
| | | |
| | | ///<summary > |
| | | ///设置色度和饱和度 |
| | | /// </summary> |
| | | //public void setHueAndStaturation(int Hue, int Saturation) |
| | | //{ |
| | | // var jobject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 768 }, { "Command", 6 }, { "SendMode", 2 } }; |
| | | // var data = new JObject { { "Hue", Hue }, { "Saturation", Saturation }, { "TransitionTime", 0 } }; |
| | | // jobject.Add("Data", data); |
| | | // Gateway?.Send("DeviceControl", Common.SecuritySet.Encryption(jobject.ToString())); |
| | | //} |
| | | #endregion |
| | | |
| | | #region Saturation |
| | | ///<summary > |
| | | ///设置指定设备饱和度(Saturation) |
| | | ///<para>Command</para> |
| | | ///<para>0:Move to Level Command</para> |
| | | ///<para>4:Move to Level Command(with On/ Off)</para> |
| | | /// </summary> |
| | | //public void SetSaturation(int value) |
| | | //{ |
| | | // var jobject = new JObject { |
| | | // { "DeviceAddr", DeviceAddr }, |
| | | // { "Epoint", DeviceEpoint }, |
| | | // { "Cluster_ID", 768 }, |
| | | // { "Command", 3 }, |
| | | // { "SendMode", 2 } |
| | | // }; |
| | | // var data = new JObject { |
| | | // { "Saturation", value }, |
| | | // { "TransitionTime", 0 } |
| | | // }; |
| | | // jobject.Add("Data", data); |
| | | // Gateway?.Send("DeviceControl", Common.SecuritySet.Encryption(jobject.ToString())); |
| | | //} |
| | | |
| | | ///<summary > |
| | | ///Move Saturation Command |
| | | ///<para>0:Stop ,停止变化饱和度</para> |
| | | ///<para>1:Up ,正方向变化,(颜色由白色变为其他色)</para> |
| | | ///<para>3:反方向变化(颜色由其他色变为白色)</para> |
| | | /// </summary> |
| | | //public void MoveUpSaturation(int MoveMode) |
| | | //{ |
| | | // var jobject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 768 }, { "Command", 4 }, { "SendMode", 2 } }; |
| | | // var data = new JObject { { "MoveMode", MoveMode }, { "Rate", 15 } }; |
| | | // jobject.Add("Data", data); |
| | | // Gateway?.Send("DeviceControl", Common.SecuritySet.Encryption(jobject.ToString())); |
| | | //} |
| | | |
| | | ///<summary > |
| | | ///Step Saturation Command |
| | | ///<para>1:up ,正方向变化</para> |
| | | ///<para>3:down ,反方向变化</para> |
| | | /// </summary> |
| | | //public void StepSaturation(int StepMode) |
| | | //{ |
| | | // var jobject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 768 }, { "Command", 5 }, { "SendMode", 2 } }; |
| | | // var data = new JObject { { "StepMode", StepMode }, { "StepSize", 50 }, { "TransitionTime", 0 } }; |
| | | // jobject.Add("Data", data); |
| | | // Gateway?.Send("DeviceControl", Common.SecuritySet.Encryption(jobject.ToString())); |
| | | //} |
| | | #endregion |
| | | } |
| | | } |
| | | |