From 22c5c030f2262b6a9d6840bf3b5196b7ab2d4dd5 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期二, 10 三月 2020 14:31:53 +0800 Subject: [PATCH] 2020-03-10 1.替换最新控件库,增加无网络监听,Loading效果优化。 2.电能插座修复点亮统计个数问题。 3 .定时检测网关是否在线,发送CheckGateway间隔为10S,收到主题刷新该时间,重置发送次数,发送次数到达3次以上,则判定网关为离线状态。 4.远程重复增加为3次,重发后等待5s才回调结果。 5.修复去掉普通继电器读电能操作。 6.读状态间隔缩短为200ms。 --- Crabtree/SmartHome/UI/SimpleControl/Phone/Light/UserDeviceToLight.cs | 37 +++++++++++++++++++------------------ 1 files changed, 19 insertions(+), 18 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Light/UserDeviceToLight.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Light/UserDeviceToLight.cs index d92a07e..2bc784b 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Light/UserDeviceToLight.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Light/UserDeviceToLight.cs @@ -62,11 +62,11 @@ var btn = (Button)lightRow.GetChildren (j); if (btn.Tag != null) { if (updataType == 10) { - if (btn.Tag.ToString () == DeviceType.LightEnergySocket.ToString () + "_Voltage" || btn.Tag.ToString () == DeviceType.LightEnergySwitch.ToString () + "_Voltage") { + if (btn.Tag.ToString () == DeviceType.LightEnergySwitch.ToString () + "_Voltage") { btn.Text = energy.ToString () + " W"; } } else if (updataType == 11) { - if (btn.Tag.ToString () == DeviceType.LightEnergySocket.ToString () + "_Electric" || btn.Tag.ToString () == DeviceType.LightEnergySwitch.ToString () + "_Electric") { + if (btn.Tag.ToString () == DeviceType.LightEnergySwitch.ToString () + "_Electric") { btn.Text = ((double)(Convert.ToDouble (energy) / 10)).ToString () + " kw.h"; } } @@ -600,7 +600,7 @@ } else if (common.Type == DeviceType.LightDimming || common.Type == DeviceType.LightDALI || common.Type == DeviceType.LightMixDimming) { LightCount++; lightList.Add (common); - } else if (common.Type == DeviceType.LightRGB || common.Type == DeviceType.LightEnergySwitch || common.Type == DeviceType.LightEnergySocket) {//2020-01-17 + } else if (common.Type == DeviceType.LightRGB || common.Type == DeviceType.LightEnergySwitch) {//2020-01-17 LightCount++; lightList.Add (common); } @@ -672,7 +672,7 @@ }; lightView.AddChidren (tempSwitch); - if (common.Type == DeviceType.LightEnergySwitch || common.Type == DeviceType.LightEnergySocket) { + if (common.Type == DeviceType.LightEnergySwitch) { Button btnEnergy = new Button () { Width = Application.GetRealWidth (90), Height = Application.GetRealHeight (30), @@ -713,11 +713,12 @@ //Control.ControlBytesSend (Command.SetSingleLight, light.SubnetID, light.DeviceID, new byte [] { sendLoopID, (byte)light.CurrentBrightness, light.DelayTimeHeight, light.DelayTimeLow }); SendControl.SendControlSetSingleLight (light, new byte [] { sendLoopID, (byte)mSetBrightness, light.DelayTimeHeight, light.DelayTimeLow }); - new System.Threading.Thread (() => { - Control.ControlBytesSend (Command.ReadAnalogValue, light.SubnetID, light.DeviceID, new byte [] { 10, light.LoopID }, SendCount.Zero); - Control.ControlBytesSend (Command.ReadAnalogValue, light.SubnetID, light.DeviceID, new byte [] { 11, light.LoopID }, SendCount.Zero); - }) { IsBackground = true }.Start (); - + if (common.Type == DeviceType.LightEnergySwitch) { + new System.Threading.Thread (() => { + Control.ControlBytesSend (Command.ReadAnalogValue, light.SubnetID, light.DeviceID, new byte [] { 10, light.LoopID }, SendCount.Zero); + Control.ControlBytesSend (Command.ReadAnalogValue, light.SubnetID, light.DeviceID, new byte [] { 11, light.LoopID }, SendCount.Zero); + }) { IsBackground = true }.Start (); + } }; if (light.CurrentBrightness == 100) { @@ -986,10 +987,10 @@ for (int i = 0; i < EnergtLightList.Count; i++) { var c = EnergtLightList [i]; Control.ControlBytesSend (Command.ReadAnalogValue, c.SubnetID, c.DeviceID, new byte [] { 10, c.LoopID }, SendCount.Zero); - if (c.Type == DeviceType.LightEnergySwitch) { + //if (c.Type == DeviceType.LightEnergySwitch) { Control.ControlBytesSend (Command.ReadAnalogValue, c.SubnetID, c.DeviceID, new byte [] { 11, c.LoopID }, SendCount.Zero); - } - System.Threading.Thread.Sleep (500); + //} + System.Threading.Thread.Sleep (200); } System.Threading.Thread.Sleep (10000); } catch { @@ -1077,7 +1078,7 @@ continue; } var list = room.DeviceList.FindAll ((obj) => { - return (obj.Type == DeviceType.LightDimming || obj.Type == DeviceType.LightSwitch || obj.Type == DeviceType.LightLogic || obj.Type == DeviceType.LightEnergySocket || obj.Type == DeviceType.LightEnergySwitch + return (obj.Type == DeviceType.LightDimming || obj.Type == DeviceType.LightSwitch || obj.Type == DeviceType.LightLogic || obj.Type == DeviceType.LightEnergySwitch || obj.Type == DeviceType.LightMixDimming || obj.Type == DeviceType.LightMixSwitch || obj.Type == DeviceType.FanModule); }); foreach (Common common in list) { @@ -1104,7 +1105,7 @@ //} var list = room.DeviceList.FindAll ((obj) => { return obj.LastUpdateTime.AddMinutes (Common.Time) <= DateTime.Now && (obj.Type == DeviceType.LightDimming || obj.Type == DeviceType.LightSwitch || obj.Type == DeviceType.LightLogic - || obj.Type == DeviceType.LightEnergySwitch || obj.Type == DeviceType.LightEnergySocket || obj.Type == DeviceType.LightMixDimming || obj.Type == DeviceType.LightMixSwitch || obj.Type == DeviceType.FanModule); + || obj.Type == DeviceType.LightEnergySwitch || obj.Type == DeviceType.LightMixDimming || obj.Type == DeviceType.LightMixSwitch || obj.Type == DeviceType.FanModule); }); foreach (Common common in list) { var s = common.Type + "_" + common.SubnetID + "_" + common.DeviceID; @@ -1113,8 +1114,8 @@ continue; } readList.Add (s); - Thread.Sleep (500); - Control.ControlBytesSendHasReturn (Command.ReadLightEquipmentAllLoopBrightness, common.SubnetID, common.DeviceID, new byte [] { }); + Thread.Sleep (200); + Control.ControlBytesSend (Command.ReadLightEquipmentAllLoopBrightness, common.SubnetID, common.DeviceID, new byte [] { }); } var listGRB = room.DeviceList.FindAll ((obj) => { return obj.LastUpdateTime.AddMinutes (Common.Time) <= DateTime.Now && (obj.Type == DeviceType.LightRGB); @@ -1126,8 +1127,8 @@ continue; } readList.Add (s); - Thread.Sleep (500); - Control.ControlBytesSendHasReturn (Command.ReadLogicLoopColor, common.SubnetID, common.DeviceID, new byte [] { common.LoopID }); + Thread.Sleep (200); + Control.ControlBytesSend (Command.ReadLogicLoopColor, common.SubnetID, common.DeviceID, new byte [] { common.LoopID }); } } -- Gitblit v1.8.0