using Newtonsoft.Json.Linq;
|
using System;
|
using System.Collections.Generic;
|
using System.Text;
|
|
namespace ZigBee.Device
|
{
|
/// <summary>
|
/// 色温灯
|
/// </summary>
|
public class ColorTemperatureLight : LightBase
|
{
|
public ColorTemperatureLight()
|
{
|
this.Type = DeviceType.ColorTemperatureLight;
|
}
|
|
/// <summary>
|
///亮度,整形,取值范围:0-254表示0%-100%
|
/// </summary>
|
[Newtonsoft.Json.JsonIgnore]
|
public int Level = 0;
|
|
/// <summary>
|
///色温,取值范围:3400~6000
|
/// </summary>
|
[Newtonsoft.Json.JsonIgnore]
|
public int ColorTemperature = 0;
|
|
/// <summary>
|
/// 读取亮度
|
/// </summary>
|
public void ReadLevel()
|
{
|
ReadAttri(Device.Cluster_ID.LevelControl, AttriButeId.LevelControl);
|
}
|
|
/// <summary>
|
/// 读取色温
|
/// </summary>
|
public void ReadColorTemperature()
|
{
|
ReadAttri(Device.Cluster_ID.ColorControl, AttriButeId.LevelControl);
|
}
|
|
///<summary >
|
///设置设备亮度(Level)
|
///<para>value:亮度值取值范围:0-254</para>
|
/// </summary>
|
public void SetLevel(int value)
|
{
|
var jObject = new JObject {
|
{ "DeviceAddr", DeviceAddr},
|
{ "Epoint", DeviceEpoint},
|
{ "Cluster_ID", 8 },
|
{ "Command", 4},
|
{ "SendMode", 2 }
|
};
|
var data = new JObject {
|
{ "Level", value },
|
{ "TransitionTime", 0 }
|
};
|
jObject.Add("Data", data);
|
Gateway?.Send("DeviceControl", jObject.ToString());
|
}
|
|
///<summary >
|
///设置设备色温
|
///<para>value:色温值取值范围:3400-6000</para>
|
/// </summary>
|
public void SetColorTemperature(int value)
|
{
|
var jObject = new JObject {
|
{ "DeviceAddr", DeviceAddr},
|
{ "Epoint", DeviceEpoint},
|
{ "Cluster_ID", 768 },
|
{ "Command", 10},
|
{ "SendMode", 2 }
|
};
|
var data = new JObject {
|
{ "ColorTemperature", value },
|
{ "TransitionTime", 0 }
|
};
|
jObject.Add("Data", data);
|
Gateway?.Send("DeviceControl", jObject.ToString());
|
}
|
}
|
}
|