From e6a26ee148587327478d9a82624a820c907b6e16 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 04 十一月 2020 14:58:15 +0800 Subject: [PATCH] 20201104 --- HDL_ON/Entity/Function/Curtain.cs | 69 +++++++++++++--------------------- 1 files changed, 26 insertions(+), 43 deletions(-) diff --git a/HDL_ON/Entity/Function/Curtain.cs b/HDL_ON/Entity/Function/Curtain.cs index 3edf564..6dded34 100644 --- a/HDL_ON/Entity/Function/Curtain.cs +++ b/HDL_ON/Entity/Function/Curtain.cs @@ -1,4 +1,5 @@ 锘縰sing System; +using System.Collections.Generic; using Newtonsoft.Json.Linq; namespace HDL_ON.Entity @@ -6,33 +7,48 @@ public class Curtain : Function { /* - 绐楀笜灞炴�у垪琛細trait: [switch,openLevel,lock] + 绐楀笜灞炴�у垪琛細trait: [switch,percent,lock] 灞炴�� 鎻忚堪 on_off on/off/stop; - openLevel 0-100; + percent 0-100; lock boolean (Lock閿佸畾鎺у埗) */ public Curtain() { - } + }//percent + [Newtonsoft.Json.JsonIgnore] + public Trait trait_percent; /// <summary> /// 寮�鍏崇櫨鍒嗘瘮 /// 0-100 /// </summary> [Newtonsoft.Json.JsonIgnore] - public int openLevel + public int percent { get { try { - string o = "0"; - dicPropert.TryGetValue("openLevel", out o); - return o == "" ? 0 : Convert.ToInt32(o); + if(trait_percent==null) + { + trait_percent = function.Find((obj) => obj.name == "percent"); + if (trait_percent == null) + { + trait_percent = new Trait() + { + name = "percent", + value_key = new List<string> { "up", "down" }, + max = 100, + min = 0, + }; + } + trait_percent.value = trait_percent.min; + } + return Convert.ToInt32( trait_percent.value); } catch { - MainPage.Log("openLevel 鏁版嵁鑾峰彇澶辫触."); + MainPage.Log("percent 鏁版嵁鑾峰彇澶辫触."); return 0; } } @@ -40,47 +56,14 @@ { try { - dicPropert["openLevel"] = value.ToString(); + trait_percent.value = value; } catch { - MainPage.Log("openLevel 鏁版嵁鍒锋柊澶辫触."); + MainPage.Log("percent 鏁版嵁鍒锋柊澶辫触."); } } } - - /// <summary> - /// 鎷兼帴銆佽幏鍙朅鍗忚鎿嶄綔鏁版嵁 - /// </summary> - public override JObject GetSendJObject(CommandType_A command) - { - var sendJob = new JObject(); - if (command == CommandType_A.write) - { - - sendJob = new JObject { { "vendor_code", vendor_code }, { "Command", command.ToString() }, { "Type", "device" } }; - JObject data = null; - switch (functionType) - { - case FunctionType.Curtain: - data = new JObject { { "on_off", on_off }, { "sid", sid } }; - break; - case FunctionType.MotorCurtain: - case FunctionType.RollingShutter: - data = new JObject { { "openLevel", openLevel}, { "sid", sid } }; - break; - } - sendJob.Add("objects", data); - } - else if (command == CommandType_A.read) - { - sendJob = new JObject { { "vendor_code", vendor_code }, { "Command", command.ToString() }, { "Type", "device" } }; - var data = new JObject { { "sid", sid } }; - sendJob.Add("objects", data); - } - return sendJob; - } - } } -- Gitblit v1.8.0