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; } } }