From 5eeafe3af80bfd88306bd8ad9e76c8f4b51ca35f Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 14:16:20 +0800 Subject: [PATCH] 增加本地发送的重发机制 --- HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 344 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 335 insertions(+), 9 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index 87a0886..eedb16c 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -67,12 +67,12 @@ case FunctionType.Dimmer: case FunctionType.RGB: case FunctionType.RGBW: - case FunctionType.CCT: + case FunctionType.ColorTemperature: case FunctionType.Relay: //绐楀笜 case FunctionType.Curtain: - case FunctionType.RollerCurtain: - case FunctionType.TrietexCurtain: + case FunctionType.RollingShutter: + case FunctionType.MotorCurtain: //绌鸿皟 case FunctionType.AC: //鍦扮儹 @@ -163,7 +163,7 @@ public static void OutputTarget(FrameLayout thisView, VerticalScrolViewLayout viewLayout) { - for (int i = 0; i < Logic.currlogic.output.Count; i++) + for (int i = 0; i < Logic.currlogic.output.Count; i++) { Output outputTarget = Logic.currlogic.output[i]; ///鍚勭鏉′欢鐨刅iew @@ -188,24 +188,329 @@ targetView.btnText.Text = device.name; //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 targetView.btnText.Width = Application.GetRealWidth(80); + //绗竴涓彉閲忔樉绀虹姸鎬佸�� + string stateStr = ""; //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� switch (device.functionType) { case FunctionType.Relay: {//寮�鍏崇伅 + foreach (var dic in dicList) { - string value = dic["value"]; if (value == "on") { - targetView.btnState.Text = Language.StringByID(StringId.onLogic); + stateStr = Language.StringByID(StringId.onLogic); } else { - targetView.btnState.Text = Language.StringByID(StringId.offLogic); + stateStr = Language.StringByID(StringId.offLogic); } + } + targetView.btnState.Text = stateStr; + } + break; + case FunctionType.RGB: + case FunctionType.RGBW: + case FunctionType.ColorTemperature: + case FunctionType.Dimmer: + { + string on_off = GetKeyValue("on_off", dicList); + string brightness = GetKeyValue("brightness", dicList); + if (on_off != "") + { + if (on_off == "on") + { + stateStr = Language.StringByID(StringId.onLogic); + + } + else + { + stateStr = Language.StringByID(StringId.offLogic); + + } + } + if (brightness != "") + { + stateStr += brightness + "%"; + } + if (on_off != "" && on_off == "off") + { + targetView.btnState.Text = Language.StringByID(StringId.offLogic); + } + else + { + targetView.btnState.Text = stateStr; + + } + + } + break; + case FunctionType.Curtain: + {//寮�鍏崇伅 + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (value) + { + case "on": + { + stateStr = Language.StringByID(StringId.onLogic); + } + break; + case "off": + { + stateStr = Language.StringByID(StringId.offLogic); + } + break; + case "stop": + { + stateStr = Language.StringByID(StringId.stop); + } + break; + } + } + targetView.btnState.Text = stateStr; + } + break; + case FunctionType.MotorCurtain: + case FunctionType.RollingShutter: + {//寮�鍏崇伅 + string on_off = GetKeyValue("on_off", dicList); + string brightness = GetKeyValue("brightness", dicList); + if (on_off != "") + { + switch (on_off) + { + case "on": + { + stateStr = Language.StringByID(StringId.onLogic); + + } + break; + case "off": + { + stateStr = Language.StringByID(StringId.offLogic); + + } + break; + case "stop": + { + stateStr = Language.StringByID(StringId.stop); + } + break; + } + } + if (brightness != "") + { + stateStr += brightness + "%"; + + } + + if (on_off != "" && on_off == "stop"|| on_off != "" && on_off == "off") + { + targetView.btnState.Text = Language.StringByID(StringId.stop); + } + else + { + targetView.btnState.Text = stateStr; + + } + + } + break; + case FunctionType.AC: { + string on_off = GetKeyValue("on_off", dicList); + string set_temp = GetKeyValue("set_temp", dicList); + string mode = GetKeyValue("mode", dicList); + string fan = GetKeyValue("fan", dicList); + if (on_off != "") { + switch (on_off) + { + case "on": + { + stateStr = Language.StringByID(StringId.onLogic)+";"; + } + break; + case "off": + { + stateStr = Language.StringByID(StringId.offLogic) + ";"; + } + break; + + } + } + + if (set_temp != "") + { + + stateStr += set_temp + "鈩�;"; + } + + if (mode != "") + { + + switch (mode) + { + case "cool": + { + stateStr += Language.StringByID(StringId.coolLogic)+";"; + } + break; + case "heat": + { + stateStr += Language.StringByID(StringId.heatingLogic) + ";"; + } + break; + case "auto": + { + stateStr += Language.StringByID(StringId.autoLogic) + ";"; + } + break; + case "dry": + { + stateStr += Language.StringByID(StringId.dehumidifyLogic) + ";"; + } + break; + } + + } + + if (fan != "") + { + + switch (fan) + { + case "high": + { + stateStr += Language.StringByID(StringId.HighWindSpeed)+";"; + } + break; + case "medium": + { + stateStr += Language.StringByID(StringId.MiddleWindSpeed) + ";"; + } + break; + case "low": + { + stateStr += Language.StringByID(StringId.LowWindSpeed) + ";"; + } + break; + case "auto": + { + stateStr += Language.StringByID(StringId.Auto) + ";"; + } + break; + } + + } + if (on_off != "" && on_off == "off") + { + targetView.btnState.Text = Language.StringByID(StringId.offLogic); + } + else { + targetView.btnState.Text = stateStr.TrimEnd(';'); + + } + + } + break; + case FunctionType.FloorHeating: + { + string on_off = GetKeyValue("on_off", dicList); + string set_temp = GetKeyValue("set_temp", dicList); + string mode = GetKeyValue("mode", dicList); + if (on_off != "") + { + switch (on_off) + { + case "on": + { + stateStr = Language.StringByID(StringId.onLogic) + ";"; + } + break; + case "off": + { + stateStr = Language.StringByID(StringId.offLogic) + ";"; + } + break; + + } + } + if (set_temp != "") + { + + stateStr += set_temp + "鈩�;"; + } + if (mode != "") + { + + switch (mode) + { + case "day": + { + stateStr += Language.StringByID(StringId.dayMode)+";"; + } + break; + case "night": + { + stateStr += Language.StringByID(StringId.nightMode) + ";"; + } + break; + + case "away": + { + stateStr += Language.StringByID(StringId.leaveMode) + ";"; + } + break; + case "normal": + { + stateStr += Language.StringByID(StringId.ordinaryMode) + ";"; + } + break; + case "timer": + { + stateStr += Language.StringByID(StringId.timeMode) + ";"; + } + break; + } + + + switch (mode) + { + case "cool": + { + stateStr += Language.StringByID(StringId.coolLogic) + ";"; + } + break; + case "heat": + { + stateStr += Language.StringByID(StringId.heatingLogic) + ";"; + } + break; + case "auto": + { + stateStr += Language.StringByID(StringId.autoLogic) + ";"; + } + break; + case "dry": + { + stateStr += Language.StringByID(StringId.dehumidifyLogic) + ";"; + } + break; + } + + } + if (on_off != "" && on_off == "off") + { + targetView.btnState.Text =Language.StringByID(StringId.offLogic); + } + else + { + targetView.btnState.Text = stateStr.TrimEnd(';'); + } } break; @@ -228,7 +533,7 @@ foreach (var dic in dicList) { string value = dic["value"]; - targetView.btnText.Text =value; + targetView.btnText.Text = value; } } break; @@ -264,7 +569,7 @@ AddTarget addTarget = new AddTarget(); addTarget.Delayed(fLayout, edit, indexVulae); - + } break; } @@ -278,5 +583,26 @@ } } + /// <summary> + /// 鑾峰彇value閿�� + /// </summary> + /// <param name="keyValue"></param> + /// <param name="dicList"></param> + /// <returns></returns> + private static string GetKeyValue(string keyValue, List<Dictionary<string, string>> dicList) + { + + string valueStr = ""; + foreach (var dic in dicList) + { + if (dic["key"] == keyValue) + { + valueStr = dic["value"]; + break; + } + + } + return valueStr; + } } } -- Gitblit v1.8.0