using System;
using Newtonsoft.Json.Linq;
namespace HDL_ON.Entity
{
public class Curtain : Function
{
/*
窗帘属性列表:trait: [switch,openLevel,lock]
属性 描述
switch on/off/stop;
openLevel 0-100;
lock boolean (Lock锁定控制)
*/
public Curtain()
{
}
///
/// 窗帘状态
/// 0停;1开;2关
///
public byte state = 0;
///
/// 获取功能类型
///
///
protected override string GetFunctionType()
{
string type = "Curtain";
if (PropertyArray.Contains("curtaintype"))
{
type = "MotorCurtain";
if (PropertyArray.Contains("rollingshutter"))
{
type = "RollingShutter";
}
}
return type;
}
///
/// 拼接、获取A协议操作数据
///
public override JObject GetSendJObject(string command)
{
var sendJob = new JObject();
if (command == "write")
{
sendJob = new JObject { { "vendor_code", a_Protocol_Namespace }, { "Command", command }, { "Type", "device" } };
JObject data = null;
switch (functionType)
{
case "Curtain"://窗帘模块控制
data = new JObject { { "switch", state }, { "sid", sid } };
break;
case "MotorCurtain":
case "RollingShutter":
data = new JObject { { "openLevel", dicPropert["openLevel"] }, { "sid", sid } };
break;
}
sendJob.Add("objects", data);
}
else if (command == "read")
{
sendJob = new JObject { { "vendor_code", a_Protocol_Namespace }, { "Command", command }, { "Type", "device" } };
var data = new JObject { { "sid", sid } };
sendJob.Add("objects", data);
}
return sendJob;
}
}
}